--- db/prgsrc/db.cgi 2009/06/20 12:21:02 1.153 +++ db/prgsrc/db.cgi 2010/09/24 09:05:48 1.161 @@ -233,7 +233,7 @@ sub SelectQuestions { # my $where=join " OR ",@$q; my $where=join ',',@$q; $where &&= "QuestionId IN (".(join ',',$where).")"; - $where||=1; + $where||=0; $where="($where) AND Questions.ParentId=t1.Id AND t1.ParentId=t2.Id" if $WithTour; @@ -824,10 +824,11 @@ sub NoCase { sub PrintList { my ($dbh,$Questions,$shablon,$was)=@_; + my $total_found = $totalfound||$#$Questions+1; my $Output; my $first=param('first') ||1; $first=$first-($first-1)%$outputkvo; - my $fkvo=param('fkvo')||($#$Questions+1); + my $fkvo=param('fkvo')||$total_found; my $last=$first+$outputkvo-1; $last=$fkvo if $fkvo<$last; my($f,$l); @@ -899,7 +900,12 @@ sub PrintList { a({href=>$url."?".$qs."\&first=$llprint"},">>").(" "x4) } $Output.= "$nav".br."\n"; - my @q=@$Questions[$first-1..$last-1]; + my @q; + if ($totalfound) { + @q = @$Questions; + } else { + @q=@$Questions[$first-1..$last-1]; + } my %q=(); my $sth=SelectQuestions($dbh,\@q,1); my $qq; @@ -910,8 +916,8 @@ sub PrintList { $q{$Q[$_]{'QuestionId'}}=$Q[$_]; } - for (my $i = $first; $i <= $last; $i++) { - my $q=$q{$$Questions[$i-1]}; + for my $i(0..$#q) { + my $q=$q{$q[$i]}; my $output; $output = &PrintQuestion($dbh, $q, 1, 0, 1,$text,1 ); # if (param('metod') && (param('metod') eq 'rus' || param('metod') eq 'proxy')) @@ -1092,6 +1098,7 @@ sub PrintTournament { @Tours = &GetTours($dbh, $Id); $list=''; my $textid; + my $isGroup; if ($Id) { for ($Tournament{'Type'}) { /Г/ && do { @@ -1102,6 +1109,7 @@ sub PrintTournament { $Tournament{'PlayedAt2'}:'') . p . "\n"; + $isGroup=1; last; }; /Ч/ && do { @@ -1223,8 +1231,19 @@ sub PrintTournament { $output .= p($Info); } + + $output.=p("XML"); - + + if ($textid=$fname) + { + $textid=~s/\.txt//; + } + if (!$isGroup) { + $output .= center("[". + a({href=>"/v2/tour/$textid/print", target=>'_blank'}, 'версия для печати')."] [". + a({href=>"/v2/tour/$textid/fb2", target=>'_blank'}, 'fb2')."]".""); + } return $output; } @@ -1340,8 +1359,13 @@ sub PrintTour { $bottom .= "[" . a({href=>tourhref("$fname$nn",1)}, - "ответы") . "] " . br."\n"; + "ответы") . "] " } + $bottom .= "[".a({href=>"/v2/tour/$fname/print", target=>'_blank'}, 'версия для печати')."] [". + a({href=>"/v2/tour/$fname/fb2/", target=>'_blank'}, 'fb2')."]".br; + +# $bottom .= "[".a({href=>'/v2/print/'.$fname.'.'.$Tour{'Number'}, target=>'_blank'}, 'версия для печати')."]".br; + if ($n>1) { $bottom .= "[" . a({href=>tourhref("$fname.".($n-1),0)}, @@ -1350,6 +1374,7 @@ sub PrintTour { "[" . a({href=>tourhref("$fname.".($n-1),1)}, "предыдущий тур с ответами") . "] " . br."\n"; } + if (&IsTour($dbh, $Tour{'ParentId'}, $n + 1)) { $bottom .= "[" . a({href=>tourhref("$fname.".($n+1),0)}, @@ -1389,7 +1414,16 @@ sub PrintField { if $value !~ /^\|/; $value =~ s/^\|([^\n]*)/
$1<\/pre>/mg;
 
-	    $value =~ s/(http:\/\/\S+[^\s\)\(\,\.])/a({href=>escapeUrl($1)},$1)/egm 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> $1<\/div>\n$2/sm; + $value =~ s/<раздатка>(.*?)<\/раздатка>/
Раздаточный материал<\/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 !~ /^Авто/;#!!! @@ -2171,6 +2205,14 @@ MAIN: $globaloutput.="\n"; $globaloutput.=&Include_virtual("$reklama")||'';