Diff for /db/prgsrc/db.cgi between versions 1.148 and 1.160

version 1.148, 2008/06/15 07:16:42 version 1.160, 2010/09/24 07:01:52
Line 3 Line 3
 use DBI;  use DBI;
 use CGI ':all';  use CGI ':all';
 #use strict;  #use strict;
   use Encode;
 my @softfields=("От Олега Степанова");  my @softfields=("От Олега Степанова");
 use Time::Local;  use Time::Local;
   use Data::Dumper "Dumper";
   use URI::Escape;
 my $proxyredirect=1;  my $proxyredirect=1;
 use POSIX qw(locale_h);  use POSIX qw(locale_h);
 use locale;  use locale;
Line 68  $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 211  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 230  sub SelectQuestions { Line 233  sub SelectQuestions {
 #       my $where=join " OR ",@$q;  #       my $where=join " OR ",@$q;
         my $where=join ',',@$q;          my $where=join ',',@$q;
         $where &&= "QuestionId IN (".(join ',',$where).")";          $where &&= "QuestionId IN (".(join ',',$where).")";
         $where||=1;          $where||=0;
         $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;
   
Line 238  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 382  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 714  sub Search { Line 717  sub Search {
         my (@sar, $i, $sth,$where,$query);          my (@sar, $i, $sth,$where,$query);
         if ($metod eq 'rus')          if ($metod eq 'rus')
         {          {
              my @tasks=russearch($dbh,$sstr,$all,$allnf);               my @tasks;
                @tasks = russearch($dbh,$sstr,$all,$allnf);
                
               
              return @tasks               return @tasks
         }          }
         elsif ($metod eq 'proxy')          elsif ($metod eq 'proxy')
Line 912  sub PrintList { Line 918  sub PrintList {
                 {                  {
                      $output=~s/\b($shablon)\b/\<strong\>$1\<\/strong\>/gi;                       $output=~s/\b($shablon)\b/\<strong\>$1\<\/strong\>/gi;
                      $output=~s/($shablon)/\<strong\>$1\<\/strong\>/gi;                       $output=~s/($shablon)/\<strong\>$1\<\/strong\>/gi;
                        $output=~s/(href="[^"]*?)(?:<.*?>)+([^"]*?)(?:<\/.*?>)+([^"]*?")/!1 $1$2$3 2!/g;#!!!!
                 }                  }
   
                 $Output.= $output;                  $Output.= $output;
         }          }
         $sth->finish;          $sth->finish;
Line 954  sub PrintSearch { Line 962  sub PrintSearch {
                         }                          }
                 while (--$ss && (!$dbh->do ("insert into lastqueries (id,sstr,questions,allnf)                   while (--$ss && (!$dbh->do ("insert into lastqueries (id,sstr,questions,allnf) 
                          values ($was, $qsstr,$tmp,$nf)")));                           values ($was, $qsstr,$tmp,$nf)")));
                 $Output.= "Something is wrong...".br unless $ss;                  $Output.= "Something is wrong...".br."\n" unless $ss;
               }                }
         }          }
   
