koha-cvs
[Top][All Lists]
Advanced

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

[Koha-cvs] CVS: koha/C4 Biblio.pm,1.113,1.114 SearchMarc.pm,1.35,1.36


From: Paul POULAIN
Subject: [Koha-cvs] CVS: koha/C4 Biblio.pm,1.113,1.114 SearchMarc.pm,1.35,1.36
Date: Mon, 03 Jan 2005 02:48:40 -0800

Update of /cvsroot/koha/koha/C4
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20615/C4

Modified Files:
        Biblio.pm SearchMarc.pm 
Log Message:
* bugfix for the search on a MARC detail, when you clic on the magnifying glass 
(caused an internal server error)
* partial support of the "linkage" MARC feature : if you enter a "link" on a 
MARC subfield, the magnifying glass won't search on the field, but on the 
linked field. I agree it's a partial support. Will be improved, but I need to 
investigate MARC21 & UNIMARC diffs on this topic.

Index: Biblio.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Biblio.pm,v
retrieving revision 1.113
retrieving revision 1.114
diff -C2 -r1.113 -r1.114
*** Biblio.pm   10 Dec 2004 16:27:53 -0000      1.113
--- Biblio.pm   3 Jan 2005 10:48:33 -0000       1.114
***************
*** 254,258 ****
      $sth =
        $dbh->prepare(
! "select tagfield,tagsubfield,$libfield as lib,tab, mandatory, 
repeatable,authorised_value,authtypecode,value_builder,kohafield,seealso,hidden,isurl
 from marc_subfield_structure where frameworkcode=? order by 
tagfield,tagsubfield"
      );
      $sth->execute($frameworkcode);
--- 254,258 ----
      $sth =
        $dbh->prepare(
! "select tagfield,tagsubfield,$libfield as lib,tab, mandatory, 
repeatable,authorised_value,authtypecode,value_builder,kohafield,seealso,hidden,isurl,link
 from marc_subfield_structure where frameworkcode=? order by 
tagfield,tagsubfield"
      );
      $sth->execute($frameworkcode);
***************
*** 266,269 ****
--- 266,270 ----
      my $hidden;
      my $isurl;
+       my $link;
  
      while (
***************
*** 271,275 ****
          $mandatory,     $repeatable, $authorised_value, $authtypecode,
          $value_builder, $kohafield,  $seealso,          $hidden,
!         $isurl )
          = $sth->fetchrow
        )
--- 272,276 ----
          $mandatory,     $repeatable, $authorised_value, $authtypecode,
          $value_builder, $kohafield,  $seealso,          $hidden,
!         $isurl,                       $link )
          = $sth->fetchrow
        )
***************
*** 286,289 ****
--- 287,291 ----
          $res->{$tag}->{$subfield}->{hidden}           = $hidden;
          $res->{$tag}->{$subfield}->{isurl}            = $isurl;
+         $res->{$tag}->{$subfield}->{link}            = $link;
      }
      return $res;
***************
*** 2633,2636 ****
--- 2635,2642 ----
  # $Id$
  # $Log$
+ # Revision 1.114  2005/01/03 10:48:33  tipaul
+ # * bugfix for the search on a MARC detail, when you clic on the magnifying 
glass (caused an internal server error)
+ # * partial support of the "linkage" MARC feature : if you enter a "link" on 
a MARC subfield, the magnifying glass won't search on the field, but on the 
linked field. I agree it's a partial support. Will be improved, but I need to 
investigate MARC21 & UNIMARC diffs on this topic.
+ #
  # Revision 1.113  2004/12/10 16:27:53  tipaul
  # limiting the number of search term to 8. There was no limit before, but 8 
words seems to be the upper limit mySQL can deal with (in less than a second. 
tested on a DB with 13 000 items)

Index: SearchMarc.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/SearchMarc.pm,v
retrieving revision 1.35
retrieving revision 1.36
diff -C2 -r1.35 -r1.36
*** SearchMarc.pm       10 Dec 2004 16:27:53 -0000      1.35
--- SearchMarc.pm       3 Jan 2005 10:48:36 -0000       1.36
***************
*** 167,170 ****
--- 167,171 ----
  sub catalogsearch {
        my ($dbh, $tags, $and_or, $excluding, $operator, $value, 
$offset,$length,$orderby) = @_;
+       warn "@$tags[0], @$and_or[0], @$excluding[0], @$operator[0], 
@$value[0], $offset,$length,$orderby";
        # build the sql request. She will look like :
        # select m1.bibid
***************
*** 191,198 ****
        
        #last minute stripping out of ' and ,
!       foreach $_ (@$value) {
!       $_=~ s/\'/ /g;
!       $_=~ s/\,/ /g;
!       }
        
        for(my $i = 0 ; $i <= $#{$value} ; $i++)
--- 192,200 ----
        
        #last minute stripping out of ' and ,
! # paul : quoting, it's done a few lines lated.
! #     foreach $_ (@$value) {
! #             $_=~ s/\'/ /g;
! #             $_=~ s/\,/ /g;
! #     }
        
        for(my $i = 0 ; $i <= $#{$value} ; $i++)
***************
*** 202,206 ****
                # remove % at the beginning
                @$value[$i] =~ s/^%//g;
!           @$value[$i] =~ s/(\.|\?|\:|\!|\'|,|\-|\"|\(|\)|\[|\]|\{|\})/ /g;
                if(@$excluding[$i])     # NOT statements
                {
--- 204,208 ----
                # remove % at the beginning
                @$value[$i] =~ s/^%//g;
!           @$value[$i] =~ s/(\.|\?|\:|\!|\'|,|\-|\"|\(|\)|\[|\]|\{|\})/ /g if 
@$operator[$i] eq "contains";
                if(@$excluding[$i])     # NOT statements
                {




reply via email to

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