--- db/prgsrc/db.cgi 2002/01/14 11:31:43 1.59 +++ db/prgsrc/db.cgi 2002/06/15 02:20:23 1.69 @@ -43,6 +43,7 @@ my ($SRCPATH) = "$PWD/../dimrub/src"; my ($ZIP) = "/home/piataev/bin/zip"; my $DUMPFILE = "/tmp/chgkdump"; my ($SENDMAIL) = "/usr/sbin/sendmail"; +my ($TMPDIR) = "/tmp"; my ($TMSECS) = 30*24*60*60; my (%RevMonths) = ('Jan', '0', 'Feb', '1', 'Mar', '2', 'Apr', '3', 'May', '4', 'Jun', '5', @@ -51,6 +52,9 @@ my (%RevMonths) = 'Янв', '0', 'Фев', 1, 'Мар', 2, 'Апр', 3, 'Май', '4', 'Июн', '5', 'Июл', 6, 'Авг', '7', 'Сен', '8', 'Окт', '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. sub NewEnough { @@ -106,7 +110,7 @@ sub GetTourQuestions { my (@arr, @Questions); my ($sth) = $dbh->prepare("SELECT QuestionId FROM Questions - WHERE ParentId=$ParentId"); + WHERE ParentId=$ParentId order by Number"); $sth->execute; @@ -157,7 +161,7 @@ sub printform my $inputstring=textfield(-name=>'sstr', -default=>param('sstr')||'', -size=>30, - -maxlength=>30); + -maxlength=>50); my $qnumber="Выводить по".br. textfield(-name=>'kvo', -default=>param('kvo')||'150', -size=>3, @@ -641,7 +645,7 @@ sub PrintList { print "$nav".br."\n"; for (my $i = $first; $i <= $last; $i++) { - my $output = &PrintQuestion($dbh, $$Questions[$i-1], 1, $i, 1); + my $output = &PrintQuestion($dbh, $$Questions[$i-1], 1, 0, 1); if (param('metod') eq 'rus' || param('metod') eq 'proxy') { $output=~s/\b($shablon)\b/\$1\<\/strong\>/gi; @@ -817,7 +821,8 @@ sub PrintTournament { } } else { my ($qnum) = GetQNum($dbh); - $output .= h2("Банк Вопросов: $qnum вопросов") . p . "\n"; + $output .= h2("Банк Вопросов: $qnum вопрос".&Suffix($qnum)) + . p . "\n"; } for ($i = 0; $i <= $#Tours; $i++) { @@ -836,6 +841,7 @@ sub PrintTournament { $qnum = ''; } if ($Tournament{'Type'} =~ /Г/) { + $SingleTour=0; $imgsrc = "/icons/folder.gif"; $alt = "[*]"; } else { @@ -1005,6 +1011,9 @@ sub PrintField { $value =~ s/^\s+/
    /mg; $value =~ s/^\|([^\n]*)/
$1<\/pre>/mg;
 	    $value =~ s/\s+-+\s+/ – /mg;
+#	    $value =~ s/(\s)"/$1“/mg;
+#	    $value =~ s/^"/“/mg;
+#	    $value =~ s/"/”/mg;
 	}
 
 
@@ -1018,6 +1027,8 @@ sub PrintQuestion {
 	my ($dbh, $Id, $answer, $qnum, $title, $text) = @_;
 	my ($output, $titles) = ('', '');
 	my (%Question) = &GetQuestion($dbh, $Id);
+	$qnum = $Question{'Number'}
+		if ($qnum == 0);
 	if (!$text) {
 		$output .= hr({width=>"50%"});
 		if ($title) {
@@ -1030,18 +1041,18 @@ sub PrintQuestion {
 					 a({href=>url . "?tour=$fname"}, $Tournament{'Title'}, $Tournament{'PlayedAt'}));
 			$titles .=
 				dl(dd(img({src=>"/icons/folder.open.gif"}) . " " .
-					a({href=>url . "?tour=$fname.$Tour{Number}"}, $Tour{'Title'})));
+					a({href=>url . "?tour=$fname.$Tour{Number}#$qnum"}, $Tour{'Title'})));
 		}
 		$output .= dl(strong($titles));
 	}
 
-	$qnum = $Question{'Number'}
-		if ($qnum == 0);
+
+	$output.= "";
 
 	$output .=
 		&PrintField("Вопрос $qnum", $Question{'Question'}, $text);
 
-	if ($answer) {
+	if ($answer==1) {
 		$output .=
 			&PrintField("Ответ", $Question{'Answer'}, $text);
 
@@ -1087,6 +1098,38 @@ sub PrintQuestion {
 			$output .= &PrintField("Комментарии", $Question{'Comments'}, $text);
 		}
 	}
+	elsif ($answer==2) {
+	  my $text=$Question{'Answer'};
+	  $text=~s/\n/