Diff for /db/prgsrc/db.cgi between versions 1.113 and 1.118

version 1.113, 2003/04/20 12:48:48 version 1.118, 2003/05/01 20:46:59
Line 9  use locale; Line 9  use locale;
 use vars qw($opt_z);  use vars qw($opt_z);
 use Getopt::Std;  use Getopt::Std;
 getopts('z');  getopts('z');
   $opt_z||=param("makehtml");
   my $paramtour;
   my $withanswers=param('answer')||param('answers');
 open STDERR, ">/var/tmp/errors1";  open STDERR, ">/var/tmp/errors1";
 my $newsurl='http://news.chgk.info/';  my $newsurl='http://news.chgk.info/';
 my $reklama="../dimrub/db/reklama.html";  my $reklama="../dimrub/db/reklama.html";
   my $footer="../dimrub/db/footer.html";
   
   my $datefooter="../dimrub/db/date";
   
   my $fname;
 $reklama="../reklama.html" if $opt_z;  $reklama="../reklama.html" if $opt_z;
   $footer="../footer.html" if $opt_z;
   $datefooter="../date" if $opt_z;
 my $HTMLDIR="/znatoki/dimrub/db/baza/";  my $HTMLDIR="/znatoki/dimrub/db/baza/";
   $HTMLDIR="/baza/";
 my $realHTMLDIR;  my $realHTMLDIR;
 if ($^O =~ /win/i) {  if ($^O =~ /win/i) {
  $realHTMLDIR="/html/znatoki/baza/";   $realHTMLDIR="/html/znatoki/baza/";
 } else   } else 
 {  {
   $realHTMLDIR="/home/znatoki/public_html/dimrub/db/baza/";    $realHTMLDIR="/home/piataev/public_html/dimrub/db/baza/";
 }  }
 my $usehtml=1;  my $usehtml=$opt_z||0;
 my $usewas=0;  my $usewas=0;
 my $cashednumber=500;  my $cashednumber=500;
 my $outputnumber=10;  my $outputnumber=10;
