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.78.2.3,1.78.2.4


From: Paul POULAIN
Subject: [Koha-cvs] CVS: koha/C4 Biblio.pm,1.78.2.3,1.78.2.4
Date: Thu, 12 Feb 2004 05:41:58 -0800

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

Modified Files:
      Tag: rel_2_0
        Biblio.pm 
Log Message:
deleting duplicated subs (by buggy copy/paste probably)

Index: Biblio.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Biblio.pm,v
retrieving revision 1.78.2.3
retrieving revision 1.78.2.4
diff -C2 -r1.78.2.3 -r1.78.2.4
*** Biblio.pm   10 Feb 2004 13:15:46 -0000      1.78.2.3
--- Biblio.pm   12 Feb 2004 13:41:56 -0000      1.78.2.4
***************
*** 2192,2195 ****
--- 2192,2198 ----
  # $Id$
  # $Log$
+ # Revision 1.78.2.4  2004/02/12 13:41:56  tipaul
+ # deleting duplicated subs (by buggy copy/paste probably)
+ #
  # Revision 1.78.2.3  2004/02/10 13:15:46  tipaul
  # removing 2 warnings
***************
*** 2541,3147 ****
  # Note we have decided with steve that a old-biblio <=> a MARC-Biblio.
  #
- 
- sub itemcount{
-   my ($biblio)address@hidden;
-   my $dbh = C4::Context->dbh;
-   my $query="Select count(*) from items where biblionumber=$biblio";
- #  print $query;
-   my $sth=$dbh->prepare($query);
-   $sth->execute;
-   my $data=$sth->fetchrow_hashref;
-   $sth->finish;
-   return($data->{'count(*)'});
- }
- 
- =item getorder
- 
-   ($order, $ordernumber) = &getorder($biblioitemnumber, $biblionumber);
- 
- Looks up the order with the given biblionumber and biblioitemnumber.
- 
- Returns a two-element array. C<$ordernumber> is the order number.
- C<$order> is a reference-to-hash describing the order; its keys are
- fields from the biblio, biblioitems, aqorders, and aqorderbreakdown
- tables of the Koha database.
- 
- =cut
- #'
- # FIXME - This is effectively identical to &C4::Catalogue::getorder.
- # Pick one and stick with it.
- sub getorder{
-   my ($bi,$bib)address@hidden;
-   my $dbh = C4::Context->dbh;
-   my $query="Select ordernumber
-       from aqorders
-       where biblionumber=? and biblioitemnumber=?";
-   my $sth=$dbh->prepare($query);
-   $sth->execute($bib,$bi);
-   # FIXME - Use fetchrow_array(), since we're only interested in the one
-   # value.
-   my $ordnum=$sth->fetchrow_hashref;
-   $sth->finish;
-   my $order=getsingleorder($ordnum->{'ordernumber'});
- #  print $query;
-   return ($order,$ordnum->{'ordernumber'});
- }
- 
- =item getsingleorder
- 
-   $order = &getsingleorder($ordernumber);
- 
- Looks up an order by order number.
- 
- Returns a reference-to-hash describing the order. The keys of
- C<$order> are fields from the biblio, biblioitems, aqorders, and
- aqorderbreakdown tables of the Koha database.
- 
- =cut
- #'
- # FIXME - This is effectively identical to
- # &C4::Catalogue::getsingleorder.
- # Pick one and stick with it.
- sub getsingleorder {
-   my ($ordnum)address@hidden;
-   my $dbh = C4::Context->dbh;
-   my $query="Select * from biblio,biblioitems,aqorders,aqorderbreakdown
-   where aqorders.ordernumber=?
-   and biblio.biblionumber=aqorders.biblionumber and
-   biblioitems.biblioitemnumber=aqorders.biblioitemnumber and
-   aqorders.ordernumber=aqorderbreakdown.ordernumber";
-   my $sth=$dbh->prepare($query);
-   $sth->execute($ordnum);
-   my $data=$sth->fetchrow_hashref;
-   $sth->finish;
-   return($data);
- }
- 
- sub newbiblio {
-       my ($biblio) = @_;
-       my $dbh    = C4::Context->dbh;
-       my $bibnum=OLDnewbiblio($dbh,$biblio);
-       # finds new (MARC bibid
- #     my $bibid = &MARCfind_MARCbibid_from_oldbiblionumber($dbh,$bibnum);
-       my $record = &MARCkoha2marcBiblio($dbh,$bibnum);
-       MARCaddbiblio($dbh,$record,$bibnum);
-       return($bibnum);
- }
- 
- =item modbiblio
- 
-   $biblionumber = &modbiblio($biblio);
- 
- Update a biblio record.
- 
- C<$biblio> is a reference-to-hash whose keys are the fields in the
- biblio table in the Koha database. All fields must be present, not
- just the ones you wish to change.
- 
- C<&modbiblio> updates the record defined by
- C<$biblio-E<gt>{biblionumber}> with the values in C<$biblio>.
- 
- C<&modbiblio> returns C<$biblio-E<gt>{biblionumber}> whether it was
- successful or not.
- 
- =cut
- 
- sub modbiblio {
-       my ($biblio) = @_;
-       my $dbh  = C4::Context->dbh;
-       my $biblionumber=OLDmodbiblio($dbh,$biblio);
-       my $record = MARCkoha2marcBiblio($dbh,$biblionumber,$biblionumber);
-       # finds new (MARC bibid
-       my $bibid = 
&MARCfind_MARCbibid_from_oldbiblionumber($dbh,$biblionumber);
-       MARCmodbiblio($dbh,$bibid,$record,0);
-       return($biblionumber);
- } # sub modbiblio
- 
- =item modsubtitle
- 
-   &modsubtitle($biblionumber, $subtitle);
- 
- Sets the subtitle of a book.
- 
- C<$biblionumber> is the biblionumber of the book to modify.
- 
- C<$subtitle> is the new subtitle.
- 
- =cut
- 
- sub modsubtitle {
-   my ($bibnum, $subtitle) = @_;
-   my $dbh   = C4::Context->dbh;
-   &OLDmodsubtitle($dbh,$bibnum,$subtitle);
- } # sub modsubtitle
- 
- =item modaddauthor
- 
-   &modaddauthor($biblionumber, $author);
- 
- Replaces all additional authors for the book with biblio number
- C<$biblionumber> with C<$author>. If C<$author> is the empty string,
- C<&modaddauthor> deletes all additional authors.
- 
- =cut
- 
- sub modaddauthor {
-     my ($bibnum, $author) = @_;
-     my $dbh   = C4::Context->dbh;
-     &OLDmodaddauthor($dbh,$bibnum,$author);
- } # sub modaddauthor
- 
- =item modsubject
- 
-   $error = &modsubject($biblionumber, $force, @subjects);
- 
- $force - a subject to force
- 
- $error - Error message, or undef if successful.
- 
- =cut
- 
- sub modsubject {
-   my ($bibnum, $force, @subject) = @_;
-   my $dbh   = C4::Context->dbh;
-   my $error= &OLDmodsubject($dbh,$bibnum,$force, @subject);
-   return($error);
- } # sub modsubject
- 
- sub modbibitem {
-     my ($biblioitem) = @_;
-     my $dbh   = C4::Context->dbh;
-     &OLDmodbibitem($dbh,$biblioitem);
- } # sub modbibitem
- 
- sub modnote {
-   my ($bibitemnum,$note)address@hidden;
-   my $dbh = C4::Context->dbh;
-   &OLDmodnote($dbh,$bibitemnum,$note);
- }
- 
- sub newbiblioitem {
-       my ($biblioitem) = @_;
-       my $dbh   = C4::Context->dbh;
-       my $bibitemnum = &OLDnewbiblioitem($dbh,$biblioitem);
-       my $MARCbiblio= MARCkoha2marcBiblio($dbh,0,$bibitemnum); # the 0 means 
"do NOT retrieve biblio, only biblioitem, in the MARC record
-       my $bibid = 
&MARCfind_MARCbibid_from_oldbiblionumber($dbh,$biblioitem->{biblionumber});
-       &MARCaddbiblio($dbh,$MARCbiblio,$biblioitem->{biblionumber},$bibid);
-       return($bibitemnum);
- }
- 
- sub newsubject {
-   my ($bibnum)address@hidden;
-   my $dbh = C4::Context->dbh;
-   &OLDnewsubject($dbh,$bibnum);
- }
- 
- sub newsubtitle {
-     my ($bibnum, $subtitle) = @_;
-     my $dbh   = C4::Context->dbh;
-     &OLDnewsubtitle($dbh,$bibnum,$subtitle);
- }
- 
- sub newitems {
-   my ($item, @barcodes) = @_;
-   my $dbh   = C4::Context->dbh;
-   my $errors;
-   my $itemnumber;
-   my $error;
-   foreach my $barcode (@barcodes) {
-       ($itemnumber,$error)=&OLDnewitems($dbh,$item,uc($barcode));
-       $errors .=$error;
-       my $MARCitem = 
&MARCkoha2marcItem($dbh,$item->{biblionumber},$itemnumber);
-       &MARCadditem($dbh,$MARCitem,$item->{biblionumber});
-   }
-   return($errors);
- }
- 
- sub moditem {
-     my ($item) = @_;
-     my $dbh = C4::Context->dbh;
-     &OLDmoditem($dbh,$item);
-     my $MARCitem = 
&MARCkoha2marcItem($dbh,$item->{'biblionumber'},$item->{'itemnum'});
-     my $bibid = 
&MARCfind_MARCbibid_from_oldbiblionumber($dbh,$item->{biblionumber});
-     &MARCmoditem($dbh,$MARCitem,$bibid,$item->{itemnum},0);
- }
- 
- sub checkitems{
-   my ($count,@barcodes)address@hidden;
-   my $dbh = C4::Context->dbh;
-   my $error;
-   for (my $i=0;$i<$count;$i++){
-     $barcodes[$i]=uc $barcodes[$i];
-     my $query="Select * from items where barcode='$barcodes[$i]'";
-     my $sth=$dbh->prepare($query);
-     $sth->execute;
-     if (my $data=$sth->fetchrow_hashref){
-       $error.=" Duplicate Barcode: $barcodes[$i]";
-     }
-     $sth->finish;
-   }
-   return($error);
- }
- 
- sub countitems{
-   my ($bibitemnum)address@hidden;
-   my $dbh = C4::Context->dbh;
-   my $query="Select count(*) from items where biblioitemnumber='$bibitemnum'";
-   my $sth=$dbh->prepare($query);
-   $sth->execute;
-   my $data=$sth->fetchrow_hashref;
-   $sth->finish;
-   return($data->{'count(*)'});
- }
- 
- sub delitem{
-   my ($itemnum)address@hidden;
-   my $dbh = C4::Context->dbh;
-   &OLDdelitem($dbh,$itemnum);
- }
- 
- sub deletebiblioitem {
-     my ($biblioitemnumber) = @_;
-     my $dbh   = C4::Context->dbh;
-     &OLDdeletebiblioitem($dbh,$biblioitemnumber);
- } # sub deletebiblioitem
- 
- 
- sub delbiblio {
-       my ($biblio)address@hidden;
-       my $dbh = C4::Context->dbh;
-       &OLDdelbiblio($dbh,$biblio);
-       my $bibid = &MARCfind_MARCbibid_from_oldbiblionumber($dbh,$biblio);
-       &MARCdelbiblio($dbh,$bibid,0);
- }
- 
- sub getitemtypes {
-   my $dbh   = C4::Context->dbh;
-   my $query = "select * from itemtypes order by description";
-   my $sth   = $dbh->prepare($query);
-     # || die "Cannot prepare $query" . $dbh->errstr;
-   my $count = 0;
-   my @results;
- 
-   $sth->execute;
-     # || die "Cannot execute $query\n" . $sth->errstr;
-   while (my $data = $sth->fetchrow_hashref) {
-     $results[$count] = $data;
-     $count++;
-   } # while
- 
-   $sth->finish;
-   return($count, @results);
- } # sub getitemtypes
- 
- sub getbiblio {
-     my ($biblionumber) = @_;
-     my $dbh   = C4::Context->dbh;
-     my $query = "Select * from biblio where biblionumber = $biblionumber";
-     my $sth   = $dbh->prepare($query);
-       # || die "Cannot prepare $query\n" . $dbh->errstr;
-     my $count = 0;
-     my @results;
- 
-     $sth->execute;
-       # || die "Cannot execute $query\n" . $sth->errstr;
-     while (my $data = $sth->fetchrow_hashref) {
-       $results[$count] = $data;
-       $count++;
-     } # while
- 
-     $sth->finish;
-     return($count, @results);
- } # sub getbiblio
- 
- sub getbiblioitem {
-     my ($biblioitemnum) = @_;
-     my $dbh   = C4::Context->dbh;
-     my $query = "Select * from biblioitems where
- biblioitemnumber = $biblioitemnum";
-     my $sth   = $dbh->prepare($query);
-     my $count = 0;
-     my @results;
- 
-     $sth->execute;
- 
-     while (my $data = $sth->fetchrow_hashref) {
-         $results[$count] = $data;
-       $count++;
-     } # while
- 
-     $sth->finish;
-     return($count, @results);
- } # sub getbiblioitem
- 
- sub getbiblioitembybiblionumber {
-     my ($biblionumber) = @_;
-     my $dbh   = C4::Context->dbh;
-     my $query = "Select * from biblioitems where biblionumber =
- $biblionumber";
-     my $sth   = $dbh->prepare($query);
-     my $count = 0;
-     my @results;
- 
-     $sth->execute;
- 
-     while (my $data = $sth->fetchrow_hashref) {
-         $results[$count] = $data;
-       $count++;
-     } # while
- 
-     $sth->finish;
-     return($count, @results);
- } # sub
- 
- sub getitemsbybiblioitem {
-     my ($biblioitemnum) = @_;
-     my $dbh   = C4::Context->dbh;
-     my $query = "Select * from items, biblio where
- biblio.biblionumber = items.biblionumber and biblioitemnumber
- = $biblioitemnum";
-     my $sth   = $dbh->prepare($query);
-       # || die "Cannot prepare $query\n" . $dbh->errstr;
-     my $count = 0;
-     my @results;
- 
-     $sth->execute;
-       # || die "Cannot execute $query\n" . $sth->errstr;
-     while (my $data = $sth->fetchrow_hashref) {
-       $results[$count] = $data;
-       $count++;
-     } # while
- 
-     $sth->finish;
-     return($count, @results);
- } # sub getitemsbybiblioitem
- 
- 
- sub logchange {
- # Subroutine to log changes to databases
- # Eventually, this subroutine will be used to create a log of all changes 
made,
- # with the possibility of "undo"ing some changes
-     my $database=shift;
-     if ($database eq 'kohadb') {
-       my $type=shift;
-       my $section=shift;
-       my $item=shift;
-       my $original=shift;
-       my $new=shift;
- #     print STDERR "KOHA: $type $section $item $original $new\n";
-     } elsif ($database eq 'marc') {
-       my $type=shift;
-       my $Record_ID=shift;
-       my $tag=shift;
-       my $mark=shift;
-       my $subfield_ID=shift;
-       my $original=shift;
-       my $new=shift;
- #     print STDERR "MARC: $type $Record_ID $tag $mark $subfield_ID $original 
$new\n";
-     }
- }
- 
- #------------------------------------------------
- 
- 
- #---------------------------------------
- # Find a biblio entry, or create a new one if it doesn't exist.
- #  If a "subtitle" entry is in hash, add it to subtitle table
- sub getoraddbiblio {
-       # input params
-       my (
-         $dbh,         # db handle
-                       # FIXME - Unused argument
-         $biblio,      # hash ref to fields
-       )address@hidden;
- 
-       # return
-       my $biblionumber;
- 
-       my $debug=0;
-       my $sth;
-       my $error;
- 
-       #-----
-       $dbh = C4::Context->dbh;
- 
-       print "<PRE>Looking for biblio </PRE>\n" if $debug;
-       $sth=$dbh->prepare("select biblionumber
-               from biblio
-               where title=? and author=?
-                 and copyrightdate=? and seriestitle=?");
-       $sth->execute(
-               $biblio->{title}, $biblio->{author},
-               $biblio->{copyright}, $biblio->{seriestitle} );
-       if ($sth->rows) {
-           ($biblionumber) = $sth->fetchrow;
-           print "<PRE>Biblio exists with number $biblionumber</PRE>\n" if 
$debug;
-       } else {
-           # Doesn't exist.  Add new one.
-           print "<PRE>Adding biblio</PRE>\n" if $debug;
-           ($biblionumber,$error)=&newbiblio($biblio);
-           if ( $biblionumber ) {
-             print "<PRE>Added with biblio number=$biblionumber</PRE>\n" if 
$debug;
-             if ( $biblio->{subtitle} ) {
-               &newsubtitle($biblionumber,$biblio->{subtitle} );
-             } # if subtitle
-           } else {
-               print "<PRE>Couldn't add biblio: $error</PRE>\n" if $debug;
-           } # if added
-       }
- 
-       return $biblionumber,$error;
- 
- } # sub getoraddbiblio
- 
- sub char_decode {
-       # converts ISO 5426 coded string to ISO 8859-1
-       # sloppy code : should be improved in next issue
-       my ($string,$encoding) = @_ ;
-       $_ = $string ;
- #     $encoding = C4::Context->preference("marcflavour") unless $encoding;
-       if ($encoding eq "UNIMARC") {
-               s/\xe1/Æ/gm ;
-               s/\xe2/Ð/gm ;
-               s/\xe9/Ø/gm ;
-               s/\xec/þ/gm ;
-               s/\xf1/æ/gm ;
-               s/\xf3/ð/gm ;
-               s/\xf9/ø/gm ;
-               s/\xfb/ß/gm ;
-               s/\xc1\x61/à/gm ;
-               s/\xc1\x65/è/gm ;
-               s/\xc1\x69/ì/gm ;
-               s/\xc1\x6f/ò/gm ;
-               s/\xc1\x75/ù/gm ;
-               s/\xc1\x41/À/gm ;
-               s/\xc1\x45/È/gm ;
-               s/\xc1\x49/Ì/gm ;
-               s/\xc1\x4f/Ò/gm ;
-               s/\xc1\x55/Ù/gm ;
-               s/\xc2\x41/Á/gm ;
-               s/\xc2\x45/É/gm ;
-               s/\xc2\x49/Í/gm ;
-               s/\xc2\x4f/Ó/gm ;
-               s/\xc2\x55/Ú/gm ;
-               s/\xc2\x59/Ý/gm ;
-               s/\xc2\x61/á/gm ;
-               s/\xc2\x65/é/gm ;
-               s/\xc2\x69/í/gm ;
-               s/\xc2\x6f/ó/gm ;
-               s/\xc2\x75/ú/gm ;
-               s/\xc2\x79/ý/gm ;
-               s/\xc3\x41/Â/gm ;
-               s/\xc3\x45/Ê/gm ;
-               s/\xc3\x49/Î/gm ;
-               s/\xc3\x4f/Ô/gm ;
-               s/\xc3\x55/Û/gm ;
-               s/\xc3\x61/â/gm ;
-               s/\xc3\x65/ê/gm ;
-               s/\xc3\x69/î/gm ;
-               s/\xc3\x6f/ô/gm ;
-               s/\xc3\x75/û/gm ;
-               s/\xc4\x41/Ã/gm ;
-               s/\xc4\x4e/Ñ/gm ;
-               s/\xc4\x4f/Õ/gm ;
-               s/\xc4\x61/ã/gm ;
-               s/\xc4\x6e/ñ/gm ;
-               s/\xc4\x6f/õ/gm ;
-               s/\xc8\x45/Ë/gm ;
-               s/\xc8\x49/Ï/gm ;
-               s/\xc8\x65/ë/gm ;
-               s/\xc8\x69/ï/gm ;
-               s/\xc8\x76/ÿ/gm ;
-               s/\xc9\x41/Ä/gm ;
-               s/\xc9\x4f/Ö/gm ;
-               s/\xc9\x55/Ü/gm ;
-               s/\xc9\x61/ä/gm ;
-               s/\xc9\x6f/ö/gm ;
-               s/\xc9\x75/ü/gm ;
-               s/\xca\x41/Å/gm ;
-               s/\xca\x61/å/gm ;
-               s/\xd0\x43/Ç/gm ;
-               s/\xd0\x63/ç/gm ;
-               # this handles non-sorting blocks (if implementation requires 
this)
-               $string = nsb_clean($_) ;
-       } elsif ($encoding eq "USMARC" || $encoding eq "MARC21") {
-               if(/[\xc1-\xff]/) {
-                       s/\xe1\x61/à/gm ;
-                       s/\xe1\x65/è/gm ;
-                       s/\xe1\x69/ì/gm ;
-                       s/\xe1\x6f/ò/gm ;
-                       s/\xe1\x75/ù/gm ;
-                       s/\xe1\x41/À/gm ;
-                       s/\xe1\x45/È/gm ;
-                       s/\xe1\x49/Ì/gm ;
-                       s/\xe1\x4f/Ò/gm ;
-                       s/\xe1\x55/Ù/gm ;
-                       s/\xe2\x41/Á/gm ;
-                       s/\xe2\x45/É/gm ;
-                       s/\xe2\x49/Í/gm ;
-                       s/\xe2\x4f/Ó/gm ;
-                       s/\xe2\x55/Ú/gm ;
-                       s/\xe2\x59/Ý/gm ;
-                       s/\xe2\x61/á/gm ;
-                       s/\xe2\x65/é/gm ;
-                       s/\xe2\x69/í/gm ;
-                       s/\xe2\x6f/ó/gm ;
-                       s/\xe2\x75/ú/gm ;
-                       s/\xe2\x79/ý/gm ;
-                       s/\xe3\x41/Â/gm ;
-                       s/\xe3\x45/Ê/gm ;
-                       s/\xe3\x49/Î/gm ;
-                       s/\xe3\x4f/Ô/gm ;
-                       s/\xe3\x55/Û/gm ;
-                       s/\xe3\x61/â/gm ;
-                       s/\xe3\x65/ê/gm ;
-                       s/\xe3\x69/î/gm ;
-                       s/\xe3\x6f/ô/gm ;
-                       s/\xe3\x75/û/gm ;
-                       s/\xe4\x41/Ã/gm ;
-                       s/\xe4\x4e/Ñ/gm ;
-                       s/\xe4\x4f/Õ/gm ;
-                       s/\xe4\x61/ã/gm ;
-                       s/\xe4\x6e/ñ/gm ;
-                       s/\xe4\x6f/õ/gm ;
-                       s/\xe8\x45/Ë/gm ;
-                       s/\xe8\x49/Ï/gm ;
-                       s/\xe8\x65/ë/gm ;
-                       s/\xe8\x69/ï/gm ;
-                       s/\xe8\x76/ÿ/gm ;
-                       s/\xe9\x41/Ä/gm ;
-                       s/\xe9\x4f/Ö/gm ;
-                       s/\xe9\x55/Ü/gm ;
-                       s/\xe9\x61/ä/gm ;
-                       s/\xe9\x6f/ö/gm ;
-                       s/\xe9\x75/ü/gm ;
-                       s/\xea\x41/Å/gm ;
-                       s/\xea\x61/å/gm ;
-                       # this handles non-sorting blocks (if implementation 
requires this)
-                       $string = nsb_clean($_) ;
-               }
-       }
-       return($string) ;
- }
- 
- sub nsb_clean {
-       my $NSB = '\x88' ;              # NSB : begin Non Sorting Block
-       my $NSE = '\x89' ;              # NSE : Non Sorting Block end
-       # handles non sorting blocks
-       my ($string) = @_ ;
-       $_ = $string ;
-       s/$NSB/(/gm ;
-       s/[ ]{0,1}$NSE/) /gm ;
-       $string = $_ ;
-       return($string) ;
- }
- 
- END { }       # module clean-up code here (global destructor)
- 
- =back
- 
- =head1 AUTHOR
- 
- Koha Developement team <address@hidden>
- 
- Paul POULAIN address@hidden
- 
- =cut
--- 2544,2545 ----




reply via email to

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