diff --git a/C4/Acquisitions.pm b/C4/Acquisitions.pm index 228c7a670f..11e7c995f1 100644 --- a/C4/Acquisitions.pm +++ b/C4/Acquisitions.pm @@ -3,6 +3,8 @@ package C4::Acquisitions; #assumes C4/Acquisitions.pm use strict; require Exporter; use C4::Database; +#use C4::Biblio; + use warnings; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); @@ -10,16 +12,17 @@ use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); $VERSION = 0.01; @ISA = qw(Exporter); -@EXPORT = qw(&getorders &bookseller &breakdown &basket &newbasket &bookfunds -&ordersearch &newbiblio &newbiblioitem &newsubject &newsubtitle &neworder - &newordernum &modbiblio &modorder &getsingleorder &invoice &receiveorder -&bookfundbreakdown &curconvert &updatesup &insertsup &newitems &modbibitem -&getcurrencies &modsubtitle &modsubject &modaddauthor &moditem &countitems -&findall &needsmod &delitem &delbibitem &delbiblio &delorder &branches -&getallorders &getrecorders &updatecurrencies &getorder &getcurrency &updaterecorder -&updatecost &checkitems &modnote &getitemtypes &getbiblio -&getbiblioitem &getitemsbybiblioitem &isbnsearch &keywordsearch -&websitesearch &addwebsite &updatewebsite &deletewebsite); +@EXPORT = qw( + &getorders &bookseller &breakdown &basket &newbasket &bookfunds + &ordersearch &neworder &newordernum + &modorder &getsingleorder &invoice &receiveorder + &delorder + &bookfundbreakdown &curconvert &updatesup &insertsup + &getcurrencies + &branches &getallorders &getrecorders &updatecurrencies + &getorder &getcurrency &updaterecorder + +); %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], # your exported package globals go here, @@ -385,306 +388,6 @@ sub bookfundbreakdown { } -# Create a new biblio entry -sub newbiblio { - my ($biblio) = @_; # input is ref to hash of fields - my ($bibnum,$error); # return resulting biblio number - - $error=""; - - my $dbh = &C4Connect; - - # Get next biblionumber in sequence - my $query = "Select max(biblionumber) from biblio"; - my $sth = $dbh->prepare($query); - $sth->execute; - my $data = $sth->fetchrow_arrayref; - $bibnum = $$data[0] + 1; - - my $serial; # is this item part of a series? - - if ($biblio->{'seriestitle'}) { $serial = 1 } else { $serial = 0 }; - - $sth->finish; - $query = "insert into biblio set - biblionumber = ?, - title = ?, - author = ?, - copyrightdate = ?, - serial = ?, - seriestitle = ?, - notes = ? "; - -# print $query; - $sth = $dbh->prepare($query); - if ( $sth->execute( - $bibnum, - $biblio->{'title'}, - $biblio->{'author'}, - $biblio->{'copyright'}, - $serial, - $biblio->{'seriestitle'} , - $biblio->{'notes'} - ) ) { - $error=''; - } else { - $error=$sth->errstr; - $bibnum = ""; - } # if exec error - - $sth->finish; - $dbh->disconnect; - - return($bibnum,$error); -} - -sub modbiblio { - my ($bibnum,$title,$author,$copyright,$seriestitle,$serial,$unititle,$notes)=@_; - my $dbh=C4Connect; - my $query = "Update biblio set -title = '$title', -author = '$author', -copyrightdate = '$copyright', -seriestitle = '$seriestitle', -serial = '$serial', -unititle = '$unititle', -notes = '$notes' -where biblionumber = $bibnum"; - my $sth=$dbh->prepare($query); - - $sth->execute; - - $sth->finish; - $dbh->disconnect; - return($bibnum); -} - -sub modsubtitle { - my ($bibnum,$subtitle)=@_; - my $dbh=C4Connect; - my $query="update bibliosubtitle set subtitle='$subtitle' where biblionumber=$bibnum"; - my $sth=$dbh->prepare($query); - $sth->execute; - $sth->finish; - $dbh->disconnect; -} - -sub modaddauthor { - my ($bibnum,$author)=@_; - my $dbh=C4Connect; - my $query="Delete from additionalauthors where biblionumber=$bibnum"; - my $sth=$dbh->prepare($query); - - $sth->execute; - $sth->finish; - - if ($author ne ''){ - $query = "Insert into additionalauthors set -author = '$author', -biblionumber = '$bibnum'"; - $sth=$dbh->prepare($query); - - $sth->execute; - - $sth->finish; - } # if - - $dbh->disconnect; -} # sub modaddauthor - - -sub modsubject { - my ($bibnum,$force,@subject)=@_; - my $dbh=C4Connect; - my $count=@subject; - my $error; - for (my $i=0;$i<$count;$i++){ - $subject[$i]=~ s/^ //g; - $subject[$i]=~ s/ $//g; - my $query = "select * from catalogueentry -where entrytype = 's' -and catalogueentry = '$subject[$i]'"; - my $sth=$dbh->prepare($query); - $sth->execute; - - if (my $data = $sth->fetchrow_hashref) { - } else { - if ($force eq $subject[$i]){ - - #subject not in aut, chosen to force anway - #so insert into cataloguentry so its in auth file - $query = "Insert into catalogueentry -(entrytype,catalogueentry) - values ('s','$subject[$i]')"; - my $sth2=$dbh->prepare($query); - - $sth2->execute; - $sth2->finish; - - } else { - - $error="$subject[$i]\n does not exist in the subject authority file"; - $query = "Select * from catalogueentry -where entrytype = 's' -and (catalogueentry like '$subject[$i] %' -or catalogueentry like '% $subject[$i] %' -or catalogueentry like '% $subject[$i]')"; - my $sth2=$dbh->prepare($query); - - $sth2->execute; - while (my $data=$sth2->fetchrow_hashref){ - $error=$error."
$data->{'catalogueentry'}"; - } # while - $sth2->finish; - } # else - } # else - $sth->finish; - } # else - - if ($error eq ''){ - my $query="Delete from bibliosubject where biblionumber=$bibnum"; - my $sth=$dbh->prepare($query); - - $sth->execute; - $sth->finish; - - for (my $i=0;$i<$count;$i++){ - $sth = $dbh->prepare("Insert into bibliosubject -values ('$subject[$i]', $bibnum)"); - - $sth->execute; - $sth->finish; - } # for - } # if - - $dbh->disconnect; - return($error); -} # sub modsubject - -sub modbibitem { - my ($bibitemnum,$itemtype,$isbn,$publishercode,$publicationdate,$classification,$dewey,$subclass,$illus,$pages,$volumeddesc,$notes,$size,$place)=@_; - my $dbh=C4Connect; - my $query="update biblioitems set itemtype='$itemtype', - isbn='$isbn',publishercode='$publishercode',publicationyear='$publicationdate', - classification='$classification',dewey='$dewey',subclass='$subclass',illus='$illus', - pages='$pages',volumeddesc='$volumeddesc',notes='$notes',size='$size',place='$place' - where - biblioitemnumber=$bibitemnum"; - my $sth=$dbh->prepare($query); -# print $query; - $sth->execute; - $sth->finish; - $dbh->disconnect; -} - -sub modnote { - my ($bibitemnum,$note)=@_; - my $dbh=C4Connect; - my $query="update biblioitems set notes='$note' where - biblioitemnumber='$bibitemnum'"; - my $sth=$dbh->prepare($query); - $sth->execute; - $sth->finish; - $dbh->disconnect; -} - -sub newbiblioitem { - my ($biblioitem) = @_; - my $dbh = C4Connect; - my $data; - my $bibitemnum; - my $error; - - # Get next unused number - my $query = "Select max(biblioitemnumber) from biblioitems"; - my $sth = $dbh->prepare($query); - $sth->execute; - $data = $sth->fetchrow_arrayref; - $bibitemnum = $$data[0] + 1; - $sth->finish; - - $query = "insert into biblioitems set - biblioitemnumber = ?, - biblionumber = ?, - volume = ?, - number = ?, - classification = ?, - itemtype = ?, - url = ?, - isbn = ?, - issn = ?, - lccn = ?, - dewey = ?, - subclass = ?, - publicationyear = ?, - publishercode = ?, - volumedate = ?, - volumeddesc = ?, - illus = ?, - pages = ?, - notes = ?, - size = ?, - marc = ?, - place = ? "; - - $sth = $dbh->prepare($query); - $sth->execute( - $bibitemnum, - $biblioitem->{'biblionumber'}, - $biblioitem->{'volume'}, - $biblioitem->{'number'}, - $biblioitem->{'classification'}, - $biblioitem->{'itemtype'}, - $biblioitem->{'url'}, - $biblioitem->{'isbn'}, - $biblioitem->{'issn'}, - $biblioitem->{'lccn'}, - $biblioitem->{'dewey'}, - $biblioitem->{'subclass'}, - $biblioitem->{'publicationyear'}, - $biblioitem->{'publishercode'}, - $biblioitem->{'volumedate'}, - $biblioitem->{'volumeddesc'}, - $biblioitem->{'illus'}, - $biblioitem->{'pages'}, - $biblioitem->{'notes'}, - $biblioitem->{'size'}, - $biblioitem->{'marc'}, - $biblioitem->{'place'}, - ) or $error=$sth->errstr; - - $sth->finish; - $dbh->disconnect; - return($bibitemnum); -} # sub newbiblioitem - -sub newsubject { - my ($bibnum)=@_; - my $dbh=C4Connect; - my $query="insert into bibliosubject (biblionumber) values - ($bibnum)"; - my $sth=$dbh->prepare($query); -# print $query; - $sth->execute; - $sth->finish; - $dbh->disconnect; -} - -sub newsubtitle { - my ($bibnum, $subtitle) = @_; - my $dbh = C4Connect; - $subtitle = $dbh->quote($subtitle); - my $query = "insert into bibliosubtitle set -biblionumber = $bibnum, -subtitle = $subtitle"; - my $sth = $dbh->prepare($query); - - $sth->execute; - - $sth->finish; - $dbh->disconnect; -} - sub neworder { my ($bibnum,$title,$ordnum,$basket,$quantity,$listprice,$supplier,$who,$notes,$bookfund,$bibitemnum,$rrp,$ecost,$gst,$budget,$cost,$sub,$invoice)=@_; if ($budget eq 'now'){ @@ -918,489 +621,4 @@ sub insertsup { } -sub newitems { - my ($item, @barcodes) = @_; - my $dbh=C4Connect; - my $query = "Select max(itemnumber) from items"; - my $sth = $dbh->prepare($query); - my $data; - my $itemnumber; - my $error; - - $sth->execute; - $data = $sth->fetchrow_hashref; - $itemnumber = $data->{'max(itemnumber)'} + 1; - $sth->finish; - - $item->{'booksellerid'} = $dbh->quote($item->{'bookselletid'}); - $item->{'homebranch'} = $dbh->quote($item->{'homebranch'}); - $item->{'price'} = $dbh->quote($item->{'price'}); - $item->{'replacementprice'} = $dbh->quote($item->{'replacementprice'}); - $item->{'itemnotes'} = $dbh->quote($item->{'itemnotes'}); - - foreach my $barcode (@barcodes) { - $barcode = uc($barcode); - $query = "Insert into items set -itemnumber = $itemnumber, -biblionumber = $item->{'biblionumber'}, -biblioitemnumber = $item->{'biblioitemnumber'}, -barcode = $barcode, -booksellerid = $item->{'booksellerid'}, -dateaccessioned = NOW(), -homebranch = $item->{'homebranch'}, -holdingbranch = $item->{'homebranch'}, -price = $item->{'price'}, -replacementprice = $item->{'replacementprice'}, -replacementpricedate = NOW(), -itemnotes = $item->{'itemnotes'}"; - - if ($item->{'loan'}) { - $query .= ", -notforloan = $item->{'loan'}"; - } # if - - $sth = $dbh->prepare($query); - $sth->execute; - - $error=$sth->errstr; - - $sth->finish; - $itemnumber++; - } # for - - $dbh->disconnect; - return($error); -} - -sub checkitems{ - my ($count,@barcodes)=@_; - my $dbh=C4Connect; - 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; - } - $dbh->disconnect; - return($error); -} - -sub moditem { - my ($loan,$itemnum,$bibitemnum,$barcode,$notes,$homebranch,$lost,$wthdrawn,$replacement)=@_; - my $dbh=C4Connect; - my $query="update items set biblioitemnumber=$bibitemnum, - barcode='$barcode',itemnotes='$notes' - where itemnumber=$itemnum"; - if ($barcode eq ''){ - $query="update items set biblioitemnumber=$bibitemnum,notforloan=$loan where itemnumber=$itemnum"; - } - if ($lost ne ''){ - $query="update items set biblioitemnumber=$bibitemnum, - barcode='$barcode',itemnotes='$notes',homebranch='$homebranch', - itemlost='$lost',wthdrawn='$wthdrawn' where itemnumber=$itemnum"; - } - if ($replacement ne ''){ - $query=~ s/ where/,replacementprice='$replacement' where/; - } - - my $sth=$dbh->prepare($query); - $sth->execute; - $sth->finish; - $dbh->disconnect; -} - -sub updatecost{ - my($price,$rrp,$itemnum)=@_; - my $dbh=C4Connect; - my $query="update items set price='$price',replacementprice='$rrp' - where itemnumber=$itemnum"; - my $sth=$dbh->prepare($query); - $sth->execute; - $sth->finish; - $dbh->disconnect; -} -sub countitems{ - my ($bibitemnum)=@_; - my $dbh=C4Connect; - my $query="Select count(*) from items where biblioitemnumber='$bibitemnum'"; - my $sth=$dbh->prepare($query); - $sth->execute; - my $data=$sth->fetchrow_hashref; - $sth->finish; - $dbh->disconnect; - return($data->{'count(*)'}); -} - -sub findall { - my ($biblionumber)=@_; - my $dbh=C4Connect; - my $query="Select * from biblioitems,items,itemtypes where - biblioitems.biblionumber=$biblionumber - and biblioitems.biblioitemnumber=items.biblioitemnumber and - itemtypes.itemtype=biblioitems.itemtype - order by items.biblioitemnumber"; - my $sth=$dbh->prepare($query); - $sth->execute; - my @results; - my $i; - while (my $data=$sth->fetchrow_hashref){ - $results[$i]=$data; - $i++; - } - $sth->finish; - $dbh->disconnect; - return(@results); -} - -sub needsmod{ - my ($bibitemnum,$itemtype)=@_; - my $dbh=C4Connect; - my $query="Select * from biblioitems where biblioitemnumber=$bibitemnum - and itemtype='$itemtype'"; - my $sth=$dbh->prepare($query); - $sth->execute; - my $result=0; - if (my $data=$sth->fetchrow_hashref){ - $result=1; - } - $sth->finish; - $dbh->disconnect; - return($result); -} - -sub delitem{ - my ($itemnum)=@_; - my $dbh=C4Connect; - my $query="select * from items where itemnumber=$itemnum"; - my $sth=$dbh->prepare($query); - $sth->execute; - my @data=$sth->fetchrow_array; - $sth->finish; - $query="Insert into deleteditems values ("; - foreach my $temp (@data){ - $query=$query."'$temp',"; - } - $query=~ s/\,$/\)/; -# print $query; - $sth=$dbh->prepare($query); - $sth->execute; - $sth->finish; - $query = "Delete from items where itemnumber=$itemnum"; - $sth=$dbh->prepare($query); - $sth->execute; - $sth->finish; - $dbh->disconnect; -} - -sub delbibitem{ - my ($itemnum)=@_; - my $dbh=C4Connect; - my $query="select * from biblioitems where biblioitemnumber=$itemnum"; - my $sth=$dbh->prepare($query); - $sth->execute; - if (my @data=$sth->fetchrow_array){ - $sth->finish; - $query="Insert into deletedbiblioitems values ("; - foreach my $temp (@data){ - $temp=~ s/\'/\\\'/g; - $query=$query."'$temp',"; - } - $query=~ s/\,$/\)/; -# print $query; - $sth=$dbh->prepare($query); - $sth->execute; - $sth->finish; - $query = "Delete from biblioitems where biblioitemnumber=$itemnum"; - $sth=$dbh->prepare($query); - $sth->execute; - $sth->finish; - } - $sth->finish; - $dbh->disconnect; -} - -sub delbiblio{ - my ($biblio)=@_; - my $dbh=C4Connect; - my $query="select * from biblio where biblionumber=$biblio"; - my $sth=$dbh->prepare($query); - $sth->execute; - if (my @data=$sth->fetchrow_array){ - $sth->finish; - $query="Insert into deletedbiblio values ("; - foreach my $temp (@data){ - $temp=~ s/\'/\\\'/g; - $query=$query."'$temp',"; - } - $query=~ s/\,$/\)/; -# print $query; - $sth=$dbh->prepare($query); - $sth->execute; - $sth->finish; - $query = "Delete from biblio where biblionumber=$biblio"; - $sth=$dbh->prepare($query); - $sth->execute; - $sth->finish; - } - - $sth->finish; - $dbh->disconnect; -} - -sub getitemtypes { - my $dbh = C4Connect; - my $query = "select * from itemtypes"; - 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; - $dbh->disconnect; - return($count, @results); -} # sub getitemtypes - - -sub getbiblio { - my ($biblionumber) = @_; - my $dbh = C4Connect; - 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; - $dbh->disconnect; - return($count, @results); -} # sub getbiblio - - -sub getbiblioitem { - my ($biblioitemnum) = @_; - my $dbh = C4Connect; - 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; - $dbh->disconnect; - return($count, @results); -} # sub getbiblioitem - - -sub getitemsbybiblioitem { - my ($biblioitemnum) = @_; - my $dbh = C4Connect; - 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; - $dbh->disconnect; - return($count, @results); -} # sub getitemsbybiblioitem - - -sub isbnsearch { - my ($isbn) = @_; - my $dbh = C4Connect; - my $count = 0; - my $query; - my $sth; - my @results; - - $isbn = $dbh->quote($isbn); - $query = "Select * from biblioitems where isbn = $isbn"; - $sth = $dbh->prepare($query); - - $sth->execute; - while (my $data = $sth->fetchrow_hashref) { - $results[$count] = $data; - $count++; - } # while - - $sth->finish; - $dbh->disconnect; - return($count, @results); -} # sub isbnsearch - - -sub keywordsearch { - my ($keywordlist) = @_; - my $dbh = C4Connect; - my $query = "Select * from biblio where"; - my $count = 0; - my $sth; - my @results; - my @keywords = split(/ +/, $keywordlist); - my $keyword = shift(@keywords); - - $keyword =~ s/%/\\%/g; - $keyword =~ s/_/\\_/; - $keyword = "%" . $keyword . "%"; - $keyword = $dbh->quote($keyword); - $query .= " (author like $keyword) or -(title like $keyword) or (unititle like $keyword) or -(notes like $keyword) or (seriestitle like $keyword) or -(abstract like $keyword)"; - - foreach $keyword (@keywords) { - $keyword =~ s/%/\\%/; - $keyword =~ s/_/\\_/; - $keyword = "%" . $keyword . "%"; - $keyword = $dbh->quote($keyword); - $query .= " or (author like $keyword) or -(title like $keyword) or (unititle like $keyword) or -(notes like $keyword) or (seriestitle like $keyword) or -(abstract like $keyword)"; - } # foreach - - $sth = $dbh->prepare($query); - $sth->execute; - - while (my $data = $sth->fetchrow_hashref) { - $results[$count] = $data; - $count++; - } # while - - $sth->finish; - $dbh->disconnect; - return($count, @results); -} # sub keywordsearch - - -sub websitesearch { - my ($keywordlist) = @_; - my $dbh = C4Connect; - my $query = "Select distinct biblio.* from biblio, biblioitems where -biblio.biblionumber = biblioitems.biblionumber and ("; - my $count = 0; - my $sth; - my @results; - my @keywords = split(/ +/, $keywordlist); - my $keyword = shift(@keywords); - - $keyword =~ s/%/\\%/g; - $keyword =~ s/_/\\_/; - $keyword = "%" . $keyword . "%"; - $keyword = $dbh->quote($keyword); - $query .= " (url like $keyword)"; - - foreach $keyword (@keywords) { - $keyword =~ s/%/\\%/; - $keyword =~ s/_/\\_/; - $keyword = "%" . $keyword . "%"; - $keyword = $dbh->quote($keyword); - $query .= " or (url like $keyword)"; - } # foreach - - $query .= ")"; - $sth = $dbh->prepare($query); - $sth->execute; - - while (my $data = $sth->fetchrow_hashref) { - $results[$count] = $data; - $count++; - } # while - - $sth->finish; - $dbh->disconnect; - return($count, @results); -} # sub websitesearch - - -sub addwebsite { - my ($website) = @_; - my $dbh = C4Connect; - my $query; - - $website->{'biblionumber'} = $dbh->quote($website->{'biblionumber'}); - $website->{'title'} = $dbh->quote($website->{'title'}); - $website->{'description'} = $dbh->quote($website->{'description'}); - $website->{'url'} = $dbh->quote($website->{'url'}); - - $query = "Insert into websites set -biblionumber = $website->{'biblionumber'}, -title = $website->{'title'}, -description = $website->{'description'}, -url = $website->{'url'}"; - - $dbh->do($query); - - $dbh->disconnect; -} # sub website - - -sub updatewebsite { - my ($website) = @_; - my $dbh = C4Connect; - my $query; - - $website->{'title'} = $dbh->quote($website->{'title'}); - $website->{'description'} = $dbh->quote($website->{'description'}); - $website->{'url'} = $dbh->quote($website->{'url'}); - - $query = "Update websites set -title = $website->{'title'}, -description = $website->{'description'}, -url = $website->{'url'} -where websitenumber = $website->{'websitenumber'}"; - - $dbh->do($query); - - $dbh->disconnect; -} # sub updatewebsite - - -sub deletewebsite { - my ($websitenumber) = @_; - my $dbh = C4Connect; - my $query = "Delete from websites where websitenumber = $websitenumber"; - - $dbh->do($query); - - $dbh->disconnect; -} # sub deletewebsite - - END { } # module clean-up code here (global destructor) diff --git a/C4/Biblio.pm b/C4/Biblio.pm new file mode 100644 index 0000000000..09165d7c88 --- /dev/null +++ b/C4/Biblio.pm @@ -0,0 +1,847 @@ +package C4::Biblio; #assumes C4/Biblio.pm + +use strict; +require Exporter; +use C4::Database; + +use warnings; +use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); + +# set the version for version checking +$VERSION = 0.01; + +@ISA = qw(Exporter); +@EXPORT = qw( + &newbiblio &newbiblioitem &newsubject &newsubtitle + &modbiblio &newitems &modbibitem + &modsubtitle &modsubject &modaddauthor &moditem &countitems + &delitem &delbibitem &delbiblio + &checkitems &modnote &getitemtypes &getbiblio + &findall &needsmod &updatecost + &getbiblioitem &getitemsbybiblioitem &isbnsearch &keywordsearch + &websitesearch &addwebsite &updatewebsite &deletewebsite +); +%EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], + +# your exported package globals go here, +# as well as any optionally exported functions + +@EXPORT_OK = qw($Var1 %Hashit); + + +# non-exported package globals go here +use vars qw(@more $stuff); + +# initalize package globals, first exported ones + +my $Var1 = ''; +my %Hashit = (); + + + +# then the others (which are still accessible as $Some::Module::stuff) +my $stuff = ''; +my @more = (); + +# all file-scoped lexicals must be created before +# the functions below that use them. + +# file-private lexicals go here +my $priv_var = ''; +my %secret_hash = (); + +# here's a file-private function as a closure, +# callable as &$priv_func; it cannot be prototyped. +my $priv_func = sub { + # stuff goes here. + }; + +# make all your functions, whether exported or not; +#------------------------------------------------ + +# Create a new biblio entry +sub newbiblio { + my ($biblio) = @_; # input is ref to hash of fields + my ($bibnum,$error); # return resulting biblio number + + $error=""; + + my $dbh = &C4Connect; + + # Get next biblionumber in sequence + my $query = "Select max(biblionumber) from biblio"; + my $sth = $dbh->prepare($query); + $sth->execute; + my $data = $sth->fetchrow_arrayref; + $bibnum = $$data[0] + 1; + + my $serial; # is this item part of a series? + + if ($biblio->{'seriestitle'}) { $serial = 1 } else { $serial = 0 }; + + $sth->finish; + $query = "insert into biblio set + biblionumber = ?, + title = ?, + author = ?, + copyrightdate = ?, + serial = ?, + seriestitle = ?, + notes = ? "; + +# print $query; + $sth = $dbh->prepare($query); + if ( $sth->execute( + $bibnum, + $biblio->{'title'}, + $biblio->{'author'}, + $biblio->{'copyright'}, + $serial, + $biblio->{'seriestitle'} , + $biblio->{'notes'} + ) ) { + $error=''; + } else { + $error=$sth->errstr; + $bibnum = ""; + } # if exec error + + $sth->finish; + $dbh->disconnect; + + return($bibnum,$error); +} + +sub modbiblio { + my ($bibnum,$title,$author,$copyright,$seriestitle,$serial,$unititle,$notes)=@_; + my $dbh=C4Connect; + my $query = "Update biblio set +title = '$title', +author = '$author', +copyrightdate = '$copyright', +seriestitle = '$seriestitle', +serial = '$serial', +unititle = '$unititle', +notes = '$notes' +where biblionumber = $bibnum"; + my $sth=$dbh->prepare($query); + + $sth->execute; + + $sth->finish; + $dbh->disconnect; + return($bibnum); +} + +sub modsubtitle { + my ($bibnum,$subtitle)=@_; + my $dbh=C4Connect; + my $query="update bibliosubtitle set subtitle='$subtitle' where biblionumber=$bibnum"; + my $sth=$dbh->prepare($query); + $sth->execute; + $sth->finish; + $dbh->disconnect; +} + +sub modaddauthor { + my ($bibnum,$author)=@_; + my $dbh=C4Connect; + my $query="Delete from additionalauthors where biblionumber=$bibnum"; + my $sth=$dbh->prepare($query); + + $sth->execute; + $sth->finish; + + if ($author ne ''){ + $query = "Insert into additionalauthors set +author = '$author', +biblionumber = '$bibnum'"; + $sth=$dbh->prepare($query); + + $sth->execute; + + $sth->finish; + } # if + + $dbh->disconnect; +} # sub modaddauthor + + +sub modsubject { + my ($bibnum,$force,@subject)=@_; + my $dbh=C4Connect; + my $count=@subject; + my $error; + for (my $i=0;$i<$count;$i++){ + $subject[$i]=~ s/^ //g; + $subject[$i]=~ s/ $//g; + my $query = "select * from catalogueentry +where entrytype = 's' +and catalogueentry = '$subject[$i]'"; + my $sth=$dbh->prepare($query); + $sth->execute; + + if (my $data = $sth->fetchrow_hashref) { + } else { + if ($force eq $subject[$i]){ + + #subject not in aut, chosen to force anway + #so insert into cataloguentry so its in auth file + $query = "Insert into catalogueentry +(entrytype,catalogueentry) + values ('s','$subject[$i]')"; + my $sth2=$dbh->prepare($query); + + $sth2->execute; + $sth2->finish; + + } else { + + $error="$subject[$i]\n does not exist in the subject authority file"; + $query = "Select * from catalogueentry +where entrytype = 's' +and (catalogueentry like '$subject[$i] %' +or catalogueentry like '% $subject[$i] %' +or catalogueentry like '% $subject[$i]')"; + my $sth2=$dbh->prepare($query); + + $sth2->execute; + while (my $data=$sth2->fetchrow_hashref){ + $error=$error."
$data->{'catalogueentry'}"; + } # while + $sth2->finish; + } # else + } # else + $sth->finish; + } # else + + if ($error eq ''){ + my $query="Delete from bibliosubject where biblionumber=$bibnum"; + my $sth=$dbh->prepare($query); + + $sth->execute; + $sth->finish; + + for (my $i=0;$i<$count;$i++){ + $sth = $dbh->prepare("Insert into bibliosubject +values ('$subject[$i]', $bibnum)"); + + $sth->execute; + $sth->finish; + } # for + } # if + + $dbh->disconnect; + return($error); +} # sub modsubject + +sub modbibitem { + my ($bibitemnum,$itemtype,$isbn,$publishercode,$publicationdate,$classification,$dewey,$subclass,$illus,$pages,$volumeddesc,$notes,$size,$place)=@_; + my $dbh=C4Connect; + my $query="update biblioitems set itemtype='$itemtype', + isbn='$isbn',publishercode='$publishercode',publicationyear='$publicationdate', + classification='$classification',dewey='$dewey',subclass='$subclass',illus='$illus', + pages='$pages',volumeddesc='$volumeddesc',notes='$notes',size='$size',place='$place' + where + biblioitemnumber=$bibitemnum"; + my $sth=$dbh->prepare($query); +# print $query; + $sth->execute; + $sth->finish; + $dbh->disconnect; +} + +sub modnote { + my ($bibitemnum,$note)=@_; + my $dbh=C4Connect; + my $query="update biblioitems set notes='$note' where + biblioitemnumber='$bibitemnum'"; + my $sth=$dbh->prepare($query); + $sth->execute; + $sth->finish; + $dbh->disconnect; +} + +sub newbiblioitem { + my ($biblioitem) = @_; + my $dbh = C4Connect; + my $data; + my $bibitemnum; + my $error; + + # Get next unused number + my $query = "Select max(biblioitemnumber) from biblioitems"; + my $sth = $dbh->prepare($query); + $sth->execute; + $data = $sth->fetchrow_arrayref; + $bibitemnum = $$data[0] + 1; + $sth->finish; + + $query = "insert into biblioitems set + biblioitemnumber = ?, + biblionumber = ?, + volume = ?, + number = ?, + classification = ?, + itemtype = ?, + url = ?, + isbn = ?, + issn = ?, + lccn = ?, + dewey = ?, + subclass = ?, + publicationyear = ?, + publishercode = ?, + volumedate = ?, + volumeddesc = ?, + illus = ?, + pages = ?, + notes = ?, + size = ?, + marc = ?, + place = ? "; + + $sth = $dbh->prepare($query); + $sth->execute( + $bibitemnum, + $biblioitem->{'biblionumber'}, + $biblioitem->{'volume'}, + $biblioitem->{'number'}, + $biblioitem->{'classification'}, + $biblioitem->{'itemtype'}, + $biblioitem->{'url'}, + $biblioitem->{'isbn'}, + $biblioitem->{'issn'}, + $biblioitem->{'lccn'}, + $biblioitem->{'dewey'}, + $biblioitem->{'subclass'}, + $biblioitem->{'publicationyear'}, + $biblioitem->{'publishercode'}, + $biblioitem->{'volumedate'}, + $biblioitem->{'volumeddesc'}, + $biblioitem->{'illus'}, + $biblioitem->{'pages'}, + $biblioitem->{'notes'}, + $biblioitem->{'size'}, + $biblioitem->{'marc'}, + $biblioitem->{'place'}, + ) or $error=$sth->errstr; + + $sth->finish; + $dbh->disconnect; + return($bibitemnum); +} # sub newbiblioitem + +sub newsubject { + my ($bibnum)=@_; + my $dbh=C4Connect; + my $query="insert into bibliosubject (biblionumber) values + ($bibnum)"; + my $sth=$dbh->prepare($query); +# print $query; + $sth->execute; + $sth->finish; + $dbh->disconnect; +} + +sub newsubtitle { + my ($bibnum, $subtitle) = @_; + my $dbh = C4Connect; + $subtitle = $dbh->quote($subtitle); + my $query = "insert into bibliosubtitle set +biblionumber = $bibnum, +subtitle = $subtitle"; + my $sth = $dbh->prepare($query); + + $sth->execute; + + $sth->finish; + $dbh->disconnect; +} + +sub newitems { + my ($item, @barcodes) = @_; + my $dbh=C4Connect; + my $query = "Select max(itemnumber) from items"; + my $sth = $dbh->prepare($query); + my $data; + my $itemnumber; + my $error; + + $sth->execute; + $data = $sth->fetchrow_hashref; + $itemnumber = $data->{'max(itemnumber)'} + 1; + $sth->finish; + + $item->{'booksellerid'} = $dbh->quote($item->{'bookselletid'}); + $item->{'homebranch'} = $dbh->quote($item->{'homebranch'}); + $item->{'price'} = $dbh->quote($item->{'price'}); + $item->{'replacementprice'} = $dbh->quote($item->{'replacementprice'}); + $item->{'itemnotes'} = $dbh->quote($item->{'itemnotes'}); + + foreach my $barcode (@barcodes) { + $barcode = uc($barcode); + $query = "Insert into items set +itemnumber = $itemnumber, +biblionumber = $item->{'biblionumber'}, +biblioitemnumber = $item->{'biblioitemnumber'}, +barcode = $barcode, +booksellerid = $item->{'booksellerid'}, +dateaccessioned = NOW(), +homebranch = $item->{'homebranch'}, +holdingbranch = $item->{'homebranch'}, +price = $item->{'price'}, +replacementprice = $item->{'replacementprice'}, +replacementpricedate = NOW(), +itemnotes = $item->{'itemnotes'}"; + + if ($item->{'loan'}) { + $query .= ", +notforloan = $item->{'loan'}"; + } # if + + $sth = $dbh->prepare($query); + $sth->execute; + + $error=$sth->errstr; + + $sth->finish; + $itemnumber++; + } # for + + $dbh->disconnect; + return($error); +} + +sub checkitems{ + my ($count,@barcodes)=@_; + my $dbh=C4Connect; + 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; + } + $dbh->disconnect; + return($error); +} + +sub moditem { + my ($loan,$itemnum,$bibitemnum,$barcode,$notes,$homebranch,$lost,$wthdrawn,$replacement)=@_; + my $dbh=C4Connect; + my $query="update items set biblioitemnumber=$bibitemnum, + barcode='$barcode',itemnotes='$notes' + where itemnumber=$itemnum"; + if ($barcode eq ''){ + $query="update items set biblioitemnumber=$bibitemnum,notforloan=$loan where itemnumber=$itemnum"; + } + if ($lost ne ''){ + $query="update items set biblioitemnumber=$bibitemnum, + barcode='$barcode',itemnotes='$notes',homebranch='$homebranch', + itemlost='$lost',wthdrawn='$wthdrawn' where itemnumber=$itemnum"; + } + if ($replacement ne ''){ + $query=~ s/ where/,replacementprice='$replacement' where/; + } + + my $sth=$dbh->prepare($query); + $sth->execute; + $sth->finish; + $dbh->disconnect; +} + +sub updatecost{ + my($price,$rrp,$itemnum)=@_; + my $dbh=C4Connect; + my $query="update items set price='$price',replacementprice='$rrp' + where itemnumber=$itemnum"; + my $sth=$dbh->prepare($query); + $sth->execute; + $sth->finish; + $dbh->disconnect; +} +sub countitems{ + my ($bibitemnum)=@_; + my $dbh=C4Connect; + my $query="Select count(*) from items where biblioitemnumber='$bibitemnum'"; + my $sth=$dbh->prepare($query); + $sth->execute; + my $data=$sth->fetchrow_hashref; + $sth->finish; + $dbh->disconnect; + return($data->{'count(*)'}); +} + +sub findall { + my ($biblionumber)=@_; + my $dbh=C4Connect; + my $query="Select * from biblioitems,items,itemtypes where + biblioitems.biblionumber=$biblionumber + and biblioitems.biblioitemnumber=items.biblioitemnumber and + itemtypes.itemtype=biblioitems.itemtype + order by items.biblioitemnumber"; + my $sth=$dbh->prepare($query); + $sth->execute; + my @results; + my $i; + while (my $data=$sth->fetchrow_hashref){ + $results[$i]=$data; + $i++; + } + $sth->finish; + $dbh->disconnect; + return(@results); +} + +sub needsmod{ + my ($bibitemnum,$itemtype)=@_; + my $dbh=C4Connect; + my $query="Select * from biblioitems where biblioitemnumber=$bibitemnum + and itemtype='$itemtype'"; + my $sth=$dbh->prepare($query); + $sth->execute; + my $result=0; + if (my $data=$sth->fetchrow_hashref){ + $result=1; + } + $sth->finish; + $dbh->disconnect; + return($result); +} + +sub delitem{ + my ($itemnum)=@_; + my $dbh=C4Connect; + my $query="select * from items where itemnumber=$itemnum"; + my $sth=$dbh->prepare($query); + $sth->execute; + my @data=$sth->fetchrow_array; + $sth->finish; + $query="Insert into deleteditems values ("; + foreach my $temp (@data){ + $query=$query."'$temp',"; + } + $query=~ s/\,$/\)/; +# print $query; + $sth=$dbh->prepare($query); + $sth->execute; + $sth->finish; + $query = "Delete from items where itemnumber=$itemnum"; + $sth=$dbh->prepare($query); + $sth->execute; + $sth->finish; + $dbh->disconnect; +} + +sub delbibitem{ + my ($itemnum)=@_; + my $dbh=C4Connect; + my $query="select * from biblioitems where biblioitemnumber=$itemnum"; + my $sth=$dbh->prepare($query); + $sth->execute; + if (my @data=$sth->fetchrow_array){ + $sth->finish; + $query="Insert into deletedbiblioitems values ("; + foreach my $temp (@data){ + $temp=~ s/\'/\\\'/g; + $query=$query."'$temp',"; + } + $query=~ s/\,$/\)/; +# print $query; + $sth=$dbh->prepare($query); + $sth->execute; + $sth->finish; + $query = "Delete from biblioitems where biblioitemnumber=$itemnum"; + $sth=$dbh->prepare($query); + $sth->execute; + $sth->finish; + } + $sth->finish; + $dbh->disconnect; +} + +sub delbiblio{ + my ($biblio)=@_; + my $dbh=C4Connect; + my $query="select * from biblio where biblionumber=$biblio"; + my $sth=$dbh->prepare($query); + $sth->execute; + if (my @data=$sth->fetchrow_array){ + $sth->finish; + $query="Insert into deletedbiblio values ("; + foreach my $temp (@data){ + $temp=~ s/\'/\\\'/g; + $query=$query."'$temp',"; + } + $query=~ s/\,$/\)/; +# print $query; + $sth=$dbh->prepare($query); + $sth->execute; + $sth->finish; + $query = "Delete from biblio where biblionumber=$biblio"; + $sth=$dbh->prepare($query); + $sth->execute; + $sth->finish; + } + + $sth->finish; + $dbh->disconnect; +} + +sub getitemtypes { + my $dbh = C4Connect; + my $query = "select * from itemtypes"; + 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; + $dbh->disconnect; + return($count, @results); +} # sub getitemtypes + + +sub getbiblio { + my ($biblionumber) = @_; + my $dbh = C4Connect; + 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; + $dbh->disconnect; + return($count, @results); +} # sub getbiblio + + +sub getbiblioitem { + my ($biblioitemnum) = @_; + my $dbh = C4Connect; + 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; + $dbh->disconnect; + return($count, @results); +} # sub getbiblioitem + + +sub getitemsbybiblioitem { + my ($biblioitemnum) = @_; + my $dbh = C4Connect; + 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; + $dbh->disconnect; + return($count, @results); +} # sub getitemsbybiblioitem + + +sub isbnsearch { + my ($isbn) = @_; + my $dbh = C4Connect; + my $count = 0; + my $query; + my $sth; + my @results; + + $isbn = $dbh->quote($isbn); + $query = "Select * from biblioitems where isbn = $isbn"; + $sth = $dbh->prepare($query); + + $sth->execute; + while (my $data = $sth->fetchrow_hashref) { + $results[$count] = $data; + $count++; + } # while + + $sth->finish; + $dbh->disconnect; + return($count, @results); +} # sub isbnsearch + + +sub keywordsearch { + my ($keywordlist) = @_; + my $dbh = C4Connect; + my $query = "Select * from biblio where"; + my $count = 0; + my $sth; + my @results; + my @keywords = split(/ +/, $keywordlist); + my $keyword = shift(@keywords); + + $keyword =~ s/%/\\%/g; + $keyword =~ s/_/\\_/; + $keyword = "%" . $keyword . "%"; + $keyword = $dbh->quote($keyword); + $query .= " (author like $keyword) or +(title like $keyword) or (unititle like $keyword) or +(notes like $keyword) or (seriestitle like $keyword) or +(abstract like $keyword)"; + + foreach $keyword (@keywords) { + $keyword =~ s/%/\\%/; + $keyword =~ s/_/\\_/; + $keyword = "%" . $keyword . "%"; + $keyword = $dbh->quote($keyword); + $query .= " or (author like $keyword) or +(title like $keyword) or (unititle like $keyword) or +(notes like $keyword) or (seriestitle like $keyword) or +(abstract like $keyword)"; + } # foreach + + $sth = $dbh->prepare($query); + $sth->execute; + + while (my $data = $sth->fetchrow_hashref) { + $results[$count] = $data; + $count++; + } # while + + $sth->finish; + $dbh->disconnect; + return($count, @results); +} # sub keywordsearch + + +sub websitesearch { + my ($keywordlist) = @_; + my $dbh = C4Connect; + my $query = "Select distinct biblio.* from biblio, biblioitems where +biblio.biblionumber = biblioitems.biblionumber and ("; + my $count = 0; + my $sth; + my @results; + my @keywords = split(/ +/, $keywordlist); + my $keyword = shift(@keywords); + + $keyword =~ s/%/\\%/g; + $keyword =~ s/_/\\_/; + $keyword = "%" . $keyword . "%"; + $keyword = $dbh->quote($keyword); + $query .= " (url like $keyword)"; + + foreach $keyword (@keywords) { + $keyword =~ s/%/\\%/; + $keyword =~ s/_/\\_/; + $keyword = "%" . $keyword . "%"; + $keyword = $dbh->quote($keyword); + $query .= " or (url like $keyword)"; + } # foreach + + $query .= ")"; + $sth = $dbh->prepare($query); + $sth->execute; + + while (my $data = $sth->fetchrow_hashref) { + $results[$count] = $data; + $count++; + } # while + + $sth->finish; + $dbh->disconnect; + return($count, @results); +} # sub websitesearch + + +sub addwebsite { + my ($website) = @_; + my $dbh = C4Connect; + my $query; + + $website->{'biblionumber'} = $dbh->quote($website->{'biblionumber'}); + $website->{'title'} = $dbh->quote($website->{'title'}); + $website->{'description'} = $dbh->quote($website->{'description'}); + $website->{'url'} = $dbh->quote($website->{'url'}); + + $query = "Insert into websites set +biblionumber = $website->{'biblionumber'}, +title = $website->{'title'}, +description = $website->{'description'}, +url = $website->{'url'}"; + + $dbh->do($query); + + $dbh->disconnect; +} # sub website + + +sub updatewebsite { + my ($website) = @_; + my $dbh = C4Connect; + my $query; + + $website->{'title'} = $dbh->quote($website->{'title'}); + $website->{'description'} = $dbh->quote($website->{'description'}); + $website->{'url'} = $dbh->quote($website->{'url'}); + + $query = "Update websites set +title = $website->{'title'}, +description = $website->{'description'}, +url = $website->{'url'} +where websitenumber = $website->{'websitenumber'}"; + + $dbh->do($query); + + $dbh->disconnect; +} # sub updatewebsite + + +sub deletewebsite { + my ($websitenumber) = @_; + my $dbh = C4Connect; + my $query = "Delete from websites where websitenumber = $websitenumber"; + + $dbh->do($query); + + $dbh->disconnect; +} # sub deletewebsite + + +END { } # module clean-up code here (global destructor) diff --git a/acqui.simple/addbooks.pl b/acqui.simple/addbooks.pl index 84569afda0..ebbb8aa983 100755 --- a/acqui.simple/addbooks.pl +++ b/acqui.simple/addbooks.pl @@ -17,6 +17,7 @@ use C4::Database; use CGI; use strict; use C4::Acquisitions; +use C4::Biblio; use C4::Output; use C4::Circulation::Circ2; diff --git a/acqui.simple/addbookslccn.pl b/acqui.simple/addbookslccn.pl index 8c67ffc375..04acec2e99 100755 --- a/acqui.simple/addbookslccn.pl +++ b/acqui.simple/addbookslccn.pl @@ -17,6 +17,7 @@ use C4::Database; use CGI; use strict; use C4::Acquisitions; +use C4::Biblio; use C4::Output; use C4::Circulation::Circ2; diff --git a/acqui.simple/bulkmarcimport.pl b/acqui.simple/bulkmarcimport.pl index af18ed46b1..d5de6d0b49 100755 --- a/acqui.simple/bulkmarcimport.pl +++ b/acqui.simple/bulkmarcimport.pl @@ -30,6 +30,7 @@ use CGI; use DBI; #use strict; use C4::Acquisitions; +use C4::Biblio; use C4::Output; my $dbh=C4Connect; my $userid=$ENV{'REMOTE_USER'}; diff --git a/acqui.simple/marcimport.pl b/acqui.simple/marcimport.pl index 587479740f..7b15efc1dd 100755 --- a/acqui.simple/marcimport.pl +++ b/acqui.simple/marcimport.pl @@ -18,6 +18,7 @@ use C4::Database; use C4::Acquisitions; use C4::Output; use C4::Input; +use C4::Biblio; #------------------ # Constants @@ -529,7 +530,7 @@ EOF my $elapsed=time()-$starttimer; print "
It took $elapsed seconds to process this page.\n"; } else { - print "No results found for query $id/n"; + print "No results found for query $id\n"; } # if rows } else { # This is an uploaded Marc record diff --git a/acqui.simple/processz3950queue b/acqui.simple/processz3950queue index 23fc80df26..2a6223f107 100755 --- a/acqui.simple/processz3950queue +++ b/acqui.simple/processz3950queue @@ -3,6 +3,7 @@ use C4::Database; use DBI; #use strict; use C4::Acquisitions; +use C4::Biblio; use C4::Output; use Net::Z3950; my $dbh=C4Connect; diff --git a/acqui.simple/viewmarc.pl b/acqui.simple/viewmarc.pl index 827868c000..b12aa230ba 100755 --- a/acqui.simple/viewmarc.pl +++ b/acqui.simple/viewmarc.pl @@ -12,6 +12,7 @@ use C4::Database; use CGI; use strict; use C4::Acquisitions; +use C4::Biblio; use C4::Output; diff --git a/acqui/acquire.pl b/acqui/acquire.pl index 4b3b66a913..309f768648 100755 --- a/acqui/acquire.pl +++ b/acqui/acquire.pl @@ -4,6 +4,7 @@ #written by chris@katipo.co.nz 24/2/2000 use C4::Acquisitions; +use C4::Biblio; use C4::Output; use C4::Database; use C4::Search; diff --git a/acqui/addorder.pl b/acqui/addorder.pl index 04280a73ee..6024cf8675 100755 --- a/acqui/addorder.pl +++ b/acqui/addorder.pl @@ -7,6 +7,7 @@ use strict; use CGI; use C4::Output; use C4::Acquisitions; +use C4::Biblio; #use Date::Manip; my $input = new CGI; diff --git a/acqui/basket.pl b/acqui/basket.pl index 6c59bd5b15..ea6db1b580 100755 --- a/acqui/basket.pl +++ b/acqui/basket.pl @@ -4,6 +4,7 @@ #written by chris@katipo.co.nz 24/2/2000 use C4::Acquisitions; +use C4::Biblio; use C4::Output; use CGI; use strict; diff --git a/acqui/finishreceive.pl b/acqui/finishreceive.pl index 95b46b7eef..49a639a4db 100755 --- a/acqui/finishreceive.pl +++ b/acqui/finishreceive.pl @@ -5,6 +5,7 @@ use C4::Output; use C4::Acquisitions; +use C4::Biblio; use CGI; use C4::Search; diff --git a/acqui/modorders.pl b/acqui/modorders.pl index 36a6dd6577..6bd657c28e 100755 --- a/acqui/modorders.pl +++ b/acqui/modorders.pl @@ -7,6 +7,7 @@ use strict; use CGI; use C4::Output; use C4::Acquisitions; +use C4::Biblio; #use Date::Manip; my $input = new CGI; diff --git a/acqui/newbasket.pl b/acqui/newbasket.pl index 8d4bc4b2a0..726e79b540 100755 --- a/acqui/newbasket.pl +++ b/acqui/newbasket.pl @@ -4,6 +4,7 @@ #written by chris@katipo.co.nz 24/2/2000 use C4::Acquisitions; +use C4::Biblio; use C4::Output; use CGI; use strict; diff --git a/acqui/newbasket2.pl b/acqui/newbasket2.pl index 81713c605a..7524950a22 100755 --- a/acqui/newbasket2.pl +++ b/acqui/newbasket2.pl @@ -7,6 +7,7 @@ use C4::Search; use CGI; use C4::Output; use C4::Acquisitions; +use C4::Biblio; my $env; my $input = new CGI; diff --git a/acqui/newbiblio.pl b/acqui/newbiblio.pl index 345ec58a0a..1769b5576b 100755 --- a/acqui/newbiblio.pl +++ b/acqui/newbiblio.pl @@ -4,6 +4,7 @@ #written by chris@katipo.co.nz 24/2/2000 use C4::Acquisitions; +use C4::Biblio; use C4::Output; use C4::Search; use C4::Database; diff --git a/acqui/order.pl b/acqui/order.pl index 0aa7096cf7..4c3f5113f6 100755 --- a/acqui/order.pl +++ b/acqui/order.pl @@ -4,6 +4,7 @@ #written by chris@katipo.co.nz 23/2/2000 use C4::Acquisitions; +use C4::Biblio; use C4::Output; use CGI; use strict; diff --git a/acqui/receive.pl b/acqui/receive.pl index 18dff09e16..63631426fd 100755 --- a/acqui/receive.pl +++ b/acqui/receive.pl @@ -4,6 +4,7 @@ #written by chris@katipo.co.nz 24/2/2000 use C4::Acquisitions; +use C4::Biblio; use C4::Output; use CGI; use strict; diff --git a/acqui/recieveorder.pl b/acqui/recieveorder.pl index 4fb40f3ca0..d468326d51 100755 --- a/acqui/recieveorder.pl +++ b/acqui/recieveorder.pl @@ -4,6 +4,7 @@ #written by chris@katipo.co.nz 24/2/2000 use C4::Acquisitions; +use C4::Biblio; use C4::Output; use CGI; use strict; diff --git a/acqui/supplier.pl b/acqui/supplier.pl index d2e0f47531..1bb485f537 100755 --- a/acqui/supplier.pl +++ b/acqui/supplier.pl @@ -4,6 +4,7 @@ #written by chris@katipo.co.nz 24/2/2000 use C4::Acquisitions; +use C4::Biblio; use C4::Output; use CGI; use strict; diff --git a/acqui/updatesupplier.pl b/acqui/updatesupplier.pl index b51bb1445e..250ccc0ee4 100755 --- a/acqui/updatesupplier.pl +++ b/acqui/updatesupplier.pl @@ -4,6 +4,7 @@ #written by chris@katipo.co.nz 23/2/2000 use C4::Acquisitions; +use C4::Biblio; use C4::Output; use CGI; use strict; diff --git a/currency.pl b/currency.pl index 4f78448182..685593f6c7 100755 --- a/currency.pl +++ b/currency.pl @@ -6,6 +6,7 @@ use CGI; use C4::Acquisitions; +use C4::Biblio; my $input=new CGI; diff --git a/delbiblio.pl b/delbiblio.pl index 248690f6b5..e0403b5cd7 100755 --- a/delbiblio.pl +++ b/delbiblio.pl @@ -10,6 +10,7 @@ use C4::Search; use CGI; use C4::Output; use C4::Acquisitions; +use C4::Biblio; my $input = new CGI; #print $input->header; diff --git a/delitem.pl b/delitem.pl index dd6fa3f0c1..d3f111afbe 100755 --- a/delitem.pl +++ b/delitem.pl @@ -10,6 +10,7 @@ use C4::Search; use CGI; use C4::Output; use C4::Acquisitions; +use C4::Biblio; my $input = new CGI; #print $input->header; diff --git a/loadmodules.pl b/loadmodules.pl index 8c7d64ae5c..83a3d3d4b1 100755 --- a/loadmodules.pl +++ b/loadmodules.pl @@ -5,6 +5,7 @@ #called as an include by the acquisitions index page use C4::Acquisitions; +use C4::Biblio; use C4::Search; use CGI; my $input=new CGI; diff --git a/marc/koha2marc b/marc/koha2marc index ab3620e214..2ce26a69a9 100644 --- a/marc/koha2marc +++ b/marc/koha2marc @@ -13,6 +13,7 @@ use CGI; use DBI; #use strict; use C4::Acquisitions; +use C4::Biblio; use C4::Output; my $dbh=C4Connect; my $userid=$ENV{'REMOTE_USER'}; diff --git a/marc/test b/marc/test index 3d26f77d97..af7474cd2d 100644 --- a/marc/test +++ b/marc/test @@ -8,6 +8,7 @@ use CGI; use DBI; #use strict; use C4::Acquisitions; +use C4::Biblio; use C4::Output; my $userid=$ENV{'REMOTE_USER'}; diff --git a/marc/viewmarc.pl b/marc/viewmarc.pl index 827868c000..b12aa230ba 100755 --- a/marc/viewmarc.pl +++ b/marc/viewmarc.pl @@ -12,6 +12,7 @@ use C4::Database; use CGI; use strict; use C4::Acquisitions; +use C4::Biblio; use C4::Output; diff --git a/moditem.pl b/moditem.pl index 5a5b4748ba..46093a6277 100755 --- a/moditem.pl +++ b/moditem.pl @@ -10,6 +10,7 @@ use C4::Search; use CGI; use C4::Output; use C4::Acquisitions; +use C4::Biblio; my $input = new CGI; my $submit=$input->param('delete.x'); diff --git a/moredetail.pl b/moredetail.pl index 789508bf7f..49b6b57c3f 100755 --- a/moredetail.pl +++ b/moredetail.pl @@ -9,6 +9,7 @@ use C4::Search; use C4::Koha; use C4::Output; use C4::Acquisitions; +use C4::Biblio; use CGI; my $input = new CGI; diff --git a/orderbreakdown.pl b/orderbreakdown.pl index d214150475..438f717ba9 100755 --- a/orderbreakdown.pl +++ b/orderbreakdown.pl @@ -4,6 +4,7 @@ #written by chris@katipo.co.nz 31/01/2000 use C4::Acquisitions; +use C4::Biblio; use C4::Output; use CGI; my $input=new CGI; diff --git a/request.pl b/request.pl index ecf2926c53..390fd9a6a9 100755 --- a/request.pl +++ b/request.pl @@ -9,6 +9,7 @@ use C4::Search; use C4::Output; use C4::Reserves2; use C4::Acquisitions; +use C4::Biblio; use C4::Koha; use CGI; diff --git a/showbudget.pl b/showbudget.pl index 8561e94c7b..d1ed83a503 100755 --- a/showbudget.pl +++ b/showbudget.pl @@ -5,6 +5,7 @@ #called as an include by the acquisitions index page use C4::Acquisitions; +use C4::Biblio; #use CGI; #my $inp=new CGI; #print $inp->header; diff --git a/updatebibitem.pl b/updatebibitem.pl index 21274f6121..e7d9397ab9 100755 --- a/updatebibitem.pl +++ b/updatebibitem.pl @@ -4,6 +4,7 @@ use C4::Database; use CGI; use strict; use C4::Acquisitions; +use C4::Biblio; use C4::Output; use C4::Search; diff --git a/updatebiblio.pl b/updatebiblio.pl index 51abf810d1..3b6d725158 100755 --- a/updatebiblio.pl +++ b/updatebiblio.pl @@ -4,6 +4,7 @@ use C4::Database; use CGI; use strict; use C4::Acquisitions; +use C4::Biblio; use C4::Output; my $input= new CGI; diff --git a/updateitem.pl b/updateitem.pl index f8cd421127..c5fd91cf00 100755 --- a/updateitem.pl +++ b/updateitem.pl @@ -4,6 +4,7 @@ use C4::Database; use CGI; use strict; use C4::Acquisitions; +use C4::Biblio; use C4::Output; use C4::Circulation::Circ2; use C4::Accounts2; diff --git a/updater/updatedatabase2.pl b/updater/updatedatabase2.pl index deec0202b8..6957abe5ce 100755 --- a/updater/updatedatabase2.pl +++ b/updater/updatedatabase2.pl @@ -17,6 +17,7 @@ use C4::Database; use C4::Catalogue; use DBI; use C4::Acquisitions; +use C4::Biblio; use C4::Output; sub droptable {