Diff for /db/prgsrc/db.cgi between versions 1.59 and 1.60

version 1.59, 2002/01/14 11:31:43 version 1.60, 2002/01/15 03:34:31
Line 43  my ($SRCPATH) = "$PWD/../dimrub/src"; Line 43  my ($SRCPATH) = "$PWD/../dimrub/src";
 my ($ZIP) = "/home/piataev/bin/zip";  my ($ZIP) = "/home/piataev/bin/zip";
 my $DUMPFILE = "/tmp/chgkdump";  my $DUMPFILE = "/tmp/chgkdump";
 my ($SENDMAIL) = "/usr/sbin/sendmail";  my ($SENDMAIL) = "/usr/sbin/sendmail";
   my ($TMPDIR) = "/tmp";
 my ($TMSECS) = 30*24*60*60;  my ($TMSECS) = 30*24*60*60;
 my (%RevMonths) =  my (%RevMonths) =
         ('Jan', '0', 'Feb', '1', 'Mar', '2', 'Apr', '3', 'May', '4', 'Jun', '5',          ('Jan', '0', 'Feb', '1', 'Mar', '2', 'Apr', '3', 'May', '4', 'Jun', '5',
Line 51  my (%RevMonths) = Line 52  my (%RevMonths) =
          'ñÎ×', '0', 'æÅ×', 1, 'íÁÒ', 2, 'áÐÒ', 3, 'íÁÊ', '4',           'ñÎ×', '0', 'æÅ×', 1, 'íÁÒ', 2, 'áÐÒ', 3, 'íÁÊ', '4',
          'éÀÎ', '5', 'éÀÌ', 6, 'á×Ç', '7', 'óÅÎ', '8',           'éÀÎ', '5', 'éÀÌ', 6, 'á×Ç', '7', 'óÅÎ', '8',
          'ïËÔ', '9', 'îÏÑ', '19', 'äÅË', '11');           'ïËÔ', '9', 'îÏÑ', '19', 'äÅË', '11');
   my @months=('000','Jan',"Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct",
             "Nov","Dec");
   
   
 # Determine whether the given time is within 2 months from now.  # Determine whether the given time is within 2 months from now.
 sub NewEnough {  sub NewEnough {
Line 1005  sub PrintField { Line 1009  sub PrintField {
             $value =~ s/^\s+/<br>&nbsp;&nbsp;&nbsp;&nbsp;/mg;              $value =~ s/^\s+/<br>&nbsp;&nbsp;&nbsp;&nbsp;/mg;
             $value =~ s/^\|([^\n]*)/<pre>$1<\/pre>/mg;              $value =~ s/^\|([^\n]*)/<pre>$1<\/pre>/mg;
             $value =~ s/\s+-+\s+/&nbsp;&#0150; /mg;              $value =~ s/\s+-+\s+/&nbsp;&#0150; /mg;
               $value =~ s/(\s)"/$1&#147;/mg;
               $value =~ s/^"/&#147;/mg;
               $value =~ s/"/&#148;/mg;
         }          }
   
   
Line 1178  sub PrintArchive { Line 1185  sub PrintArchive {
                 }                  }
                 return @list;                  return @list;
         }          }
         return "$SRCPATH/$Tournament{'FileName'} ";  #       return "$SRCPATH/$Tournament{'FileName'} ";
           return "$TMPDIR/$Tournament{'FileName'} ";
 }  }
   
 sub PrintAll {  sub PrintAll {
Line 1345  a({href=>url."?authors=surname"},"ÆÁÍÉÌÉ Line 1353  a({href=>url."?authors=surname"},"ÆÁÍÉÌÉ
 }  }
   
   
   sub WriteFile {
     my ($dbh,$fname) = @_;
     $fname=~s/\.txt$//;
     $fname=~s/.*\/(\w+)/$1/;
     my $query= "SELECT Id, Title, Copyright, Info, URL, 
                         Editors, EnteredBy, PlayedAt, CreatedAt 
                        from Tournaments where FileName=".$dbh->quote("$fname.txt");
     my $sth=$dbh->prepare($query);
     my (%Question,%editor,%qnumber,%copyright,%author,%vid,%tourtitle);
     $sth->execute;
     my ($Id, $Title, $Copyright, $Info, $URL, 
      $Editors, $EnteredBy, $PlayedAt, $CreatedAt)=
         $sth->fetchrow;
     return -1 unless $Id;
     open (OUT, ">$TMPDIR/$fname.txt");
     print OUT "þÅÍÐÉÏÎÁÔ:\n$Title\n\n";
     my $date=$PlayedAt;
     my ($year,$month,$day)=split /-/, $date;
   #  $month=0,$date=0 if $year && $month==1 && $day==1;
     my $pdate=sprintf("%02d-%3s-%4d",$day,$months[$month],$year);
   
     print OUT "äÁÔÁ:\n$pdate\n\n" if $date;
   
     print OUT "URL:\n$URL\n\n" if $URL;
   
     print OUT "éÎÆÏ:\n$Info\n\n" if $Info;
   
     print OUT "ëÏÐÉÒÁÊÔ:\n$Copyright\n\n" if $Copyright;
   
     print OUT "òÅÄÁËÔÏÒ:\n$Editors\n\n" if $Editors;
   
   
     $query= "SELECT Id, Title, Copyright, Editors from Tournaments where ParentId=$Id order by Id";
     $sth=$dbh->prepare($query);
     $sth->execute;
     my ($tourid,$tourtitle,$cright,$editor,@tours,$vid,$author,$tourauthor);
   
   
     while (($tourid,$tourtitle,$cright,$editor)=$sth->fetchrow,$tourid)
     {
   #    $text{$tourid}="ôÕÒ:\n$tourtitle\n\n";
       $query= "SELECT * from Questions where ParentId=$tourid order by QuestionId";
       my $sth1=$dbh->prepare($query);
       $sth1->execute;
       push(@tours,$tourid);
       $tourtitle{$tourid}=$tourtitle;
       $copyright{$tourid}=$cright;
       $editor{$tourid}=$editor;
       $vid='';
       my $author='';
       my $eqauthor=1;
       my $qnumber=0;
       my @arr;
       while ( @arr=$sth1->fetchrow, $arr[0])
       {
           my($i, $name) = 0;
           $qnumber++;
           foreach $name (@{$sth1->{NAME}}) {
                   $arr[$i]=~s/^(.*?)\s*$/$1/;
                   $Question{$tourid}[$qnumber]{$name} = $arr[$i++];
           }
           if ($vid)
           {
             if ($vid ne $Question{$tourid}[$qnumber]{'Type'}) {print STDERR "Warning: Different types for Tournament $tourid\n"}
           } else 
           {
               $vid=$Question{$tourid}[$qnumber]{'Type'};
           } 
   
           if ($author)
           {
             if ($author ne $Question{$tourid}[$qnumber]{'Authors'})  
             {
                $eqauthor=0;
             }
           } else 
           {
               $author=$Question{$tourid}[$qnumber]{'Authors'};
               $eqauthor=0 unless $author;
           } 
       }
       $vid{$tourid}=$vid;
       $qnumber{$tourid}=$qnumber;
       $author{$tourid}=$eqauthor ? $author : '';
     }
   
   
     $vid='';
     my $eqvid=1;
     my $eqauthor=1;
     foreach (@tours)
     {
        $vid||=$vid{$_};
        if ($vid{$_} ne $vid)
        {
           $eqvid=0;
        }
        $author||=$author{$_};
        if (!$author{$_} || ($author{$_} ne $author))
        {
           $eqauthor=0;
        }
     }
     
     print OUT "÷ÉÄ:\n$vid\n\n" if $eqvid;
     print OUT "á×ÔÏÒ:\n$author\n\n" if $eqauthor;
   
     foreach my $tour(@tours)
     {
        print OUT "ôÕÒ:\n$tourtitle{$tour}\n\n";
        print OUT "÷ÉÄ:\n$vid{$tour}\n\n" if  !$eqvid;
        print OUT "ëÏÐÉÒÁÊÔ:\n$copyright{$tour}\n\n" if $copyright{$tour} && ($copyright{$tour} ne $Copyright);
        print OUT "òÅÄÁËÔÏÒ:\n$editor{$tour}\n\n" if $editor{$tour} && ($editor{$tour} ne $Editors);
        $tourauthor=0;
        if (!$eqauthor && $author{$tour})
        { 
          print OUT "á×ÔÏÒ:\n$author{$tour}\n\n";
          $tourauthor=1;
        }
        foreach my $q(1..$qnumber{$tour})
        {
           print OUT "÷ÏÐÒÏÓ $q:\n".$Question{$tour}[$q]{'Question'}."\n\n";
           print OUT  "ïÔ×ÅÔ:\n".$Question{$tour}[$q]{'Answer'}."\n\n";
           print OUT  "á×ÔÏÒ:\n".$Question{$tour}[$q]{'Authors'}."\n\n" 
                  if !$tourauthor && !$eqauthor && $Question{$tour}[$q]{'Authors'};
           print OUT  "ëÏÍÍÅÎÔÁÒÉÊ:\n".$Question{$tour}[$q]{'Comments'}."\n\n" 
                  if $Question{$tour}[$q]{'Comments'};
           print OUT "éÓÔÏÞÎÉË:\n".$Question{$tour}[$q]{'Sources'}."\n\n" 
                  if $Question{$tour}[$q]{'Sources'};
           print OUT "òÅÊÔÉÎÇ:\n".$Question{$tour}[$q]{'Rating'}."\n\n" 
                  if $Question{$tour}[$q]{'Rating'};
   
        }
     }
   
     close OUT;
   
   
   
   }
   
   
 MAIN:  MAIN:
 {  {
Line 1461  $sstr=~s/[^ÊÃÕËÅÎÇÛÝÚÈßÆÙ×ÁÐÒÏÌÄÖÜÑÞÓÍÉÔ Line 1610  $sstr=~s/[^ÊÃÕËÅÎÇÛÝÚÈßÆÙ×ÁÐÒÏÌÄÖÜÑÞÓÍÉÔ
                          );                           );
             $tour = (param('tour')) ? param('tour') : 0;              $tour = (param('tour')) ? param('tour') : 0;
             my (@files) = &PrintArchive($dbh, $tour);              my (@files) = &PrintArchive($dbh, $tour);
               WriteFile($dbh,$_) foreach @files;
             open F, "$ZIP -j - $SRCPATH/COPYRIGHT @files |";              open F, "$ZIP -j - $SRCPATH/COPYRIGHT @files |";
             print (<F>);              print (<F>);
             close F;              close F;

Removed from v.1.59  
changed lines
  Added in v.1.60


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