Diff for /db/prgsrc/db.cgi between versions 1.124 and 1.126

version 1.124, 2003/08/29 21:52:25 version 1.126, 2003/12/19 01:44:47
Line 93  my %TypeName=('children'=>'Д', 'game'=>' Line 93  my %TypeName=('children'=>'Д', 'game'=>'
               'chgk'=>'Ч', 'brain'=>'Б', 'beskrylka'=>'Л','ehruditka'=>'Э');                'chgk'=>'Ч', 'brain'=>'Б', 'beskrylka'=>'Л','ehruditka'=>'Э');
   
   
   sub countz {
     my ($dbh,$type)=@_;
     
     my $sth=$dbh->prepare("select count(*) from Questions where Type LIKE '%$type%'");
     $sth->execute();
     my ($tmp)=$sth->fetchrow();
     return $tmp;
   }
   
 my $all=param('all');  my $all=param('all');
 $all=0 if lc $all eq 'no';  $all=0 if lc $all eq 'no';
Line 1050  sub PrintTournament { Line 1058  sub PrintTournament {
                         };                          };
                 }                  }
         } else {          } else {
                 my ($qnum) = GetQNum($dbh);                  my ($qnum) = GetQNum($dbh,0);
                 $output .= h2("Банк Вопросов: $qnum вопрос".&Suffix($qnum))                   my ($qnum1) = GetQNum($dbh,1);
                           . p . "\n";                  $output .= h2("База вопросов").
                    h3("$qnum запис".&Suffix2($qnum).
                    " (не повторяется $qnum1)");
   
   #                h4("<table>".
   #                Tr(td("Из них:"), td("Вопросов ЧГК: ".countz($dbh,'Ч'))).               
   #                Tr(td("&nbsp;"), td("Вопросов для брейна: ".countz($dbh,'Б'))).                 
   #                Tr(td("&nbsp;"), td("Вопросов для ЧГК и брейна: ".countz($dbh,'ЧБ'))).          
   #                Tr(td("&nbsp;"), td("Интернет-вопросов: ".countz($dbh,'И'))).           
   #                Tr(td("&nbsp;"), td("Бескрылок: ".countz($dbh,'Л'))).
   #                Tr(td("&nbsp;"),td("Заданий для Своей Игры: ".countz($dbh,'Я'))).
   #                Tr(td("&nbsp;"),td("Эрудиток: ".countz($dbh,'Э'))))."</table>"
         }          }
   
         for ($i = 0; $i <= $#Tours; $i++) {          for ($i = 0; $i <= $#Tours; $i++) {
Line 1143  sub Suffix { Line 1162  sub Suffix {
         return $suffix;          return $suffix;
 }  }
   
   
   sub Suffix1 {
           my ($qnum) = @_;
           my ($suffix) = 'я' if $qnum =~ /[234]$/;
          $suffix = 'е' if $qnum =~ /1$/;
          $suffix = 'й' if $qnum =~ /[567890]$/ || $qnum =~ /1.$/;
           return $suffix;
   }
   
   sub Suffix2 {
           my ($qnum) = @_;
           my ($suffix) = 'и' if $qnum =~ /[234]$/;
          $suffix = 'ь' if $qnum =~ /1$/;
          $suffix = 'ей' if $qnum =~ /[567890]$/ || $qnum =~ /1.$/;
           return $suffix;
   }
   
 sub IsTour {  sub IsTour {
         my ($dbh, $Id,$n) = @_;          my ($dbh, $Id,$n) = @_;
   
Line 1249  sub PrintField { Line 1285  sub PrintField {
             $value =~ s/<[\/\w]*?>//sg;              $value =~ s/<[\/\w]*?>//sg;
         } else {          } else {
             $value =~ s/^\s+/<br>&nbsp;&nbsp;&nbsp;&nbsp;/mg;              $value =~ s/^\s+/<br>&nbsp;&nbsp;&nbsp;&nbsp;/mg;
               $value =~ s/(\s+)-+(\s+)/$1&#0150;$2/mg;
               $value =~ s/\s+\&#0150/&nbsp;\&#0150/mg 
                           if $value !~ /^\|/;
             $value =~ s/^\|([^\n]*)/<pre>$1<\/pre>/mg;              $value =~ s/^\|([^\n]*)/<pre>$1<\/pre>/mg;
             $value =~ s/\s+-+\s+/&nbsp;&#0150; /mg;  
             $value =~ s/(http:\/\/\S+[^\s\)\(\,\.])/<a href="$1">$1<\/a>/g if $header !~ /^Авто/;              $value =~ s/(http:\/\/\S+[^\s\)\(\,\.])/<a href="$1">$1<\/a>/g if $header !~ /^Авто/;
 #           $value =~ s/(http:\/\/(?:\w+.)+[\w\\\~]+(\?[^\s.]+)?)/<a href="$1">$1<\/a>/g if $header !~ /^Авто/;  #           $value =~ s/(http:\/\/(?:\w+.)+[\w\\\~]+(\?[^\s.]+)?)/<a href="$1">$1<\/a>/g if $header !~ /^Авто/;
 #           $value =~ s/(\s)"/$1&#147;/mg;  #           $value =~ s/(\s)"/$1&#147;/mg;
Line 1405  qid=$qid"}, 'Близкие вопросы').p Line 1443  qid=$qid"}, 'Близкие вопросы').p
   
 # Returns the total number of questions currently in the DB.  # Returns the total number of questions currently in the DB.
 sub GetQNum {  sub GetQNum {
         my ($dbh) = @_;          my ($dbh,$x) = @_;
         my ($sth) = $dbh->prepare("SELECT COUNT(*) FROM Questions");          my ($sth) = $dbh->prepare("SELECT COUNT(*) FROM Questions");
         $sth->execute;          $sth->execute;
         my $tmp=($sth->fetchrow)[0];          my $tmp=($sth->fetchrow)[0];
         $sth->finish;          $sth->finish;
         return $tmp;          ($sth)=  $dbh -> prepare("select distinct count(first) FROM equalto");
                      $sth -> execute;
           my ($c)=$sth->fetchrow;
   
   #                  $i++  while ( my  ($first, $second)=$sth -> fetchrow)
   #                  {
   #                       $forbidden{$first}=1;
   #                  }
                     $sth->finish;
   
           return $tmp-($x?$c:0);
 }  }
 sub GetMaxQId {  sub GetMaxQId {
         my ($dbh) = @_;          my ($dbh) = @_;
Line 1876  MAIN: Line 1924  MAIN:
                 exit                  exit
         }          }
   
         if ($tour && (!param('answers')||!param('answers')<=1))          if ($tour && !param('qnumber') && (!param('answers')||(param('answers')<=1)))
         {                 {       
                 my $n=param('tour');                  my $n=param('tour');
                 $n=~s/.txt$//;                          $n=~s/.txt$//;        

Removed from v.1.124  
changed lines
  Added in v.1.126


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