From 32b87866ddb2b6be39f16b22ae4d436e5a40a455 Mon Sep 17 00:00:00 2001 From: acli Date: Mon, 3 Feb 2003 02:15:43 +0000 Subject: [PATCH] Minor code cleanup (Implemented some simple FIXME's in C4/Search.pm) --- C4/Search.pm | 28 +++++++++------------------- opac/opac-searchresults.pl | 7 ++----- 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/C4/Search.pm b/C4/Search.pm index 36fbc76855..ad8c18dd73 100755 --- a/C4/Search.pm +++ b/C4/Search.pm @@ -200,21 +200,16 @@ sub catalogsearch { # } my ($count,@results); # print STDERR "Doing a search \n"; - # FIXME - Use "elsif" to avoid this sort of deep nesting if ($search->{'itemnumber'} ne '' || $search->{'isbn'} ne ''){ print STDERR "Doing a precise search\n"; ($count,@results)=CatSearch($env,'precise',$search,$num,$offset); + } elsif ($search->{'subject'} ne ''){ + ($count,@results)=CatSearch($env,'subject',$search,$num,$offset); + } elsif ($search->{'keyword'} ne ''){ + ($count,@results)=&KeywordSearch($env,'keyword',$search,$num,$offset); } else { - if ($search->{'subject'} ne ''){ - ($count,@results)=CatSearch($env,'subject',$search,$num,$offset); - } else { - if ($search->{'keyword'} ne ''){ - ($count,@results)=&KeywordSearch($env,'keyword',$search,$num,$offset); - } else { - ($count,@results)=CatSearch($env,'loose',$search,$num,$offset); + ($count,@results)=CatSearch($env,'loose',$search,$num,$offset); - } - } } if ($env->{itemcount} eq '1') { foreach my $data (@results){ @@ -863,12 +858,9 @@ sub CatSearch { my $dbh = C4::Context->dbh; my $query = ''; my @results; - # FIXME - Why not just - # $search->{'title'} = quotemeta($search->{'title'}) - # to escape all questionable characters, not just single-quotes? - $search->{'title'}=~ s/'/\\'/g; - $search->{'author'}=~ s/'/\\'/g; - $search->{'illustrator'}=~ s/'/\\'/g; + for my $field ('title', 'author', 'illustrator') { + $search->{$field} = quotemeta($search->{$field}); + } my $title = lc($search->{'title'}); if ($type eq 'loose') { if ($search->{'author'} ne ''){ @@ -1028,9 +1020,7 @@ sub CatSearch { # "New Zealand", "SF" a synonym for both "Science fiction" and # "Fantastic fiction", etc. - # FIXME - This can be rewritten as - # if (lc($search->{"subject"}) eq "nz") { - if ($search->{'subject'} eq 'NZ' || $search->{'subject'} eq 'nz'){ + if (lc($search->{'subject'}) eq 'nz'){ $query.= " or (subject like 'NEW ZEALAND %' or subject like '% NEW ZEALAND %' or subject like '% NEW ZEALAND' or subject like '%(NEW ZEALAND)%' ) "; } elsif ( $search->{'subject'} =~ /^nz /i || $search->{'subject'} =~ / nz /i || $search->{'subject'} =~ / nz$/i){ diff --git a/opac/opac-searchresults.pl b/opac/opac-searchresults.pl index 9e9ef48ad0..eec82593cd 100755 --- a/opac/opac-searchresults.pl +++ b/opac/opac-searchresults.pl @@ -103,10 +103,8 @@ $template->param(numrecords => $count); my $nextstartfrom=($startfrom+$num<$count) ? ($startfrom+$num) : (-1); my $prevstartfrom=($startfrom-$num>=0) ? ($startfrom-$num) : (-1); $template->param(nextstartfrom => $nextstartfrom); -my $displaynext=1; -my $displayprev=0; -($nextstartfrom==-1) ? ($displaynext=0) : ($displaynext=1); -($prevstartfrom==-1) ? ($displayprev=0) : ($displayprev=1); +my $displaynext=($nextstartfrom==-1) ? 0 : 1; +my $displayprev=($prevstartfrom==-1) ? 0 : 1; $template->param(displaynext => $displaynext); $template->param(displayprev => $displayprev); $template->param(prevstartfrom => $prevstartfrom); @@ -128,4 +126,3 @@ if ($count>10) { $template->param(numbers => $numbers); output_html_with_http_headers $query, $cookie, $template->output; - -- 2.39.2