version 1.150, 2008/11/14 11:23:03
|
version 1.153, 2009/06/20 12:21:02
|
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'}?' – '. |
|
$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 .= ' – '.$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'}?' – '.$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'}?' &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'}?' – '.$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 1298 sub PrintTour {
|
Line 1310 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>"); |
Line 1409 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 1424 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'}?' – '.$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 1531 EOTT
|
Line 1549 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/⌡/\ï/g; |
$output=~s/⌡/\ï/g; |
$output=~s/⌠/\Ï/g; |
$output=~s/⌠/\Ï/g; |
|
|
Line 1677 sub PrintAll {
|
Line 1697 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'}?' – '.$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 1722 sub PrintDates {
|
Line 1744 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'}?' – '.$Tournament{'PlayedAt2'}:'')); |
} |
} |
$sth->finish; |
$sth->finish; |
$output .= dl($list); |
$output .= dl($list); |
Line 1839 sub WriteFile {
|
Line 1862 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 1855 sub WriteFile {
|
Line 1878 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; |
|
|