koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] CVS: koha/C4 Search.pm,1.54,1.55


From: Ambrose Li
Subject: [Koha-cvs] CVS: koha/C4 Search.pm,1.54,1.55
Date: Sun, 02 Feb 2003 18:15:45 -0800

Update of /cvsroot/koha/koha/C4
In directory sc8-pr-cvs1:/tmp/cvs-serv19703/C4

Modified Files:
        Search.pm 
Log Message:
Minor code cleanup
(Implemented some simple FIXME's in C4/Search.pm)


Index: Search.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Search.pm,v
retrieving revision 1.54
retrieving revision 1.55
diff -C2 -r1.54 -r1.55
*** Search.pm   2 Feb 2003 08:47:01 -0000       1.54
--- Search.pm   3 Feb 2003 02:15:43 -0000       1.55
***************
*** 201,219 ****
        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);
        } 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);
  
-                       }
-               }
        }
        if ($env->{itemcount} eq '1') {
--- 201,214 ----
        my ($count,@results);
        #  print STDERR "Doing a search \n";
        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 {
!               ($count,@results)=CatSearch($env,'loose',$search,$num,$offset);
  
        }
        if ($env->{itemcount} eq '1') {
***************
*** 864,873 ****
        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;
        my $title = lc($search->{'title'});
        if ($type eq 'loose') {
--- 859,865 ----
        my $query = '';
        my @results;
!       for my $field ('title', 'author', 'illustrator') {
!           $search->{$field} = quotemeta($search->{$field});
!       }
        my $title = lc($search->{'title'});
        if ($type eq 'loose') {
***************
*** 1029,1035 ****
                # "Fantastic fiction", etc.
  
!               # FIXME - This can be rewritten as
!               #       if (lc($search->{"subject"}) eq "nz") {
!               if ($search->{'subject'} eq 'NZ' || $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)%' ) ";
--- 1021,1025 ----
                # "Fantastic fiction", etc.
  
!               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)%' ) ";




reply via email to

[Prev in Thread] Current Thread [Next in Thread]