Line 42  if ($url !~ /db\.chgk\.info/ && $url !~ Line 53  if ($url !~ /db\.chgk\.info/ && $url !~
    Redirect ($u);     Redirect ($u);
    exit;     exit;
 }  }
 if (!param('sstr') && param('all')) {  #if (!param('sstr') && param('all')) {
            my $destination='http://db.chgk.info/all.html';  #          my $destination='http://db.chgk.info/all.html';
                 Redirect($destination);  #               Redirect($destination);
                 exit;  #                exit;
 }  #}
 my $thislocale;  my $thislocale;
 if ($^O =~ /win/i) {  if ($^O =~ /win/i) {
         $thislocale = "Russian_Russia.20866";          $thislocale = "Russian_Russia.20866";
Line 156  sub GetTournament { Line 167  sub GetTournament {
 sub fetchquestion {  sub fetchquestion {
         my ($sth,$q,$WithTour)=@_;          my ($sth,$q,$WithTour)=@_;
         if ($WithTour) {          if ($WithTour) {
                 ($$q{'Question'},$$q{'Answer'},$$q{'Comments'},$$q{'Authors'},                  ($$q{'QuestionId'}, $$q{'Question'},$$q{'Answer'},$$q{'Comments'},$$q{'Authors'},
                 $$q{'Number'},                   $$q{'Number'}, 
                 $$q{'Title'}, $$q{'TourTitle'}, $$q{'FileName'},$$q{'PlayedAt'},$$q{'TourNumber'}) =                   $$q{'Title'}, $$q{'TourTitle'}, $$q{'FileName'},$$q{'PlayedAt'},$$q{'TourNumber'}) = 
                 $sth->fetchrow;                  $sth->fetchrow;
         } else {          } else {
                 ($$q{'Question'},$$q{'Answer'},$$q{'Comments'},$$q{'Authors'},                  ($$q{'QuestionId'}, $$q{'Question'},$$q{'Answer'},$$q{'Comments'},$$q{'Authors'},
                 $$q{'Number'})=                   $$q{'Number'})= 
                 $sth->fetchrow;                  $sth->fetchrow;
         }          }
Line 169  sub fetchquestion { Line 180  sub fetchquestion {
   
   
   
   
 sub SelectQuestions {  sub SelectQuestions {
         my ($dbh,$q,$WithTour) = @_;          my ($dbh,$q,$WithTour) = @_;
         my %q=();          my %q=();
         $_ = "QuestionId=$_" foreach @$q;  #       $_ = "QuestionId=$_" foreach @$q;
         my $where=join " OR ",@$q;  #       my $where=join " OR ",@$q;
           my $where=join ',',@$q;
           $where &&= "QuestionId IN (".(join ',',$where).")";
         $where||=1;          $where||=1;
         $where="($where) AND Questions.ParentId=t1.Id AND t1.ParentId=t2.Id"           $where="($where) AND Questions.ParentId=t1.Id AND t1.ParentId=t2.Id" 
                 if $WithTour;                  if $WithTour;
   
         my $query;          my $query;
         if ($WithTour) {          if ($WithTour) {
                 $query="SELECT Questions.Question, Answer, Comments, Authors,                  $query="SELECT QuestionId, Questions.Question, Answer, Comments, Authors,
                         Questions.Number                          Questions.Number
                         , t2.Title, t1.Title, t2.FileName,  t2.PlayedAt,t1.Number                          , t2.Title, t1.Title, t2.FileName,  t2.PlayedAt,t1.Number
                         from Questions,Tournaments as t1, Tournaments as t2                           from Questions,Tournaments as t1, Tournaments as t2 
                         WHERE $where";                          WHERE $where";
         } else {          } else {
                 $query="SELECT Questions.Question, Answer, Comments, Authors,                  $query="SELECT QuestionId, Questions.Question, Answer, Comments, Authors,
                         Questions.Number from Questions                           Questions.Number from Questions 
                         WHERE $where";                          WHERE $where";
         }          }
Line 232  sub tourhref { Line 246  sub tourhref {
    } else {     } else {
         $res=$url;          $res=$url;
         $res.="?tour=$t";          $res.="?tour=$t";
         $res.=$a?"?answers=1":"";          $res.=$a?"&answers=1":"";
         return $res;          return $res;
    }     }
   
Line 387  sub proxy Line 401  sub proxy
 sub makeproxysstr {  sub makeproxysstr {
       my ($dbh,$ptext)=@_;        my ($dbh,$ptext)=@_;
       my $text=$$ptext;        my $text=$$ptext;
         POSIX::setlocale( &POSIX::LC_ALL, $thislocale );
       $text=~tr/£³/Åå/;        $text=~tr/£³/Åå/;
       $text=~s/(${RLrl})p(${RLrl})/$1p$2/gom;        $text=~s/(${RLrl})p(${RLrl})/$1p$2/gom;
       $text=~s/p(${RLrl})/Ò$1/gom;        $text=~s/p(${RLrl})/Ò$1/gom;
Line 395  sub makeproxysstr { Line 410  sub makeproxysstr {
       $text=~s/[^ÊÃÕËÅÎÇÛÝÚÈßÆÙ×ÁÐÒÏÌÄÖÜÑÞÓÍÉÔØÂÀêãõëåîçûýúèÿæù÷áðòïìäöüñþóíéôøâàQWERTYUIOPASDFGHJKLZXCVBNM0-9]/ /g;        $text=~s/[^ÊÃÕËÅÎÇÛÝÚÈßÆÙ×ÁÐÒÏÌÄÖÜÑÞÓÍÉÔØÂÀêãõëåîçûýúèÿæù÷áðòïìäöüñþóíéôøâàQWERTYUIOPASDFGHJKLZXCVBNM0-9]/ /g;
       $text=uc $text;        $text=uc $text;
       my @list= $text=~m/(?:(?:${RLrl})+)|(?:[A-Za-z0-9]+)/gom;        my @list= $text=~m/(?:(?:${RLrl})+)|(?:[A-Za-z0-9]+)/gom;
   
       my (%c, %good,$sstr);        my (%c, %good,$sstr);
       foreach (@list)        foreach (@list)
       {        {
Line 403  sub makeproxysstr { Line 419  sub makeproxysstr {
       my @words=sort {$c{$a}<=> $c{$b}} @list;        my @words=sort {$c{$a}<=> $c{$b}} @list;
   
 #      $good{$words[$_]}=1 foreach 0..4;  #      $good{$words[$_]}=1 foreach 0..4;
   
       foreach (@words)        foreach (@words)
       {        {
          $good{$_}=1 if $c{$_}<200;           $good{$_}=1 if $c{$_}<200;
Line 433  sub russearch { Line 448  sub russearch {
             my %relevance;              my %relevance;
             my @blob;              my @blob;
             my %count;              my %count;
           POSIX::setlocale( &POSIX::LC_ALL, $thislocale );
 $sstr=~tr/ÊÃÕËÅÎÇÛÝÚÈßÆÙ×ÁÐÒÏÌÄÖÜÑÞÓÍÉÔØÂÀ/êãõëåîçûýúèÿæù÷áðòïìäöüñþóíéôøâà/;  $sstr=~tr/ÊÃÕËÅÎÇÛÝÚÈßÆÙ×ÁÐÒÏÌÄÖÜÑÞÓÍÉÔØÂÀ/êãõëåîçûýúèÿæù÷áðòïìäöüñþóíéôøâà/;
             @qw=@w =split (' ', uc $sstr);              @qw=@w =split (' ', uc $sstr);
   
Line 564  foreach (keys %wordsof) Line 579  foreach (keys %wordsof)
   
 @tasks=sort {$relevance{$b}<=>$relevance{$a}} @tasks;  @tasks=sort {$relevance{$b}<=>$relevance{$a}} @tasks;
   
   
 ############  ############
   
   
Line 731  sub PrintList { Line 745  sub PrintList {
    my ($dbh,$Questions,$shablon,$was)=@_;     my ($dbh,$Questions,$shablon,$was)=@_;
         my $Output;          my $Output;
         my $first=param('first') ||1;          my $first=param('first') ||1;
   
         $first=$first-($first-1)%$outputkvo;          $first=$first-($first-1)%$outputkvo;
         my $fkvo=param('fkvo')||($#$Questions+1);          my $fkvo=param('fkvo')||($#$Questions+1);
         my $last=$first+$outputkvo-1;          my $last=$first+$outputkvo-1;
Line 808  sub PrintList { Line 821  sub PrintList {
         my @q=@$Questions[$first-1..$last-1];          my @q=@$Questions[$first-1..$last-1];
         my %q=();          my %q=();
         my $sth=SelectQuestions($dbh,\@q,1);          my $sth=SelectQuestions($dbh,\@q,1);
           my $qq;
           my @Q;
           for (0..$#q) {
                   %{$Q[$_]}=();
                   fetchquestion($sth,$Q[$_],1);
                   $q{$Q[$_]{'QuestionId'}}=$Q[$_];
           }
   
         for (my $i = $first; $i <= $last; $i++) {          for (my $i = $first; $i <= $last; $i++) {
                 fetchquestion($sth,\%q,1);                  my $q=$q{$$Questions[$i-1]};
                 my $output;                  my $output;
                 $output = &PrintQuestion($dbh, \%q, 1, 0, 1,0,1  );                  $output = &PrintQuestion($dbh, $q, 1, 0, 1,0,1  );
                 if (param('metod') && (param('metod') eq 'rus' || param('metod') eq 'proxy'))  #                if (param('metod') && (param('metod') eq 'rus' || param('metod') eq 'proxy'))
                 {                  {
                      $output=~s/\b($shablon)\b/\<strong\>$1\<\/strong\>/gi;                       $output=~s/\b($shablon)\b/\<strong\>$1\<\/strong\>/gi;
                 } else {  
                      $output=~s/($shablon)/\<strong\>$1\<\/strong\>/gi;                       $output=~s/($shablon)/\<strong\>$1\<\/strong\>/gi;
                 }                  }
                 $Output.= $output;                  $Output.= $output;
Line 976  sub PrintTournament { Line 996  sub PrintTournament {
   
         %Tournament = &GetTournament($dbh, $Id) if ($Id);          %Tournament = &GetTournament($dbh, $Id) if ($Id);
   
         my ($URL) = $Tournament{'URL'};          my ($URL) = $Tournament{'URL'}||'';
         $URL=~s/http:\/znatoki\/boris\/reports\//$newsurl/ if $url=~/kulichki/;          $URL=~s/http:\/znatoki\/boris\/reports\//$newsurl/ if $url=~/kulichki/ || $url=~/db.chgk.info/;
         $URL=~s/\/znatoki\/boris\/reports\//$newsurl/ if url=~/kulichki/;;          $URL=~s/\/znatoki\/boris\/reports\//$newsurl/ if url=~/kulichki/ || $url=~/db.chgk.info/;
         my ($Info) = $Tournament{'Info'};          my ($Info) = $Tournament{'Info'};
         my ($Copyright) = $Tournament{'Copyright'};          my ($Copyright) = $Tournament{'Copyright'};
         my $fname=$Tournament{'FileName'};          my $fname=$Tournament{'FileName'};
Line 1068  sub PrintTournament { Line 1088  sub PrintTournament {
                 } else {                  } else {
                         $list .= dd(a({href=>                          $list .= dd(a({href=>
                                  $url . "?tour=$textid&comp=1"},                                   $url . "?tour=$textid&comp=1"},
                                 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=>tourhref($textid,0,1)},                                  . " " . a({href=>tourhref($textid,0,1)},
                                 $Tournament{'Title'}. " ".                                  $Tournament{'Title'}. " ".
Line 1176  sub PrintTour { Line 1196  sub PrintTour {
         my $n=$Tour{'Number'};          my $n=$Tour{'Number'};
         if ($answer == 0) {          if ($answer == 0) {
                 $bottom .=                  $bottom .=
                         "[" . a({href=>tourhref($fname,1)},                           "[" . a({href=>tourhref("$fname.$n",1)}, 
                          "ÏÔ×ÅÔÙ") .  "] " . br;                           "ÏÔ×ÅÔÙ") .  "] " . br;
         }          }
         if ($n>1) {          if ($n>1) {
Line 1353  $output.="</span>" Line 1373  $output.="</span>"
   
         }          }
         $output=~s/\(pic: ([^\)]*)\)/<p><img src="\/znatoki\/images\/db\/$1"><p>/g unless $text;          $output=~s/\(pic: ([^\)]*)\)/<p><img src="\/znatoki\/images\/db\/$1"><p>/g unless $text;
         my $qid=param('tour') ? (param('tour').".$Question{'Number'}" ): '';          $paramtour||=param("tour");
           my $qid=$paramtour ? ($paramtour.".$Question{'Number'}" ): '';
   
         $output.=br.a({href=> $url."?metod=proxy&          $output.=br.a({href=> $url."?metod=proxy&
 qid=$qid"}, 'âÌÉÚËÉÅ ×ÏÐÒÏÓÙ').p  qid=$qid"}, 'âÌÉÚËÉÅ ×ÏÐÒÏÓÙ').p
Line 1632  sub WriteFile { Line 1653  sub WriteFile {
   
   my $query= "SELECT Id, Title, Copyright, Info, URL,     my $query= "SELECT Id, Title, Copyright, Info, URL, 
                       Editors, EnteredBy, PlayedAt, CreatedAt                         Editors, EnteredBy, PlayedAt, CreatedAt 
                      from Tournaments where FileName=".$dbh->quote("$fname.txt");                       from Tournaments where FileName=
                        '$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;
Line 1775  sub WriteFile { Line 1797  sub WriteFile {
   
 sub Bottom  sub Bottom
 {  {
         my $output.=&Include_virtual("../dimrub/db/footer.html")||"";          my $output.=&Include_virtual("$footer")||"";
         $output.=p."<center><font size=-2>ïÂÎÏ×ÌÅÎÉÅ: ".&Include_virtual("../dimrub/db/date")."</center></font>";          $output.=p."<center><font size=-2>ïÂÎÏ×ÌÅÎÉÅ: ".&Include_virtual("$datefooter")."</center></font>";
         $output.=<<EEE          $output.=<<EEE
 <SCRIPT LANGUAGE="JavaScript">  <SCRIPT LANGUAGE="JavaScript">
 function toggle(e) {  function toggle(e) {
Line 1798  MAIN: Line 1820  MAIN:
 {  {
                   
         setlocale(LC_CTYPE,'russian');          setlocale(LC_CTYPE,'russian');
           POSIX::setlocale( &POSIX::LC_ALL, $thislocale );
         my($i, $tour);          my($i, $tour);
         my($text) = (param('text')) ? 1 : 0;          my($text) = (param('text')) ? 1 : 0;
         if (param('qid') && (param('qid')=~/^\d+$/)) {          if (param('qid') && (param('qid')=~/^\d+$/)) {
Line 1808  MAIN: Line 1831  MAIN:
                 exit                  exit
         }          }
   
         if ($text) {          if ($text && !param ('comp')) {
                 print header('text/plain');                  print header('text/plain');
         } else {print header;}          } elsif (!param('comp')) {print header;}
         my($dbh) = DBI->connect("DBI:mysql:chgk", "piataev", "")          my($dbh) = DBI->connect("DBI:mysql:chgk", "piataev", "")
                 or do {                  or do {
                         print h1("÷ÒÅÍÅÎÎÙÅ ÐÒÏÂÌÅÍÙ") . "âÁÚÁ ×ÏÐÒÏÓÏ× ×ÒÅÍÅÎÎÏ ÎÅ                          print h1("÷ÒÅÍÅÎÎÙÅ ÐÒÏÂÌÅÍÙ") . "âÁÚÁ ×ÏÐÒÏÓÏ× ×ÒÅÍÅÎÎÏ ÎÅ
Line 1820  MAIN: Line 1843  MAIN:
                         die "Can't connect to DB chgk\n";                          die "Can't connect to DB chgk\n";
                 };                  };
           my $sstr=param('sstr');            my $sstr=param('sstr');
             $opt_z||=param("makehtml");
           if (param('qid')) {            if (param('qid')) {
               my $sth;                my $sth;
               my $qid=param('qid');                my $qid=param('qid');
Line 1827  MAIN: Line 1851  MAIN:
                 {                  {
                     my ($fname,$t,$n)= split /\./ , $qid;                      my ($fname,$t,$n)= split /\./ , $qid;
                     $n=$t,$t='' unless $n;                      $n=$t,$t='' unless $n;
                       $t||=1;
                     if ($t)                      if ($t)
                     {                      {
                         $sth = $dbh->prepare(                          $sth = $dbh->prepare(
                        "SELECT t2.Id FROM Tournaments as t1,                          "SELECT t2.Id FROM Tournaments as t1, 
                         Tournaments as t2                           Tournaments as t2 
                         WHERE t1.FileName = '$fname.txt'                          WHERE (t1.FileName = '$fname.txt' OR t1.FileName='$fname')
                         AND t1.Id=t2.ParentId AND t2.Number=$t");                          AND t1.Id=t2.ParentId AND t2.Number=$t");
                     }                         }   
                     else   #                   else 
                         {  #                       {
                           $sth = $dbh->prepare("SELECT Id FROM Tournaments  #                          $sth = $dbh->prepare("SELECT Id FROM Tournaments
                                      WHERE FileName = '$fname.txt'");  #                                    WHERE FileName = '$fname.txt' OR FileName = '$fname'" );
                         }  #                       }
                     $sth->execute;                      $sth->execute;
                     $tour = ($sth->fetchrow)[0];                      $tour = ($sth->fetchrow)[0];
                     $sth->finish;                      $sth->finish;
Line 1883  th {font-size: x-small; font-family : sa Line 1908  th {font-size: x-small; font-family : sa
                 $globaloutput.=&Include_virtual("$reklama")||'';                  $globaloutput.=&Include_virtual("$reklama")||'';
         }          }
   
        if (length ($qs)<=255 && $qs !~ /(sstr)|(rand)|(comp)|(all=)/i) {         if (!$opt_z && length ($qs)<=255 && $qs !~ /(sstr)|(rand)|(comp)|(all=)/i) {
                 my $sth=$dbh->prepare("SELECT page,times,t from hash where query=".$dbh->quote($qs));                  my $sth=$dbh->prepare("SELECT page,times,t from hash where query=".$dbh->quote($qs));
                 $sth->execute();                  $sth->execute();
                 my ($p,$times,$t)=$sth->fetchrow();                  my ($p,$times,$t)=$sth->fetchrow();
Line 1917  th {font-size: x-small; font-family : sa Line 1942  th {font-size: x-small; font-family : sa
                         $sth = $dbh->prepare(                          $sth = $dbh->prepare(
                        "SELECT t2.Id FROM Tournaments as t1,                          "SELECT t2.Id FROM Tournaments as t1, 
                         Tournaments as t2                           Tournaments as t2 
                         WHERE t1.FileName = '$fname.txt'                          WHERE (t1.FileName = '$fname.txt' OR t1.FileName='$fname')
                         AND t1.Id=t2.ParentId AND t2.Number=$n");                          AND t1.Id=t2.ParentId AND t2.Number=$n");
                     }                         }   
                     else                       else 
Line 1977  EOT Line 2002  EOT
         elsif (param('getfile')){          elsif (param('getfile')){
            $globaloutput.=&writefile             $globaloutput.=&writefile
         } elsif (param('all')) {          } elsif (param('all')) {
            my $destination='http://db.chgk.info/all.html';  #          my $destination='http://db.chgk.info/all.html';
                 Redirect($destination);  #               Redirect($destination);
                 exit;  #                exit;
 #               $globaloutput.=&PrintAll($dbh, 0);                  $globaloutput.=&PrintAll($dbh, 0);
         } elsif (param('from_year') && param('to_year')) {          } elsif (param('from_year') && param('to_year')) {
                 $globaloutput.=&PrintDates($dbh);                  $globaloutput.=&PrintDates($dbh);
         } elsif (param('comp')) {          } elsif (param('comp')) {
             $globaloutput.="Content-Type: application/octet-stream\n";              print "Content-Type: application/octet-stream\n";
             $globaloutput.="Content-Type: application/force-download\n";              print  "Content-Type: application/force-download\n";
             $globaloutput.="Content-Type: application/download\n";              print  "Content-Type: application/download\n";
             $globaloutput.="Content-Type: application/x-zip-compressed; name=db.zip\n";              print  "Content-Type: application/x-zip-compressed; name=db.zip\n";
             $globaloutput.="Content-Disposition: attachment; filename=db.zip \n\n";              print "Content-Disposition: attachment; filename=db.zip \n\n";
             $tour ||= 0;              $tour ||= 0;
             my (@files) = &PrintArchive($dbh, $tour);              my (@files) = &PrintArchive($dbh, $tour);
             WriteFile($dbh,$_) foreach @files;              WriteFile($dbh,$_) foreach @files;
             open F, "$ZIP -j - @files |";              open F, "$ZIP -j - @files |";
             binmode(F);              binmode(F);
             binmode(STDOUT);              binmode(STDOUT);
             $globaloutput.= join "",<F>;              print join "",<F>;
             close F;              close F;
             $dbh->disconnect;              $dbh->disconnect;
             exit;              exit;
Line 2011  EOT Line 2036  EOT
             exit;              exit;
   
         }           } 
         elsif (!$opt_z) {          elsif (!$opt_z && !param("makehtml")) {
                 my $QuestionNumber=0;                  my $QuestionNumber=0;
                 my $qnum;                  my $qnum;
                 if ($qnum=param('qnumber')){                  if ($qnum=param('qnumber')){
Line 2021  EOT Line 2046  EOT
                   $QuestionNumber=($sth->fetchrow)[0]||0;                    $QuestionNumber=($sth->fetchrow)[0]||0;
                 }                  }
                 if ($QuestionNumber) {                  if ($QuestionNumber) {
                   $globaloutput.= &PrintQuestion($dbh, $QuestionNumber, param('answer')||0, $qnum, 1,0,0);                    $globaloutput.= &PrintQuestion($dbh, $QuestionNumber, $withanswers||0, $qnum, 1,0,0);
 #                                        $dbh, $Id, $answer, $qnum, $title, $text  #                                        $dbh, $Id, $answer, $qnum, $title, $text
                 } else  {                  } else  {
                    $globaloutput.=&PrintTournament($dbh, $tour, param('answer'));                     $globaloutput.=&PrintTournament($dbh, $tour, $withanswers);
                 }                  }
         }          }
         else {          else {
                     $opt_z=1;
                     $url="http://db.chgk.info/cgi-bin/db.cgi";
                   open TS, "timestamp";                    open TS, "timestamp";
                   my $d=$dbh->quote(<TS>);                    my $d=$dbh->quote(<TS>);
                   close TS;                    close TS;
Line 2061  my ($sth) = $dbh->prepare("SELECT t1.Id, Line 2088  my ($sth) = $dbh->prepare("SELECT t1.Id,
                      {                       {
                        open FF, ">$realHTMLDIR$fname-q.html" or die "ERROR! - $fname-q.html\n";                         open FF, ">$realHTMLDIR$fname-q.html" or die "ERROR! - $fname-q.html\n";
                        my $o=$globaloutput;                         my $o=$globaloutput;
                          $paramtour=$fname;
                        $o.=&PrintTournament($dbh, $Id, 0);                         $o.=&PrintTournament($dbh, $Id, 0);
                        $o.=&Bottom;                         $o.=&Bottom;
                        print FF $o;                         print FF $o;

Removed from v.1.113  
changed lines
  Added in v.1.118


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