Diff for /db/prgsrc/db.cgi between versions 1.161 and 1.162

version 1.161, 2010/09/24 09:05:48 version 1.162, 2010/09/24 09:46:44
Line 11  use URI::Escape; Line 11  use URI::Escape;
 my $proxyredirect=1;  my $proxyredirect=1;
 use POSIX qw(locale_h);  use POSIX qw(locale_h);
 use locale;  use locale;
   my $maxQuestions = 3000;
   
 use vars qw($opt_z);  use vars qw($opt_z);
 use Getopt::Std;  use Getopt::Std;
 #my ($dbuser,$dbname,$dbpass,$dbhost);  #my ($dbuser,$dbname,$dbpass,$dbhost);
Line 779  sub Search { Line 781  sub Search {
                       
    my $query;     my $query;
                $query="SELECT QuestionId FROM Questions                 $query="SELECT QuestionId FROM Questions
                 WHERE ($f LIKE $sstr) AND (".&makewhere.") ORDER BY QuestionId";                  WHERE ($f LIKE $sstr) AND (".&makewhere.") ORDER BY QuestionId LIMIT $maxQuestions";
   
   
           $sth = $dbh->prepare($query)            $sth = $dbh->prepare($query)
Line 853  sub PrintList { Line 855  sub PrintList {
         else {$nav.=' 'x15;}          else {$nav.=' 'x15;}
   
      my ($fprint,$lprint);       my ($fprint,$lprint);
      my $llprint=$fkvo- ($fkvo)%$outputkvo+1; #       my $llprint=$fkvo- ($fkvo-1)%$outputkvo; #
      if ($fkvo<=$outputkvo*7)       if ($fkvo<=$outputkvo*7)
      {         $fprint=1;       {         $fprint=1;
                $lprint=$llprint;                 $lprint=$llprint+($fkvo)%$outputkvo;
      }       }
      elsif ($first>$outputkvo*3 && $fkvo-$first>$outputkvo*3)       elsif ($first>$outputkvo*3 && $fkvo-$first>$outputkvo*3)
      {       {
Line 869  sub PrintList { Line 871  sub PrintList {
      }       }
      else       else
      {        { 
            $lprint=$llprint;             $lprint=$fkvo;
            $fprint=$lprint-$outputkvo*6             $fprint=$lprint-($lprint-1)%$outputkvo-$outputkvo*6;
      }       }
                     
 #        my $fprint=($first>$outputkvo*3) ? $first-$outputkvo*3 : 1;  #        my $fprint=($first>$outputkvo*3) ? $first-$outputkvo*3 : 1;
Line 882  sub PrintList { Line 884  sub PrintList {
 #        }  #        }
   
   
   
         for($f=$fprint; $f<=$lprint; $f+=$outputkvo)          for($f=$fprint; $f<=$lprint; $f+=$outputkvo)
         {          {
 #         next if $first-$f>$outputkvo*3;  #         next if $first-$f>$outputkvo*3;
Line 894  sub PrintList { Line 895  sub PrintList {
         }          }
         if ($lprint+$outputkvo<$fkvo)          if ($lprint+$outputkvo<$fkvo)
         {          {
               my $reminder = ($llprint-1)%$outputkvo;
               my $newlprint = $llprint-$reminder;
   #           $newlprint +=$outputkvo if $reminder!=$outputkvo-1;
            $nav.=             $nav.=
             ("&nbsp;"x4).              ("&nbsp;"x4).
             a({href=>($url."?".$qs."\&first=".($first+$outputkvo))},">").("&nbsp;"x4).              a({href=>($url."?".$qs."\&first=".($first+$outputkvo))},">").("&nbsp;"x4).
             a({href=>$url."?".$qs."\&first=$llprint"},">>").("&nbsp;"x4)              a({href=>$url."?".$qs."\&first=$newlprint"},">>").("&nbsp;"x4)
         }          }
         $Output.= "$nav".br."\n";          $Output.= "$nav".br."\n";
         my @q;          my @q;
Line 1012  sub PrintSearch { Line 1016  sub PrintSearch {
                 $suffix = 'я';                  $suffix = 'я';
         }          }
   
           $hits = 'очень много' if ($hits==$maxQuestions);
   
         $Output.= p({align=>"center"}, "Результаты поиска на " . strong($sstr)          $Output.= p({align=>"center"}, "Результаты поиска на " . strong($sstr)
         . " : $hits попадани$suffix.");          . " : $hits попадани$suffix.");
   

Removed from v.1.161  
changed lines
  Added in v.1.162


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