--- db/prgsrc/db.cgi 2001/12/05 01:55:21 1.44 +++ db/prgsrc/db.cgi 2001/12/10 20:37:23 1.47 @@ -2,7 +2,7 @@ use DBI; use CGI ':all'; -use Text::Query; +#use Text::Query; use strict; use Time::Local; use POSIX qw(locale_h); @@ -11,6 +11,7 @@ use locale; my $printqueries=0; my %forbidden=(); my $debug=0; #added by R7 +if (param('debug')) {$debug=1; $printqueries=1} my %fieldname= (0,'Question', 1, 'Answer', 2, 'Comments', 3, 'Authors', 4, 'Sources'); my %rusfieldname=('Question','Вопрос', 'Answer', 'Ответ', 'Comments', 'Комментарии', 'Authors', 'Автор', @@ -151,7 +152,8 @@ sub printform my $submit=submit(-value=>'Поиск'); my $inputstring=textfield(-name=>'sstr', -default=>param('sstr')||'', - -size=>50); + -size=>30, + -maxlength=>30); my @df=keys %searchin; @df=('Question', 'Answer') unless @df; my $fields=checkbox_group('searchin',['Question','Answer','Comments','Authors','Sources'], [@df], @@ -441,17 +443,17 @@ sub Search { my $sstr=$$s; my (@arr, @Questions, @fields); my (@sar, $i, $sth,$where,$query); - my $ip=$ENV{'REMOTE_ADDR'}; +# my $ip=$ENV{'REMOTE_ADDR'}; - $ip=$dbh->quote($ip); - $query= - "INSERT into queries (query,metod,searchin,ip) - values (". $dbh->quote($sstr).', '. - $dbh->quote($metod) . ', ' . - $dbh->quote(join ' ', grep $searchin{$_}, keys %searchin) . - ", $ip)"; -print $query if $printqueries; - $dbh -> do ($query); +# $ip=$dbh->quote($ip); +# $query= +# "INSERT into queries (query,metod,searchin,ip) +# values (". $dbh->quote($sstr).', '. +# $dbh->quote($metod) . ', ' . +# $dbh->quote(join ' ', grep $searchin{$_}, keys %searchin) . +# ", $ip)"; +#print $query if $printqueries; +# $dbh -> do ($query); if ($metod eq 'rus') { my @tasks=russearch($dbh,$sstr,$all,$allnf); @@ -537,7 +539,7 @@ print "@Questions" if $printqueries; пП рР сС тТ уУ фФ хХ цЦ чЧ шШ щЩ ьЬ ыЫ эЭ юЮ яЯ/; sub NoCase { - my ($sstr) = shift; + my ($sstr) = shift; my ($res); if (($res) = grep(/$sstr/, @letters)) { @@ -958,31 +960,31 @@ sub PrintQuestion { if ($Question{'Authors'}) { my $q=$Question{'Authors'}; - my $sth=$dbh->prepare("select Authors.Id,Name, Surname, Nicks from Authors, A2Q - where Authors.Id=Author And Question=$Id"); - $sth->execute; - my ($AuthorId,$Name, $Surname,$other,$Nicks); - - while ((($AuthorId,$Name, $Surname,$Nicks)=$sth->fetchrow),$AuthorId) - { - my ($firstletter)=$Name=~m/^./g; - $Name=~s/\./\\\./g; - my $sha="(?:$Name\\s+$Surname)|(?:$Surname\\s+$Name)|(?:$firstletter\\.\\s*$Surname)|(?:$Surname\\s+$firstletter\\.)|(?:$Surname)|(?:$Name)"; - if ($Nicks) - { - $Nicks=~s/^\|//; - foreach (split /\|/, $Nicks) - { - s/\s+/ /g; - s/\s+$//; - s/ /\\s+/g; - s/\./\\\./g; - if (s/>$//) {$sha="$sha|(?:$_)"} - else {$sha="(?:$_)|$sha"} - } - } - $q=~s/($sha)/a({href=>url."?qofauthor=$AuthorId"},$1)/ei; - } +# my $sth=$dbh->prepare("select Authors.Id,Name, Surname, Nicks from Authors, A2Q +# where Authors.Id=Author And Question=$Id"); +# $sth->execute; +# my ($AuthorId,$Name, $Surname,$other,$Nicks); + +# while ((($AuthorId,$Name, $Surname,$Nicks)=$sth->fetchrow),$AuthorId) +# { +# my ($firstletter)=$Name=~m/^./g; +# $Name=~s/\./\\\./g; +# my $sha="(?:$Name\\s+$Surname)|(?:$Surname\\s+$Name)|(?:$firstletter\\.\\s*$Surname)|(?:$Surname\\s+$firstletter\\.)|(?:$Surname)|(?:$Name)"; +# if ($Nicks) +# { +# $Nicks=~s/^\|//; +# foreach (split /\|/, $Nicks) +# { +# s/\s+/ /g; +# s/\s+$//; +# s/ /\\s+/g; +# s/\./\\\./g; +# if (s/>$//) {$sha="$sha|(?:$_)"} +# else {$sha="(?:$_)|$sha"} +# } +# } +# $q=~s/($sha)/a({href=>url."?qofauthor=$AuthorId"},$1)/ei; +# } $output .= &PrintField("Автор(ы)", $q, $text); @@ -997,8 +999,8 @@ sub PrintQuestion { $output .= &PrintField("Комментарии", $Question{'Comments'}, $text); } } - $output.=br.a({href=> url."?metod=proxy&qid=$Id"}, 'Близкие вопросы').p - if $answer; +# $output.=br.a({href=> url."?metod=proxy&qid=$Id"}, 'Близкие вопросы').p +# if $answer; return $output; }