Line 1084  sub PrintTournament { Line 1092  sub PrintTournament {
         @Tours = &GetTours($dbh, $Id);          @Tours = &GetTours($dbh, $Id);
         $list='';          $list='';
         my $textid;          my $textid;
           my $isGroup;
         if ($Id) {          if ($Id) {
                 for ($Tournament{'Type'}) {                  for ($Tournament{'Type'}) {
                         /Г/ && 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";
                                                 $isGroup=1;
                                 last;                                  last;
                         };                          };
                         /Ч/ && do {                          /Ч/ && do {
Line 1101  sub PrintTournament { Line 1115  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 1167  sub PrintTournament { Line 1185  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 1183  sub PrintTournament { Line 1203  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 1204  sub PrintTournament { Line 1225  sub PrintTournament {
                 $output .= p($Info);                  $output .= p($Info);
         }          }
   
   
   
         $output.=p("<a href='/dbxml.php?tour=".param('tour')."'>XML</a>");          $output.=p("<a href='/dbxml.php?tour=".param('tour')."'>XML</a>");
           
                   if ($textid=$fname)
                   {
                      $textid=~s/\.txt//;
                   }
           if (!$isGroup) {
               $output .= center("<font size='-1'>[".
                a({href=>'/v2/print/'.$textid, target=>'_blank'}, 'версия для печати')."] [".
                a({href=>'/v2/fb2/'.$textid, target=>'_blank'}, 'fb2')."]"."</font>");
           }
                   
         return $output;          return $output;
 }  }
Line 1276  sub PrintTour { Line 1308  sub PrintTour {
   
         $output .= h2({align=>"center"}, $Tournament{"Title"},          $output .= h2({align=>"center"}, $Tournament{"Title"},
                       $Tournament{'PlayedAt'}||'',                        $Tournament{'PlayedAt'}||'',
                       "<br>", $Tour{"Title"} .                        $Tournament{'PlayedAt2'}?'&nbsp;&ndash; '.$Tournament{'PlayedAt2'}:'',
                         "<br>\n", $Tour{"Title"} .
                 " ($qnum вопрос$suffix)\n") . p;                  " ($qnum вопрос$suffix)\n") . p;
         $output .=&PrintEditor(\%Tour);          $output .=&PrintEditor(\%Tour);
   
Line 1290  sub PrintTour { Line 1323  sub PrintTour {
         $output .= hr({-'align'=>'center', -'width'=>'80%'});          $output .= hr({-'align'=>'center', -'width'=>'80%'});
   
         if ($Tournament{'URL'}) {          if ($Tournament{'URL'}) {
                 $output .=              $URL = $Tournament{'URL'};
                 p("Дополнительная информация об этом турнире - по адресу " .              $URL=~s/http:\/znatoki\/boris\/reports\//$newsurl/ if $url=~/kulichki/ || $url=~/db.chgk.info/;
                         a({-'href'=>$Tournament{'URL'}}, $Tournament{'URL'}));              $URL=~s/\/znatoki\/boris\/reports\//$newsurl/ if url=~/kulichki/ || $url=~/db.chgk.info/;
   
               $output .=
               p("Дополнительная информация об этом турнире - по адресу " .
                           a({-'href'=>$URL}, $URL));
         }          }
   
         if ($Tournament{'Copyright'}) {          if ($Tournament{'Copyright'}) {
                 $output .= p("Копирайт: " .   $Tournament{'Copyright'});                  $output .= p("Копирайт: " .   $Tournament{'Copyright'});
         }          }
   
         if ($Tournament{'Info'}) {          if ($Tournament{'Info'}  ) {
                 $output .= p($Tournament{'Info'});                  $output .= p($Tournament{'Info'});
         }          }
   
         if ($Tour{'Info'}) {          if ($Tour{'Info'} && ($Tournament{'Info'} ne $Tour{'Info'})) {
                 $output .= p($Tour{'Info'});                  $output .= "!!".p($Tour{'Info'});
         }          }
   
   
         $output.=p("<a href='/dbxml.php?tour=".param('tour')."'>XML</a>");          $output.=p("<a href='/dbxml.php?tour=".param('tour')."'>XML</a>");
   
         my $n=$Tour{'Number'};          my $n=$Tour{'Number'};
Line 1317  sub PrintTour { Line 1353  sub PrintTour {
                                   
                 $bottom .=                  $bottom .=
                         "[" . a({href=>tourhref("$fname$nn",1)},                           "[" . a({href=>tourhref("$fname$nn",1)}, 
                          "ответы") .  "] " . br;                           "ответы") .  "] " 
         }          }
           $bottom .= "[".a({href=>'/v2/print/'.$fname, target=>'_blank'}, 'версия для печати')."] [".
             a({href=>'/v2/fb2/'.$fname, target=>'_blank'}, 'fb2')."]".br;
           
   #       $bottom .= "[".a({href=>'/v2/print/'.$fname.'.'.$Tour{'Number'}, target=>'_blank'}, 'версия для печати')."]".br;
           
         if ($n>1) {          if ($n>1) {
                 $bottom .=                  $bottom .=
                         "[" . a({href=>tourhref("$fname.".($n-1),0)},                          "[" . a({href=>tourhref("$fname.".($n-1),0)},
                         "предыдущий тур") . "] ";                          "предыдущий тур") . "] ";
                 $bottom .=                  $bottom .=
                         "[" . a({href=>tourhref("$fname.".($n-1),1)},                          "[" . a({href=>tourhref("$fname.".($n-1),1)},
                         "предыдущий тур с ответами") . "] " . br;                          "предыдущий тур с ответами") . "] " . br."\n";
         }          }
           
         if (&IsTour($dbh, $Tour{'ParentId'}, $n + 1)) {          if (&IsTour($dbh, $Tour{'ParentId'}, $n + 1)) {
                 $bottom .=                  $bottom .=
                         "[" . a({href=>tourhref("$fname.".($n+1),0)},                          "[" . a({href=>tourhref("$fname.".($n+1),0)},
Line 1342  sub PrintTour { Line 1384  sub PrintTour {
         return $output;          return $output;
 }  }
   
   
   sub escapeUrl {
           my $uri = shift;
           $uri=~s/<.*?>//g;
           $uri =~ s/([Ю-Ъю-ъ]+)/URI::Escape::uri_escape_utf8(decode("koi8-r",$1))/eg;
           return $uri;    
   }
   
 sub PrintField {  sub PrintField {
         my ($header, $value, $text) = @_;          my ($header, $value, $text) = @_;
         if ($text) {          if ($text) {
Line 1349  sub PrintField { Line 1399  sub PrintField {
         } else {          } else {
             if ($header=~/Комментар/)              if ($header=~/Комментар/)
             {              {
                 $value=~s/^\s*$_[\.:]/p."\n".strong("$_").":"/me foreach @softfields;                  $value=~s/^\s*$_[\.:]/p."\n".strong("$_").":\n"/me foreach @softfields;
             }              }
   
             $value =~ s/^\s+/<br>&nbsp;&nbsp;&nbsp;&nbsp;/mg;              $value =~ s/^\s+/<br>\n&nbsp;&nbsp;&nbsp;&nbsp;/mg;
             $value =~ s/(\s+)-+(\s+)/$1&#0150;$2/mg;              $value =~ s/(\s+)-+(\s+)/$1&#0150;$2/mg;
             $value =~ s/\s+\&#0150/&nbsp;\&#0150/mg               $value =~ s/\s+\&#0150/&nbsp;\&#0150/mg 
                         if $value !~ /^\|/;                          if $value !~ /^\|/;
             $value =~ s/^\|([^\n]*)/<pre>$1<\/pre>/mg;              $value =~ s/^\|([^\n]*)/<pre>$1<\/pre>/mg;
             $value =~ s/(http:\/\/\S+[^\s\)\(\,\.])/<a href="$1">$1<\/a>/g if $header !~ /^Авто/;  
               $value =~ s/(http:\/\/\S+[^\s\)\(\,\.\]])/a({href=>escapeUrl($1)},$1)/egm if $header !~ /^Авто/;#!!!
   
               $value =~ s/\.\.\.\]/!!!ZAKR!!!/g;
               $value =~ s/пропущено\]/!!!PROP!!!/g;
               $value =~ s/пропущены\]/!!!PROP2!!!/g;
               $value =~ s/\[Раздаточный материал:(.*?)\]\s*\n/<div class='razdatka'><div class='razdatka_header'>Раздаточный материал<\/div> $1<\/div>\n$2/sm;
               $value =~ s/<раздатка>(.*?)<\/раздатка>/<div class='razdatka'><div class='razdatka_header'>Раздаточный материал<\/div> $1<\/div>\n/sm;
               $value =~ s/!!!ZAKR!!!/\.\.\.\]/g;
               $value =~ s/!!!PROP!!!/пропущено\]/g;
               $value =~ s/!!!PROP2!!!/пропущены\]/g;
   
   
   #           $value =~ s/(http:\/\/\S+[^\s\)\(\,\.])/make/eg if $header !~ /^Авто/;#!!!
   #           $value =~ s/(http:\/\/\S+[^\s\)\(\,\.])/<a href="$1">$1<\/a>/g if $header !~ /^Авто/;
 #           $value =~ s/(http:\/\/(?:\w+.)+[\w\\\~]+(\?[^\s.]+)?)/<a href="$1">$1<\/a>/g if $header !~ /^Авто/;  #           $value =~ s/(http:\/\/(?:\w+.)+[\w\\\~]+(\?[^\s.]+)?)/<a href="$1">$1<\/a>/g if $header !~ /^Авто/;
 #           $value =~ s/(\s)"/$1&#147;/mg;  #           $value =~ s/(\s)"/$1&#147;/mg;
 #           $value =~ s/^"/&#147;/mg;  #           $value =~ s/^"/&#147;/mg;
Line 1369  sub PrintField { Line 1433  sub PrintField {
                         $value . p . "\n";                          $value . p . "\n";
         }          }
         return $text ? "$header:\n$value\n\n" :          return $text ? "$header:\n$value\n\n" :
                 strong("$header: ") . $value . p . "\n";                  strong("$header: ") . "\n".$value . p . "\n";
 }  }
   
 # Gets a DB handler (ofcourse) and a question Id. Prints  # Gets a DB handler (ofcourse) and a question Id. Prints
Line 1389  sub PrintQuestion { Line 1453  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 1404  sub PrintQuestion { Line 1469  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 1511  EOTT Line 1577  EOTT
 $output.="</span>"  $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;
           $output=~s/\(aud: ([^\)]*)\)/<embed type="application\/x-shockwave-flash" src="http:\/\/www.google.com\/reader\/ui\/3247397568-audio-player.swf?audioUrl=\/znatoki\/sounds\/db\/$1"  allowscriptaccess="never" width="400" height="27" quality="best" bgcolor="#ff0000" wmode="window" flashvars="playerMode=embedded" \/>/g unless $text;
   
         $output=~s/⌡/\&iuml;/g;          $output=~s/⌡/\&iuml;/g;
         $output=~s/⌠/\&Iuml;/g;          $output=~s/⌠/\&Iuml;/g;
   
Line 1520  $output.="</span>" Line 1588  $output.="</span>"
 $fname||=param('tour');  $fname||=param('tour');
         my $qid=$fname ? ($fname.".$Question{'Number'}" ): '';          my $qid=$fname ? ($fname.".$Question{'Number'}" ): '';
   
         $output.=br.a({href=> "/search/"."?metod=proxy&          $output.=br."\n".a({href=> "/search/"."?metod=proxy&
 qid=$qid"}, 'Близкие вопросы').p  qid=$qid"}, 'Близкие вопросы').p
              if $answer>0 && !$text && $qid && $showNearQuestions;               if $answer>0 && !$text && $qid && $showNearQuestions;
         return $output;          return $output;
Line 1657  sub PrintAll { Line 1725  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 1702  sub PrintDates { Line 1772  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 1819  sub WriteFile { Line 1890  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 1835  sub WriteFile { Line 1906  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;
   
Line 2004  MAIN: Line 2079  MAIN:
                     print end_html;                      print end_html;
                         die "Can't connect to DB chgk\n";                          die "Can't connect to DB chgk\n";
                 };                  };
         $dbh->do("set names koi8r");          $dbh->do("set names koi8r");
   
         if (param('qid') && (param('qid')=~/^\d+$/) || $tour && $tour=~/^\d+$/) {          if (param('qid') && (param('qid')=~/^\d+$/) || $tour && $tour=~/^\d+$/) {
 #          my $destination='http://chgk.zaba.ru/search.html';  #          my $destination='http://chgk.zaba.ru/search.html';
Line 2124  MAIN: Line 2199  MAIN:
 $globaloutput.="<style>  $globaloutput.="<style>
 td      {font-size: x-small; font-family : sans-serif}  td      {font-size: x-small; font-family : sans-serif}
 th      {font-size: x-small; font-family : sans-serif}  th      {font-size: x-small; font-family : sans-serif}
   div.razdatka { 
       background-color:#EEEEFF;
       padding:4px;
       border:1px solid black;
   }
   
   div.razdatka_header {font-style:italic;}
   
 </style>\n";  </style>\n";
   
                 $globaloutput.=&Include_virtual("$reklama")||'';                  $globaloutput.=&Include_virtual("$reklama")||'';

Removed from v.1.148  
changed lines
  Added in v.1.160


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