--- db/prgsrc/db.cgi 2003/02/22 01:40:28 1.92 +++ db/prgsrc/db.cgi 2003/02/26 00:07:55 1.93 @@ -624,8 +624,9 @@ sub PrintList { my $kvo=param('kvo') ||150; $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 +636,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 +643,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 +681,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")."] ";}