--- register/prgsrc/register.cgi 2002/11/18 03:36:26 1.14 +++ register/prgsrc/register.cgi 2011/05/09 02:22:01 1.20 @@ -20,11 +20,11 @@ Boris Veytsman =head1 DATE -$Date: 2002/11/18 03:36:26 $ +$Date: 2011/05/09 02:22:01 $ =head1 REVISION -$Revision: 1.14 $ +$Revision: 1.20 $ =cut @@ -38,26 +38,35 @@ use vars qw(%ENV); use CGI qw(:standard); use DBI; use POSIX qw(locale_h); +use locale; -setlocale(LC_CTYPE,'russian'); +my $thislocale; +if ($^O =~ /win/i) { + $thislocale = "Russian_Russia.20866"; +} else { + $thislocale = "ru_RU.KOI8-R"; +} +POSIX::setlocale( &POSIX::LC_ALL, $thislocale ); $ENV{'LANG'}='ru_RU.KOI8-R'; my ($SENDMAIL) = "mail"; -my $TO = 'borisv@lk.net, igra@gorlovka.net, erudit@mail.od.ua'; +my $TO = 'borisv@lk.net'; my $FROM = 'borisv@lk.net'; -my $date='$Date: 2002/11/18 03:36:26 $'; +my $date='$Date: 2011/05/09 02:22:01 $'; $date =~ s/[^ ]* ([^ ]*) .*/$1/; -my $dbh = DBI->connect("DBI:mysql:chgk", "piataev", "") +my $dbh = DBI->connect("DBI:mysql:register", "piataev", "") or do { print h1("Временные проблемы") . "База данных временно не работает. Заходите попозже."; - print &Include_virtual("../dimrub/db/reklama.html"); + print &Include_virtual("../../dimrub/db/reklama.html"); print end_html; die "Can't connect to DB chgk\n"; }; + $dbh->do("set names koi8r"); + print header(-charset=>'koi8-r'); @@ -66,12 +75,12 @@ print header(-charset=>'koi8-r'); ################################################## print start_html(-"title"=>'Register of Clubs', -author=>'borisv@lk.net', - -background=>"../images/map.jpg"); -print &Include_virtual("../dimrub/db/reklama.html"); + -background=>"../../images/map.jpg"); +print &Include_virtual("../../dimrub/db/reklama.html"); print < - + END ################################################ @@ -125,8 +134,8 @@ END

Журнал "Игра"
и
-Интернет Клуб Что? Где? Когда?
ПРЕДСТАВЛЯЮТ
Регистр Клубов Интеллектуальных Игр @@ -174,7 +183,7 @@ END

END -print &Include_virtual("../boris/register/regions.html"); +print &Include_virtual("../../boris/register/regions.html"); print < END @@ -189,17 +198,14 @@ END $sth->finish; print "

"; - print "Всего клубов: $count
\n"; - print "Эту страничку посмотрели "; - print `/home/piataev/public_html/cgi-bin/counter.sh /znatoki/cgi-bin/register.cgi`; - print " раз(а)

\n"; + print "Всего клубов: $count

\n"; print <
-owl +owl -Boris Veytsman, $date +Boris Veytsman
@@ -326,7 +332,7 @@ sub ListClubs { my $sth; if ($args{'cid'}) { $sth = $args{'dbh'}->prepare(" -SELECT Child FROM ClubClub WHERE Parent=$args{'cid'}"); +SELECT Child, Status FROM ClubClub WHERE Parent=$args{'cid'}"); } else { $sth = $args{'dbh'}->prepare(" SELECT cid FROM ClubRegion WHERE rid=$args{'rid'}"); @@ -353,15 +359,23 @@ END END } my @clubs=(); - while (my ($club)=$sth->fetchrow_array) { + my %stat=(); + while (my ($club,$status)=$sth->fetchrow_array) { push @clubs,"cid=$club"; + if ($status) { + $stat{$club}=$status; + } } my $clause = join(' OR ', @clubs); $sth=$args{'dbh'}->prepare(" SELECT cid, Name FROM Clubs WHERE $clause ORDER BY Name"); $sth->execute; while (my ($cid,$Name)=$sth->fetchrow_array) { - $result .= li("$Name\n"); + my $res="$Name\n"; + if (exists $stat{$cid}) { + $res .= " ($stat{$cid})\n"; + } + $result .= li($res); } $result .= "\n"; } @@ -375,7 +389,7 @@ sub ListParents { my $sth; $sth = $args{'dbh'}->prepare(" -SELECT Parent FROM ClubClub WHERE Child=$args{'cid'}"); +SELECT Parent, Status FROM ClubClub WHERE Child=$args{'cid'}"); $sth->execute; @@ -391,15 +405,23 @@ SELECT Parent FROM ClubClub WHERE Child= END my @clubs=(); - while (my ($club)=$sth->fetchrow_array) { + my %stat=(); + while (my ($club,$status)=$sth->fetchrow_array) { push @clubs,"cid=$club"; + if ($status) { + $stat{$club}=$status; + } } my $clause = join(' OR ', @clubs); $sth=$args{'dbh'}->prepare(" SELECT cid, Name FROM Clubs WHERE $clause ORDER BY Name"); $sth->execute; while (my ($cid,$Name)=$sth->fetchrow_array) { - $result .= dt("$Name\n"); + my $res = "$Name\n"; + if (exists $stat{$cid}) { + $res .= " ($stat{$cid})\n"; + } + $result .= dt($res); } $result .= "\n"; } @@ -516,7 +538,7 @@ sub htmlize { sub ListPeople { my %args = @_; my $sth = $args{'dbh'}->prepare(" -SELECT pid,Position FROM ClubPeople WHERE cid=$args{'cid'} ORDER BY Weight DESC"); +SELECT a.pid,a.Position FROM ClubPeople=a,People=b WHERE a.cid=$args{'cid'} and a.pid=b.pid ORDER BY a.Weight Desc, b.Name"); $sth->execute; if (!$sth->rows) { @@ -726,23 +748,23 @@ sub AddClub { -size=> 60)])), ); - $result .= h3("Дополнительные вопросы"); - $result .= table( +# $result .= h3("Дополнительные вопросы"); +# $result .= table( - Tr(td(["Что вам больше всего нравится в журнале 'Игра'?", - textarea(-name=>'IgraA', - -rows=>5, - -columns=>60)])), - Tr(td(["Что вам больше всего не нравится в журнале 'Игра'?", - textarea(-name=>'IgraB', - -rows=>5, - -columns=>60)])), - Tr(td(["Что бы вы хотели увидеть в журнале 'Игра' - то -чего нет в настоящее время?", - textarea(-name=>'IgraC', - -rows=>5, - -columns=>60)])), - ); +# Tr(td(["Что вам больше всего нравится в журнале 'Игра'?", +# textarea(-name=>'IgraA', +# -rows=>5, +# -columns=>60)])), +# Tr(td(["Что вам больше всего не нравится в журнале 'Игра'?", +# textarea(-name=>'IgraB', +# -rows=>5, +# -columns=>60)])), +# Tr(td(["Что бы вы хотели увидеть в журнале 'Игра' - то +# чего нет в настоящее время?", +# textarea(-name=>'IgraC', +# -rows=>5, +# -columns=>60)])), +# ); $result .= h3("Кто регистрировал"); $result .= table( @@ -777,7 +799,8 @@ END if ($value =~ /^\s*$/) { next; } - print MAIL "$key=$value\n\n"; + $value =~ s/'/\\'/g; + print MAIL "$key=\'$value\'\n\n"; }