--- register/prgsrc/register.cgi 2001/09/11 22:27:12 1.6 +++ register/prgsrc/register.cgi 2002/01/28 17:00:56 1.10 @@ -20,11 +20,11 @@ Boris Veytsman =head1 DATE -$Date: 2001/09/11 22:27:12 $ +$Date: 2002/01/28 17:00:56 $ =head1 REVISION -$Revision: 1.6 $ +$Revision: 1.10 $ =cut @@ -42,10 +42,10 @@ use POSIX qw(locale_h); setlocale(LC_CTYPE,'russian'); $ENV{'LANG'}='ru_RU.KOI8-R'; my ($SENDMAIL) = "/usr/sbin/sendmail"; -my $TO = 'borisv@lk.net, igra@gorlovka.net'; +my $TO = 'borisv@lk.net, igra@gorlovka.net, erudit@mail.od.ua'; my $FROM = 'borisv@lk.net'; -my $date='$Date: 2001/09/11 22:27:12 $'; +my $date='$Date: 2002/01/28 17:00:56 $'; $date =~ s/[^ ]* ([^ ]*) .*/$1/; @@ -58,7 +58,7 @@ my $dbh = DBI->connect("DBI:mysql:chgk", die "Can't connect to DB chgk\n"; }; -print header; +print header(-charset=>'koi8-r'); ################################################## @@ -87,9 +87,11 @@ my $self=url(); ############################################### print < +
Home
Все регионы
Все клубы
Добавить клуб
+
Кто есть кто
END ################################################# @@ -147,6 +149,16 @@ END $cid =~ s/(\d*)/$1/; print ClubInfo(dbh=>$dbh,cid=>$cid, self=>$self); + } elsif (param('pid')) { + my $pid = param('pid'); + $pid =~ s/(\d*)/$1/; + print ListPerson(dbh=>$dbh,pid=>$pid, + self=>$self, + positions=>1, + displayperson=>1); + } elsif (param('whoiswho')) { + print PrintWhoIsWho(dbh=>$dbh, + self=>$self); } elsif (param('addclub')) { print AddClub(); } elsif (param('Submit')) { @@ -158,15 +170,26 @@ END
Все клубы
Добавить клуб или изменить сведения о клубе
+
Кто есть кто
+

+END +print &Include_virtual("../boris/register/regions.html"); +print < END } #################################################################### # And the bottom of the page ################################################################### + my $sth=$dbh->prepare("select count(*) from Clubs"); + $sth->execute; + my ($count) = $sth->fetchrow_array; + $sth->finish; print "

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

\n"; @@ -236,6 +259,7 @@ SELECT Name FROM Regions WHERE RID=$args # Frist, we print clubs if ($args{'clubs'}) { + $result .= ListRegionURLs(%args); $result .= ListClubs(%args); } $sth=$args{'dbh'}->prepare(" @@ -264,6 +288,37 @@ SELECT rid FROM Regions WHERE $clause OR } ############################################################ +# List the URLs of a given region +########################################################### +sub ListRegionURLs { + my %args = @_; + my $sth; + $sth = $args{'dbh'}->prepare(" +SELECT URL FROM Regions WHERE rid=$args{'rid'} and NOT ISNULL(URL)"); + + $sth->execute; + + if (!$sth->rows) { + return ""; + } + + my $result; + + $result=<
Странички:
+
\n +END + + while (my ($string)=$sth->fetchrow_array) { + $string=htmlize($string); + $result .= p($string); + } + $result .= "
\n"; + return $result; +} + + +############################################################ # List the clubs of a given region or a given association ########################################################### sub ListClubs { @@ -289,7 +344,7 @@ SELECT cid FROM ClubRegion WHERE rid=$ar $result=<Клубы: -
\n +
\n END } else { @@ -333,7 +388,7 @@ SELECT Parent FROM ClubClub WHERE Child= $result=<Коллективный член ассоциаций: -
\n +
\n END my @clubs=(); @@ -490,10 +545,16 @@ SELECT * FROM People WHERE pid=$args{'pi return ""; } + my $result=""; my @entries=(); my $person=$sth->fetchrow_hashref; if (my $string = $person->{'Name'}) { - push @entries, $string; + if ($args{'displayperson'}) { + $result=h2($string); + } else { + push @entries, + "$string"; + } } if (my $string=$person->{'Address'}) { push @entries, "Адрес: $string"; @@ -517,7 +578,25 @@ SELECT * FROM People WHERE pid=$args{'pi push @entries, "E-mail: $string"; } - return p(join('; ',@entries)."."); + $result.=p(join('; ',@entries)."."); + if ($args{'positions'}) { + my $sth=$dbh->prepare("SELECT cid,Position FROM ClubPeople +WHERE pid=$args{'pid'} ORDER by Weight"); + $sth->execute; + $result .= "
\n"; + while (my ($cid,$Position)=$sth->fetchrow_array) { + my $sth1=$dbh->prepare("Select Name from Clubs where +cid=$cid"); + $sth1->execute; + my ($Name)=$sth1->fetchrow_array; + $sth1->finish; + $result .= "
$Position, "; + $result .= "$Name
\n"; + } + $sth->finish; + $result .= "
\n"; + } + return $result; } @@ -688,7 +767,7 @@ sub AddClub { # Sending the letter with results ##################################################################### sub SendLetter { - open(MAIL,"| $SENDMAIL -t -n"); + open(MAIL,"| $SENDMAIL -t"); print MAIL <prepare("SELECT pid,Name FROM People ORDER BY Name"); + $sth->execute; + while (my($pid,$Name)=$sth->fetchrow_array) { + $result .= dd("$Name"); + $result .= "\n"; + } + $sth->finish; + $result .= "
\n"; + return $result; +}