Diff for /db/prgsrc/db.cgi between versions 1.5 and 1.9

version 1.5, 2000/10/19 23:04:46 version 1.9, 2000/10/23 01:23:35
Line 9  use POSIX qw(locale_h); Line 9  use POSIX qw(locale_h);
 my ($PWD) = `pwd`;  my ($PWD) = `pwd`;
 chomp $PWD;  chomp $PWD;
 my ($SRCPATH) = "$PWD/../dimrub/src";  my ($SRCPATH) = "$PWD/../dimrub/src";
 my ($ZIP) = "/usr/bin/zip";  my ($ZIP) = "/home/piataev/bin/zip";
   my $DUMPFILE = /tmp/dump.sql
 my ($SENDMAIL) = "/usr/sbin/sendmail";  my ($SENDMAIL) = "/usr/sbin/sendmail";
 my ($TMSECS) = 30*24*60*60;  my ($TMSECS) = 30*24*60*60;
 my (%RevMonths) =   my (%RevMonths) = 
Line 108  sub Search { Line 109  sub Search {
         my (@arr, @Questions, @fields);          my (@arr, @Questions, @fields);
         my (@sar, $i, $sth);          my (@sar, $i, $sth);
   
         push @fields, 'Question';  #       push @fields, 'Question';
         foreach (qw/Answer Sources Authors Comments/) {          foreach (qw/Question Answer Sources Authors Comments/) {
                 if (param($_)) {                  if (param($_)) {
                         push @fields, "IFNULL($_, '')";                          push @fields, "IFNULL($_, '')";
                 }                  }
Line 224  sub PrintTournament { Line 225  sub PrintTournament {
                 for ($Tournament{'Type'}) {                  for ($Tournament{'Type'}) {
                         /ç/ && do {                          /ç/ && do {
                                 $output .= h2({align=>"center"},                                   $output .= h2({align=>"center"}, 
                                         "çÒÕÐÐÁ: $Tournament{'Title'}") . p . "\n";                                                "çÒÕÐÐÁ: $Tournament{'Title'} ",
                                                 "$Tournament{'PlayedAt'}") . p . "\n";
                                 last;                                  last;
                         };                          };
                         /þ/ && do {                          /þ/ && do {
                                 return &PrintTour($dbh, $Tours[0], $answer)                                  return &PrintTour($dbh, $Tours[0], $answer)
                                         if ($#Tours == 0);                                          if ($#Tours == 0);
                                   
                                   my $title="ðÁËÅÔ: $Tournament{'Title'}";
                                   if ($Tournament{'PlayedAt'}) {
                                       $title .= " $Tournament{'PlayedAt'}";
                                   }
   
                                 $output .= h2({align=>"center"},                                   $output .= h2({align=>"center"}, 
                                         "þÅÍÐÉÏÎÁÔ: $Tournament{'Title'}") . p . "\n";                                          "$title") . p . "\n";
                                 last;                                  last;
                         };                          };
                         /ô/ && do {                          /ô/ && do {
Line 269  sub PrintTournament { Line 276  sub PrintTournament {
   
                 if ($SingleTour or $Tournament{'Type'} =~ /ô/) {                  if ($SingleTour or $Tournament{'Type'} =~ /ô/) {
                         $list .= dd(img({src=>$imgsrc, alt=>$alt})                          $list .= dd(img({src=>$imgsrc, alt=>$alt})
                                 . " " . $Tournament{'Title'} . $qnum) .                                   . " " . $Tournament{'Title'} . " " .
                                       $Tournament{'PlayedAt'} . $qnum) . 
                                 dl(                                  dl(
                                         dd("["                                          dd("["
                                                 . a({href=>url .  "?tour=$Tournament{'Id'}&answer=0"},                                                  . a({href=>url .  "?tour=$Tournament{'Id'}&answer=0"},
Line 282  sub PrintTournament { Line 290  sub PrintTournament {
                                 img({src=>'/icons/compressed.gif', alt=>'[ZIP]', border=>1}))                                  img({src=>'/icons/compressed.gif', alt=>'[ZIP]', border=>1}))
                                 . " " . img({src=>$imgsrc, alt=>$alt})                                   . " " . img({src=>$imgsrc, alt=>$alt}) 
                                 . " " . a({href=>url . "?tour=$Tournament{'Id'}&answer=0"},                                   . " " . a({href=>url . "?tour=$Tournament{'Id'}&answer=0"}, 
                                 $Tournament{'Title'}) . $qnum);                                  $Tournament{'Title'}. " ". 
                                             $Tournament{'PlayedAt'}) . $qnum);
                 }                  }
         }          }
         $output .= dl($list);          $output .= dl($list);
Line 337  sub PrintTour { Line 346  sub PrintTour {
         my ($suffix) = &Suffix($qnum);           my ($suffix) = &Suffix($qnum); 
                   
         $output .= h2({align=>"center"}, $Tournament{"Title"},           $output .= h2({align=>"center"}, $Tournament{"Title"}, 
                         $Tournament{'PlayedAt'},
                       "<br>", $Tour{"Title"} .                         "<br>", $Tour{"Title"} . 
                 " ($qnum ×ÏÐÒÏÓ$suffix)\n") . p;                  " ($qnum ×ÏÐÒÏÓ$suffix)\n") . p;
   
Line 415  sub PrintQuestion { Line 425  sub PrintQuestion {
                         my (%Tournament) = GetTournament($dbh, $Tour{'ParentId'});                          my (%Tournament) = GetTournament($dbh, $Tour{'ParentId'});
                         $titles .=                          $titles .=
                                 dd(img({src=>"/icons/folder.open.gif"}) . " " .                                  dd(img({src=>"/icons/folder.open.gif"}) . " " .
                                          a({href=>url . "?tour=$Tournament{'Id'}"}, $Tournament{'Title'}));                                           a({href=>url . "?tour=$Tournament{'Id'}"}, $Tournament{'Title'}, $Tournament{'PlayedAt'}));
                         $titles .=                          $titles .=
                                 dl(dd(img({src=>"/icons/folder.open.gif"}) . " " .                                  dl(dd(img({src=>"/icons/folder.open.gif"}) . " " .
                                         a({href=>url . "?tour=$Tour{'Id'}"}, $Tour{'Title'})));                                          a({href=>url . "?tour=$Tour{'Id'}"}, $Tour{'Title'})));
Line 471  sub Get12Random { Line 481  sub Get12Random {
                                 WHERE QuestionId=$q");                                  WHERE QuestionId=$q");
                         $sth->execute;                          $sth->execute;
                         $t = ($sth->fetchrow)[0];                          $t = ($sth->fetchrow)[0];
                 } until !$chosen{$q} && $t =~ /$type/;                  } until !$chosen{$q} && $type =~ /[$t]/;
                 $chosen{$q} = 'y';                  $chosen{$q} = 'y';
                 push @questions, $q;                  push @questions, $q;
         }          }
Line 527  sub PrintAll { Line 537  sub PrintAll {
         } else {          } else {
                 $output .= dd(img({src=>"/icons/folder.gif", alt=>"[*]"}) .                  $output .= dd(img({src=>"/icons/folder.gif", alt=>"[*]"}) .
       " " . a({href=>url . "?tour=$Tournament{'Id'}&answer=0"},        " " . a({href=>url . "?tour=$Tournament{'Id'}&answer=0"},
       $Tournament{'Title'}) . " $New");        $Tournament{'Title'}) ." " . $Tournament{'PlayedAt'} . " $New");
         }          }
         if ($Id == 0 or $Tournament{'Type'} =~ /ç/) {          if ($Id == 0 or $Tournament{'Type'} =~ /ç/) {
                 for ($i = 0; $i <= $#Tours; $i++) {                  for ($i = 0; $i <= $#Tours; $i++) {
Line 561  sub PrintDates { Line 571  sub PrintDates {
                 %Tournament = &GetTournament($dbh, $array[0]);                  %Tournament = &GetTournament($dbh, $array[0]);
       $list .= dd(img({src=>"/icons/folder.gif", alt=>"[*]"}) .        $list .= dd(img({src=>"/icons/folder.gif", alt=>"[*]"}) .
       " " . a({href=>url . "?tour=$Tournament{'Id'}&answer=0"},        " " . a({href=>url . "?tour=$Tournament{'Id'}&answer=0"},
       $Tournament{'Title'}));        $Tournament{'Title'}, $Tournament{'PlayedAt'}));
         }          }
         $output .= dl($list);          $output .= dl($list);
         return $output;          return $output;
Line 594  MAIN: Line 604  MAIN:
         }          }
   
         if (param('rand')) {          if (param('rand')) {
                 my ($type, $qnum) = ('þ', 12);                  my ($type, $qnum) = ('', 12);
                 $type = 'â' if (param('brain'));                  $type .= 'â' if (param('brain'));
                   $type .= 'þ' if (param('chgk'));
                 $qnum = param('qnum') if (param('qnum') =~ /^\d+$/);                      $qnum = param('qnum') if (param('qnum') =~ /^\d+$/);    
                   $qnum = 0 if (!$type);
                 if (param('email') && -x $SENDMAIL &&                   if (param('email') && -x $SENDMAIL && 
                 open(F, "| $SENDMAIL -t -n")) {                  open(F, "| $SENDMAIL -t -n")) {
                         my ($Email) = param('email');                          my ($Email) = param('email');
                         my ($mime_type) = $text ? "plain" : "html";                          my ($mime_type) = $text ? "plain" : "html";
                         print F <<EOT;                          print F <<EOT;
 To: $Email  To: $Email
 From: dimrub\@icomverse.com  From: olegstemanov\@mail.ru
 Subject: Sluchajnij Paket Voprosov "Chto? Gde? Kogda?"  Subject: Sluchajnij Paket Voprosov "Chto? Gde? Kogda?"
 MIME-Version: 1.0  MIME-Version: 1.0
 Content-type: text/$mime_type; charset="koi8-r"  Content-type: text/$mime_type; charset="koi8-r"
Line 623  EOT Line 635  EOT
         } elsif (param('from_year') && param('to_year')) {          } elsif (param('from_year') && param('to_year')) {
                 print &PrintDates($dbh);                          print &PrintDates($dbh);        
         } elsif (param('comp')) {          } elsif (param('comp')) {
                 print header(              print header(
                         -'Content-Type' => 'application/x-zip-compressed; name="db.zip"',                           -'Content-Type' => 'application/x-zip-compressed; name="db.zip"',
                         -'Content-Disposition' => 'attachment; filename="db.zip"'                           -'Content-Disposition' => 'attachment; filename="db.zip"'
                 );                           );
                 $tour = (param('tour')) ? param('tour') : 0;              $tour = (param('tour')) ? param('tour') : 0;
                 my (@files) = &PrintArchive($dbh, $tour);              my (@files) = &PrintArchive($dbh, $tour);
                 open F, "$ZIP -j - $SRCPATH/COPYRIGHT @files |";              open F, "$ZIP -j - $SRCPATH/COPYRIGHT @files |";
                 print (<F>);              print (<F>);
                 close F;              close F;
                 $dbh->disconnect;              $dbh->disconnect;
                 exit;              exit;
           } elsif (param('sqldump')) {
               print header(
                            -'Content-Type' => 'application/x-zip-compressed; name="dump.zip"',
                            -'Content-Disposition' => 'attachment; filename="dump.zip"'
                            );
               if (! -f $DUMPFILE) {
                   `mysqldump -u piataev chgk > $DUMPFILE`;
               }
               open F, "$ZIP -j - $DUMPFILE |";
               print (<F>);
               close F;
               $dbh->disconnect;
               exit;
   
         } else {          } else {
                 $tour = (param('tour')) ? param('tour') : 0;                  $tour = (param('tour')) ? param('tour') : 0;
                 if ($tour !~ /^[0-9]*$/) {                  if ($tour !~ /^[0-9]*$/) {

Removed from v.1.5  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>