--- db/prgsrc/db.cgi 2003/02/22 01:40:28 1.92 +++ db/prgsrc/db.cgi 2003/04/04 10:01:27 1.94 @@ -9,6 +9,7 @@ use locale; open STDERR, ">/var/tmp/errors1"; my $newsurl='http://news.chgk.info/'; my $cashednumber=500; +my $outputbumber=10; my ($proxyptext,$proxysstr); my $printqueries=0; my %forbidden=(); @@ -170,7 +171,7 @@ sub printform { my $qnumber=(" "x10)."Выводить по ". textfield(-name=>'kvo', - -default=>param('kvo')||'150', + -default=>param('kvo')||$outputbumber, -size=>3, -maxlength=>5)." вопросов"; my $sstr=param('sstr'); @@ -621,11 +622,12 @@ sub PrintList { my ($dbh,$Questions,$shablon,$was)=@_; my $first=param('first') ||1; - my $kvo=param('kvo') ||150; + my $kvo=param('kvo') ||$outputbumber; $first=$first-($first-1)%$kvo; + my $fkvo=param('fkvo')||($#$Questions+1); my $last=$first+$kvo-1; - $last=scalar @$Questions if scalar @$Questions <$last; + $last=$fkvo if $fkvo<$last; my($f,$l); my $nav=''; my $qs=query_string; @@ -635,7 +637,6 @@ sub PrintList { $qs=~s/sstr=[^\&]+/sstr=$sstr/; $qs=~s/\&was=[^\&]+//; $qs.="&was=$was" if $was; - my $fkvo=param('fkvo')||$#$Questions; $qs.="&fkvo=$fkvo" if $was; if ($first>$kvo*3+1) { @@ -643,17 +644,16 @@ sub PrintList { (" "x4). a({href=>url."?".$qs."\&first=1"},"<<").(" "x4). a({href=>(url."?".$qs."\&first=".($first-$kvo))},"<").(" "x4) - } - + } else {$nav.=' 'x15;} my ($fprint,$lprint); - my $llprint=$fkvo- ($fkvo+1)%$kvo+2; - if ($fkvo+1<=$kvo*7) + my $llprint=$fkvo- ($fkvo)%$kvo+1; # + if ($fkvo<=$kvo*7) { $fprint=1; $lprint=$llprint; } - elsif ($first>$kvo*3 && $fkvo+1-$first>$kvo*3) + elsif ($first>$kvo*3 && $fkvo-$first>$kvo*3) { $fprint=$first-$kvo*3; $lprint=$first+$kvo*3; @@ -682,7 +682,7 @@ sub PrintList { { # next if $first-$f>$kvo*3; $l=$f+$kvo-1; - $l=$#$Questions+1 if $l>$fkvo+1; + $l=$fkvo if $l>$fkvo+1; if ($f==$first) {$nav.="[$f-$l] ";} else { $nav.= "[".a({href=>(url."?".$qs."\&first=$f")},"$f-$l")."] ";}