Diff for /db/prgsrc/db.cgi between versions 1.151 and 1.152

version 1.151, 2008/11/29 08:51:29 version 1.152, 2009/05/02 21:23:07
Line 71  $outputkvo=100 if $outputkvo>100; Line 71  $outputkvo=100 if $outputkvo>100;
   
 if (param('debug')) {$debug=1; $printqueries=1}  if (param('debug')) {$debug=1; $printqueries=1}
 *STDERR=*STDOUT if $debug;  *STDERR=*STDOUT if $debug;
 if ($url !~ /db\.chgk\.info/ && $url !~ /localhost/ && $url !~ /bilbo/ && $url !~ /zaba/ && $url !~ /question\.chgk\.info/ ) {  if ($url!~ /\/\/db\// && $url !~ /db\.chgk\.info/ && $url !~ /localhost/ && $url !~ /bilbo/ && $url !~ /zaba/ && $url !~ /question\.chgk\.info/ ) {
    my $u="http://db.chgk.info/cgi-bin/db.cgi?$qs";     my $u="http://db.chgk.info/cgi-bin/db.cgi?$qs";
    Redirect ($u);     Redirect ($u);
    exit;     exit;
Line 214  sub fetchquestion { Line 214  sub fetchquestion {
         if ($WithTour) {          if ($WithTour) {
                 ($$q{'QuestionId'}, $$q{'Question'},$$q{'Answer'},$$q{'PassCriteria'},$$q{'Comments'},$$q{'Authors'},$$q{'Sources'},                  ($$q{'QuestionId'}, $$q{'Question'},$$q{'Answer'},$$q{'PassCriteria'},$$q{'Comments'},$$q{'Authors'},$$q{'Sources'},
                 $$q{'Number'},                   $$q{'Number'}, 
                 $$q{'Title'}, $$q{'TourTitle'}, $$q{'FileName'},$$q{'PlayedAt'},$$q{'TourNumber'}) =                   $$q{'Title'}, $$q{'TourTitle'}, $$q{'FileName'},$$q{'PlayedAt'},$$q{'TourNumber'},$$q{'PlayedAt2'}) = 
                 $sth->fetchrow;                  $sth->fetchrow;
         } else {          } else {
                 ($$q{'QuestionId'}, $$q{'Question'},$$q{'Answer'},$$q{'PassCriteria'},$$q{'Comments'},$$q{'Authors'},$$q{'Sources'},                  ($$q{'QuestionId'}, $$q{'Question'},$$q{'Answer'},$$q{'PassCriteria'},$$q{'Comments'},$$q{'Authors'},$$q{'Sources'},
Line 241  sub SelectQuestions { Line 241  sub SelectQuestions {
         if ($WithTour) {          if ($WithTour) {
                 $query="SELECT QuestionId, Questions.Question, Answer, PassCriteria, Comments, Authors, Sources,                  $query="SELECT QuestionId, Questions.Question, Answer, PassCriteria, Comments, Authors, Sources,
                         Questions.Number                          Questions.Number
                         , t2.Title, t1.Title, t2.FileName,  t2.PlayedAt,t1.Number                          , t2.Title, t1.Title, t2.FileName,  t2.PlayedAt,t1.Number,t2.PlayedAt2
                         from Questions,Tournaments as t1, Tournaments as t2                           from Questions,Tournaments as t1, Tournaments as t2 
                         WHERE $where";                          WHERE $where";
         } else {          } else {
Line 385  sub printform Line 385  sub printform
 return     return   
 <<EOT  <<EOT
 <form method="get" enctype="application/x-www-form-urlencoded"  <form method="get" enctype="application/x-www-form-urlencoded"
 action="/znatoki/cgi-bin/db.cgi">  action="/cgi-bin/db.cgi">
 <h2>Поиск в базе вопросов</h2>  <h2>Поиск в базе вопросов</h2>
   
 <input type="text" name="sstr" value="$sstr" size="30" maxlength="50">   <input type="text" name="sstr" value="$sstr" size="30" maxlength="50"> 
Line 1097  sub PrintTournament { Line 1097  sub PrintTournament {
                         /Г/ && do {                          /Г/ && do {
                                 $output .= h2({align=>"center"},                                  $output .= h2({align=>"center"},
                                               "Группа: $Tournament{'Title'} ",                                                "Группа: $Tournament{'Title'} ",
                                               $Tournament{'PlayedAt'}||'') . p . "\n";                                                $Tournament{'PlayedAt'}||'') . 
                                                 ($Tournament{'PlayedAt2'}?'&nbsp;&ndash; '.
                                                   $Tournament{'PlayedAt2'}:'') . 
                                                 
                                                 p . "\n";
                                 last;                                  last;
                         };                          };
                         /Ч/ && do {                          /Ч/ && do {
Line 1109  sub PrintTournament { Line 1113  sub PrintTournament {
                                     $title .= " $Tournament{'PlayedAt'}";                                      $title .= " $Tournament{'PlayedAt'}";
                                 }                                  }
   
                                   if ($Tournament{'PlayedAt2'}) {
                                       $title .= '&nbsp;&ndash; '.$Tournament{'PlayedAt2'};
                                   }
   
                                 $output .= h2({align=>"center"},                                  $output .= h2({align=>"center"},
                                         "$title") . p . "\n";                                          "$title") . p . "\n";
                                $output.=&PrintEditor(\%Tournament);                                 $output.=&PrintEditor(\%Tournament);
Line 1175  sub PrintTournament { Line 1183  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'} . " " .                                  . " " . $Tournament{'Title'} . " " .
                                     ($Tournament{'PlayedAt'}||"") . $qnum) .                                      ($Tournament{'PlayedAt'}||"") . 
                                       ($Tournament{'PlayedAt2'}?'&nbsp;&ndash; '.$Tournament{'PlayedAt2'}:"") .
                                       $qnum) .
                                 dl(                                  dl(
                                         dd("["                                          dd("["
                                                 . a({href=>tourhref($textid,0)},                                                  . a({href=>tourhref($textid,0)},
Line 1191  sub PrintTournament { Line 1201  sub PrintTournament {
                                 img({src=>$imgsrc, alt=>$alt})                                  img({src=>$imgsrc, alt=>$alt})
                                 . " " . a({href=>tourhref($textid,0,1)},                                  . " " . a({href=>tourhref($textid,0,1)},
                                 $Tournament{'Title'}. " ".                                  $Tournament{'Title'}. " ".
                                           ($Tournament{'PlayedAt'}||'')) . $qnum);                                             ($Tournament{'PlayedAt'}||'')) .
                                             ($Tournament{'PlayedAt2'}?'&nbsp;&ndash '. $Tournament{'PlayedAt2'}:''). $qnum); 
                 }                  }
         }          }
         $output .= dl($list);          $output .= dl($list);
Line 1284  sub PrintTour { Line 1295  sub PrintTour {
   
         $output .= h2({align=>"center"}, $Tournament{"Title"},          $output .= h2({align=>"center"}, $Tournament{"Title"},
                       $Tournament{'PlayedAt'}||'',                        $Tournament{'PlayedAt'}||'',
                         $Tournament{'PlayedAt2'}?'&nbsp;&ndash; '.$Tournament{'PlayedAt2'}:'',
                       "<br>\n", $Tour{"Title"} .                        "<br>\n", $Tour{"Title"} .
                 " ($qnum вопрос$suffix)\n") . p;                  " ($qnum вопрос$suffix)\n") . p;
         $output .=&PrintEditor(\%Tour);          $output .=&PrintEditor(\%Tour);
Line 1413  sub PrintQuestion { Line 1425  sub PrintQuestion {
                         $Question{'FileName'}=$Tournament{'FileName'};                          $Question{'FileName'}=$Tournament{'FileName'};
                         $Question{'Title'}=$Tournament{'Title'};                          $Question{'Title'}=$Tournament{'Title'};
                         $Question{'PlayedAt'}=$Tournament{'PlayedAt'};                          $Question{'PlayedAt'}=$Tournament{'PlayedAt'};
                           $Question{'PlayedAt2'}=$Tournament{'PlayedAt2'};                        
                         $Question{'TourNumber'}=$Tour{'Number'};                          $Question{'TourNumber'}=$Tour{'Number'};
                         $Question{'TourTitle'}=$Tour{'Title'};                          $Question{'TourTitle'}=$Tour{'Title'};
                 }                  }
Line 1428  sub PrintQuestion { Line 1441  sub PrintQuestion {
                         $titles .=                          $titles .=
                                 dd(img({src=>"/icons/folder.open.gif"}) . " " .                                  dd(img({src=>"/icons/folder.open.gif"}) . " " .
                                          a({href=>tourhref($fname,0,1)},                                            a({href=>tourhref($fname,0,1)}, 
                                $Question{'Title'}, $Question{'PlayedAt'}||''));                                 $Question{'Title'}, $Question{'PlayedAt'}||'',
                                  $Question{'PlayedAt2'}?'&nbsp;&ndash; '.$Question{'PlayedAt2'}:''));
                         $titles .=                          $titles .=
                                 dl(dd(img({src=>"/icons/folder.open.gif"}) . " " .                                  dl(dd(img({src=>"/icons/folder.open.gif"}) . " " .
                                         a({href=>tourhref("$fname.$Question{'TourNumber'}#$qnum",1)},                                           a({href=>tourhref("$fname.$Question{'TourNumber'}#$qnum",1)}, 
Line 1681  sub PrintAll { Line 1695  sub PrintAll {
   
                 $output .= dd(img({src=>"/icons/folder.gif", alt=>"[*]"}) .                  $output .= dd(img({src=>"/icons/folder.gif", alt=>"[*]"}) .
       " " . a({href=>tourhref($textid,0,!$SingleTour)},        " " . a({href=>tourhref($textid,0,!$SingleTour)},
       $Tournament{'Title'}) ." " . ($Tournament{'PlayedAt'}||'') . " $New");        $Tournament{'Title'}) ." " . ($Tournament{'PlayedAt'}||'') . 
         ($Tournament{'PlayedAt2'}?'&nbsp;&ndash; '.$Tournament{'PlayedAt2'}:'') . 
         " $New");
         }          }
         if ($Id == 0 or $Tournament{'Type'} =~ /Г/ or $Tournament{'Type'} eq '') {          if ($Id == 0 or $Tournament{'Type'} =~ /Г/ or $Tournament{'Type'} eq '') {
                 for ($i = 0; $i <= $#Tours; $i++) {                  for ($i = 0; $i <= $#Tours; $i++) {
Line 1726  sub PrintDates { Line 1742  sub PrintDates {
                  else {$textid=$Tournament{'Id'}};                   else {$textid=$Tournament{'Id'}};
       $list .= dd(img({src=>"/icons/folder.gif", alt=>"[*]"}) .        $list .= dd(img({src=>"/icons/folder.gif", alt=>"[*]"}) .
       " " . a({href=>tourhref($textid,0,1)},        " " . a({href=>tourhref($textid,0,1)},
       $Tournament{'Title'}, $Tournament{'PlayedAt'}||''));        $Tournament{'Title'}, $Tournament{'PlayedAt'}||'', 
         $Tournament{'PlayedAt2'}?'&nbsp;&ndash; '.$Tournament{'PlayedAt2'}:''));
         }          }
         $sth->finish;          $sth->finish;
         $output .= dl($list);          $output .= dl($list);
Line 1843  sub WriteFile { Line 1860  sub WriteFile {
   $fname=~s/.*\/(\w+)/$1/;    $fname=~s/.*\/(\w+)/$1/;
   
   my $query= "SELECT Id, Title, Copyright, Info, URL,     my $query= "SELECT Id, Title, Copyright, Info, URL, 
                       Editors, EnteredBy, PlayedAt, CreatedAt                         Editors, EnteredBy, PlayedAt, CreatedAt, PlayedAt2
                      from Tournaments where FileName=                       from Tournaments where FileName=
                      '$fname' OR FileName=".$dbh->quote("$fname.txt");                       '$fname' OR FileName=".$dbh->quote("$fname.txt");
   my $sth=$dbh->prepare($query);    my $sth=$dbh->prepare($query);
   my (%Question,%editor,%qnumber,%copyright,%author,%vid,%tourtitle);    my (%Question,%editor,%qnumber,%copyright,%author,%vid,%tourtitle);
   $sth->execute;    $sth->execute;
   my ($Id, $Title, $Copyright, $Info, $URL,     my ($Id, $Title, $Copyright, $Info, $URL, 
    $Editors, $EnteredBy, $PlayedAt, $CreatedAt)=     $Editors, $EnteredBy, $PlayedAt, $CreatedAt, $PlayedAt2)=
       $sth->fetchrow;        $sth->fetchrow;
   return -1 unless $Id;    return -1 unless $Id;
   open (OUT, ">$TMPDIR/$fname.txt") || print STDERR "Error in $fname.txt\n";    open (OUT, ">$TMPDIR/$fname.txt") || print STDERR "Error in $fname.txt\n";
Line 1859  sub WriteFile { Line 1876  sub WriteFile {
   my ($year,$month,$day)=split /-/, $date;    my ($year,$month,$day)=split /-/, $date;
 #  $month=0,$date=0 if $year && $month==1 && $day==1;  #  $month=0,$date=0 if $year && $month==1 && $day==1;
   my $pdate=sprintf("%02d-%3s-%4d",$day,$months[$month],$year);    my $pdate=sprintf("%02d-%3s-%4d",$day,$months[$month],$year);
     if ($PlayedAt2) {
       my ($year,$month,$day)=split /-/, $date;
       $pdate .= sprintf(" - %02d-%3s-%4d",$day,$months[$month],$year);    
     }
   
   print OUT "Дата:\n$pdate\n\n" if $date;    print OUT "Дата:\n$pdate\n\n" if $date;
   

Removed from v.1.151  
changed lines
  Added in v.1.152


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