diff --git a/C4/Acquisitions.pm b/C4/Acquisitions.pm index c619244..3619bf1 100644 --- a/C4/Acquisitions.pm +++ b/C4/Acquisitions.pm @@ -14,7 +14,8 @@ $VERSION = 0.01; &ordersearch &newbiblio &newbiblioitem &newsubject &newsubtitle &neworder &newordernum &modbiblio &modorder &getsingleorder &invoice &receiveorder &bookfundbreakdown &curconvert &updatesup &insertsup &makeitems &modbibitem -&getcurrencies &modsubtitle &modsubject &modaddauthor &moditem); +&getcurrencies &modsubtitle &modsubject &modaddauthor &moditem &countitems +&findall &needsmod); %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], # your exported package globals go here, @@ -611,14 +612,67 @@ sub makeitems { } sub moditem { - my ($itemnum,$bibitemnum)=@_; + my ($itemnum,$bibitemnum,$barcode,$notes)=@_; my $dbh=C4Connect; - my $query="update items set biblioitemnumber=$bibitemnum where -itemnumber=$itemnum"; + my $query="update items set biblioitemnumber=$bibitemnum, + barcode='$barcode',itemnotes='$notes' + where itemnumber=$itemnum"; + if ($barcode eq ''){ + $query="update items set biblioitemnumber=$bibitemnum 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); } END { } # module clean-up code here (global destructor) diff --git a/C4/Circulation/Borrower.pm b/C4/Circulation/Borrower.pm index 0213a9d..b990227 100755 --- a/C4/Circulation/Borrower.pm +++ b/C4/Circulation/Borrower.pm @@ -1,4 +1,4 @@ -package C4::Ciecrculation::Borrower; #assumes C4/Circulation/Borrower +package C4::Circulation::Borrower; #assumes C4/Circulation/Borrower #package to deal with Issues #written 3/11/99 by chris@katipo.co.nz diff --git a/C4/Search.pm b/C4/Search.pm index b10ce1f..e284670 100755 --- a/C4/Search.pm +++ b/C4/Search.pm @@ -18,7 +18,7 @@ $VERSION = 0.01; &itemdata &bibdata &GetItems &borrdata &getacctlist &itemnodata &itemcount &OpacSearch &borrdata2 &NewBorrowerNumber &bibitemdata &borrissues &getboracctrecord &ItemType &itemissues &FrontSearch &subject &subtitle -&addauthor); +&addauthor &bibitems); %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], # your exported package globals go here, @@ -703,6 +703,7 @@ sub itemissues { sub itemnodata { my ($env,$dbh,$itemnumber) = @_; + $dbh=C4Connect; my $query="Select * from biblio,items,biblioitems where items.itemnumber = '$itemnumber' and biblio.biblionumber = items.biblionumber @@ -711,7 +712,8 @@ sub itemnodata { # print $query; $sth->execute; my $data=$sth->fetchrow_hashref; - $sth->finish; + $sth->finish; + $dbh->disconnect; return($data); } @@ -950,6 +952,25 @@ sub ItemType { $dbh->disconnect; return ($dat->{'description'}); } + +sub bibitems { + my ($bibnum)=@_; + my $dbh=C4Connect; + my $query="Select * from biblioitems,itemtypes where + biblionumber='$bibnum' and biblioitems.itemtype=itemtypes.itemtype"; + my $sth=$dbh->prepare($query); + $sth->execute; + my $i=0; + my @results; + while (my $data=$sth->fetchrow_hashref){ + $results[$i]=$data; + $i++; + } + $sth->finish; + $dbh->disconnect; + return($i,@results); +} + END { } # module clean-up code here (global destructor) diff --git a/detail.pl b/detail.pl index cbc6378..4e315bb 100755 --- a/detail.pl +++ b/detail.pl @@ -54,7 +54,8 @@ print < - +
+ Total Number of Items: $count "; } -#if ($type ne 'opac'){ -# print ""; -#} +if ($type ne 'opac'){ + print ""; +} print < - + printend ; @@ -201,8 +203,22 @@ while ($i < $count){ } $i++; } -print endcenter(); + print mktableft(); +print "

"; +print mktablehdr(); + +print < +

HELP
+Update Biblio for all Items: Click on the Modify button [left] to ammend the biblio. Any changes you make will update the record for all the items listed above.

+Updating the Biblio for only ONE or SOME Items: If some of the items listed above need a different biblio, or are on the wrong biblio, you must use the acquisitions process to fix this. You will need to "re-order" the items, and delete them from this biblio.

+ + +printend +; +print mktableft(); +print endcenter(); print "
"; print endmenu($type); print endpage(); diff --git a/modbib.pl b/modbib.pl index 8363a4b..8ef92c2 100755 --- a/modbib.pl +++ b/modbib.pl @@ -12,8 +12,8 @@ use C4::Output; my $input = new CGI; print $input->header; -my $bibitemnum=$input->param('bibitem'); -my $data=bibitemdata($bibitemnum); +my $bibnum=$input->param('bibnum'); +my $data=bibdata($bibnum); my ($count,$subject)=subject($data->{'biblionumber'}); my ($count2,$subtitle)=subtitle($data->{'biblionumber'}); my ($count3,$addauthor)=addauthor($data->{'biblionumber'}); @@ -48,22 +48,22 @@ if ($dewey <= 0){ $dewey=''; } $dewey=~ s/\.$//; -$inputs{'Class'}="text\t$data->{'classification'}$dewey$data->{'subclass'}\t2"; -$inputs{'Item Type'}="text\t$data->{'itemtype'}\t3"; +#$inputs{'Class'}="text\t$data->{'classification'}$dewey$data->{'subclass'}\t2"; +#$inputs{'Item Type'}="text\t$data->{'itemtype'}\t3"; $inputs{'Subject'}="textarea\t$sub\t4"; -$inputs{'Publisher'}="text\t$data->{'publishercode'}\t5"; +#$inputs{'Publisher'}="text\t$data->{'publishercode'}\t5"; $inputs{'Copyright date'}="text\t$data->{'copyrightdate'}\t6"; -$inputs{'ISBN'}="text\t$data->{'isbn'}\t7"; -$inputs{'Publication Year'}="text\t$data->{'publicationyear'}\t8"; -$inputs{'Pages'}="text\t$data->{'pages'}\t9"; -$inputs{'Illustrations'}="text\t$data->{'illustration'}\t10"; +#$inputs{'ISBN'}="text\t$data->{'isbn'}\t7"; +#$inputs{'Publication Year'}="text\t$data->{'publicationyear'}\t8"; +#$inputs{'Pages'}="text\t$data->{'pages'}\t9"; +#$inputs{'Illustrations'}="text\t$data->{'illustration'}\t10"; $inputs{'Series Title'}="text\t$data->{'seriestitle'}\t11"; $inputs{'Additional Author'}="text\t$additional\t12"; $inputs{'Subtitle'}="text\t$subtitle->[0]->{'subtitle'}\t13"; $inputs{'Unititle'}="text\t$data->{'unititle'}\t14"; $inputs{'Notes'}="textarea\t$data->{'notes'}\t15"; $inputs{'Serial'}="text\t$data->{'serial'}\t16"; -$inputs{'Volume'}="text\t$data->{'volumeddesc'}\t17"; +#$inputs{'Volume'}="text\t$data->{'volumeddesc'}\t17"; $inputs{'Analytic author'}="text\t\t18"; $inputs{'Analytic title'}="text\t\t19"; diff --git a/modbibitem.pl b/modbibitem.pl new file mode 100755 index 0000000..1398619 --- /dev/null +++ b/modbibitem.pl @@ -0,0 +1,179 @@ +#!/usr/bin/perl + +#script to modify/delete groups + +#written 8/11/99 +# modified 11/11/99 by chris@katipo.co.nz +# modified 18/4/00 by chris@katipo.co.nz +use strict; + +use C4::Search; +use CGI; +use C4::Output; + +my $input = new CGI; +print $input->header; +my $bibitemnum=$input->param('bibitem'); +my $data=bibitemdata($bibitemnum); +#my ($count,$subject)=subject($data->{'biblionumber'}); +#my ($count2,$subtitle)=subtitle($data->{'biblionumber'}); +#my ($count3,$addauthor)=addauthor($data->{'biblionumber'}); + +#my ($analytictitle)=analytic($biblionumber,'t'); +#my ($analyticauthor)=analytic($biblionumber,'a'); +print startpage(); +print startmenu(); +my %inputs; + +#hash is set up with input name being the key then +#the value is a tab separated list, the first item being the input type +#$inputs{'Author'}="text\t$data->{'author'}\t0"; +#$inputs{'Title'}="text\t$data->{'title'}\t1"; +my $dewey = $data->{'dewey'}; +$dewey =~ s/0+$//; +if ($dewey eq "000.") { $dewey = "";}; +if ($dewey < 10){$dewey='00'.$dewey;} +if ($dewey < 100 && $dewey > 10){$dewey='0'.$dewey;} +if ($dewey <= 0){ + $dewey=''; +} +$dewey=~ s/\.$//; +$inputs{'Class'}="text\t$data->{'classification'}$dewey$data->{'subclass'}\t2"; +$inputs{'Item Type'}="text\t$data->{'itemtype'}\t3"; +#$inputs{'Subject'}="textarea\t$sub\t4"; +$inputs{'Publisher'}="text\t$data->{'publishercode'}\t5"; +#$inputs{'Copyright date'}="text\t$data->{'copyrightdate'}\t6"; +$inputs{'ISBN'}="text\t$data->{'isbn'}\t7"; +$inputs{'Publication Year'}="text\t$data->{'publicationyear'}\t8"; +$inputs{'Pages'}="text\t$data->{'pages'}\t9"; +$inputs{'Illustrations'}="text\t$data->{'illustration'}\t10"; +#$inputs{'Series Title'}="text\t$data->{'seriestitle'}\t11"; +#$inputs{'Additional Author'}="text\t$additional\t12"; +#$inputs{'Subtitle'}="text\t$subtitle->[0]->{'subtitle'}\t13"; +#$inputs{'Unititle'}="text\t$data->{'unititle'}\t14"; +#$inputs{'Notes'}="textarea\t$data->{'notes'}\t15"; +#$inputs{'Serial'}="text\t$data->{'serial'}\t16"; +$inputs{'Volume'}="text\t$data->{'volumeddesc'}\t17"; +#$inputs{'Analytic author'}="text\t\t18"; +#$inputs{'Analytic title'}="text\t\t19"; + +$inputs{'bibnum'}="hidden\t$data->{'biblionumber'}\t20"; +$inputs{'bibitemnum'}="hidden\t$data->{'biblioitemnumber'}\t21"; + +print <$data->{'title'} ($data->{'author'})
+Modify Group - $data->{'description'}

+ + + + + + +printend +; +my ($count,@bibitems)=bibitems($data->{'biblionumber'}); +print ""; +print < + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RE-ASSIGN TO EXISTING GROUP
OR MODIFY DETAILS
Item Type
Class
Publisher
ISBN
Publication Year
Pages
Illustrations
Volume
+ + + + + + + +printend +; + + +print < + + + + + + + + + +printend +; +my (@items)=itemissues($data->{'biblioitemnumber'}); +#print @items; +my $count=@items; +for (my $i=0;$i<$count;$i++){ + my @temp=split('-',$items[$i]->{'datelastseen'}); + $items[$i]->{'datelastseen'}="$temp[2]/$temp[1]/$temp[0]"; + print < + + + + + + +printend +; +} +print < +

+ + + + + +

+ + +HELP: You must click on the appropriate radio button (in the green boxes), and choose to either re-assign the item/s to a record already in the system, or modify this record. IF your changes only apply to some + items, tick the appropriate ones and a new group record will be created automatically for them. +
+ +

 

+ + +printend +; + + +print endmenu(); +print endpage(); diff --git a/moditem.pl b/moditem.pl index 02e93b6..585c6db 100755 --- a/moditem.pl +++ b/moditem.pl @@ -9,13 +9,14 @@ use strict; use C4::Search; use CGI; use C4::Output; +use C4::Acquisitions; my $input = new CGI; print $input->header; my $bibitemnum=$input->param('bibitem'); my $data=bibitemdata($bibitemnum); my $itemnum=$input->param('item'); - +my $item=itemnodata('blah','',$itemnum); #my ($analytictitle)=analytic($biblionumber,'t'); #my ($analyticauthor)=analytic($biblionumber,'a'); print startpage(); @@ -37,23 +38,23 @@ if ($dewey <= 0){ $dewey=''; } $dewey=~ s/\.$//; -#$inputs{'Barcode'}="text\t\$item->{'barcode'}\t0"; -$inputs{'Class'}="text\t$data->{'classification'}$dewey$data->{'subclass'}\t2"; -$inputs{'Item Type'}="text\t$data->{'itemtype'}\t3"; +$inputs{'Barcode'}="text\t$item->{'barcode'}\t0"; +$inputs{'Class'}="hidden\t$data->{'classification'}$dewey$data->{'subclass'}\t2"; +#$inputs{'Item Type'}="text\t$data->{'itemtype'}\t3"; #$inputs{'Subject'}="textarea\t$sub\t4"; -#$inputs{'Publisher'}="text\t$data->{'publishercode'}\t5"; -$inputs{'Copyright date'}="text\t$data->{'copyrightdate'}\t6"; -$inputs{'ISBN'}="text\t$data->{'isbn'}\t7"; -#$inputs{'Publication Year'}="text\t$data->{'publicationyear'}\t8"; -$inputs{'Pages'}="text\t$data->{'pages'}\t9"; -$inputs{'Illustrations'}="text\t$data->{'illustration'}\t10"; +$inputs{'Publisher'}="hidden\t$data->{'publishercode'}\t5"; +#$inputs{'Copyright date'}="text\t$data->{'copyrightdate'}\t6"; +$inputs{'ISBN'}="hidden\t$data->{'isbn'}\t7"; +$inputs{'Publication Year'}="hidden\t$data->{'publicationyear'}\t8"; +$inputs{'Pages'}="hidden\t$data->{'pages'}\t9"; +$inputs{'Illustrations'}="hidden\t$data->{'illustration'}\t10"; #$inputs{'Series Title'}="text\t$data->{'seriestitle'}\t11"; #$inputs{'Additional Author'}="text\t$additional\t12"; #$inputs{'Subtitle'}="text\t$subtitle->[0]->{'subtitle'}\t13"; #$inputs{'Unititle'}="text\t$data->{'unititle'}\t14"; -#$inputs{'Notes'}="textarea\t$data->{'notes'}\t15"; -$inputs{'Serial'}="text\t$data->{'serial'}\t16"; -$inputs{'Volume'}="text\t$data->{'volumeddesc'}\t17"; +$inputs{'ItemNotes'}="textarea\t$item->{'itemnotes'}\t15"; +#$inputs{'Serial'}="text\t$data->{'serial'}\t16"; +$inputs{'Volume'}="hidden\t$data->{'volumeddesc'}\t17"; #$inputs{'Analytic author'}="text\t\t18"; #$inputs{'Analytic title'}="text\t\t19"; @@ -61,8 +62,51 @@ $inputs{'bibnum'}="hidden\t$data->{'biblionumber'}\t20"; $inputs{'bibitemnum'}="hidden\t$data->{'biblioitemnumber'}\t21"; $inputs{'itemnumber'}="hidden\t$itemnum\t22"; -print mkform3('updatebibitem.pl',%inputs); -#print mktablehdr(); -#print mktableft(); + + +print <$data->{'title'} ($data->{'author'})
+printend +; +my @formats=findall($data->{'biblionumber'}); +my $count=@formats; +my $format="
CHANGES TO AFFECT THESE BARCODES
+Tick ALL barcodes that changes are to apply too. Those left un-ticked will keep the original group record.
 BarcodeLocationDate DueLast Seen
$items[$i]->{'barcode'}$items[$i]->{'holdingbranch'}$items[$i]->{'datelastseen'}
+"; +my $i=0; +while ($i<$count){ + $format.=" + + + "; +} + + +$format.="
+ FORMAT - $formats[$i]->{'description'}
+ + ISBN: $formats[$i]->{'isbn'}
+ Item type: $formats[$i]->{'itemtype'}
+ Class: $formats[$i]->{'classification'} + "; + my $bibitemnumber=$formats[$i]->{'biblioitemnumber'}; + while ($bibitemnumber == $formats[$i]->{'biblioitemnumber'}){ + $format.="
+ Item: $formats[$i]->{'barcode'}
+ Location: $formats[$i]->{'holdingbranch'}
+ Last Seen: $formats[$i]->{'datelastseen'} +
"; + $bibitemnumber=$formats[$i]->{'biblioitemnumber'}; + $i++; + } +# $i++; + $format.="
"; +my $rightside=mkform3('updateitem.pl',%inputs); + + +print mktablehdr(); +print mktablerow(2,'white',$format,$rightside); + +print mktableft(); + print endmenu(); print endpage(); diff --git a/moredetail.pl b/moredetail.pl index f407d71..5b7779f 100755 --- a/moredetail.pl +++ b/moredetail.pl @@ -53,7 +53,7 @@ print < $data->{'title'} ($data->{'author'})

-

+ @@ -89,7 +89,7 @@ printend for (my $i=0;$i<$count;$i++){ print < +
@@ -131,8 +131,6 @@ print <paid by:
Notes: $items[$i]->{'itemnotes'}
Renewals: $items[$i]->{'renewals'}
-Requests: put in current reserves
- waiting:
Accession Date: $items[$i]->{'dateaccessioned'}
Cancelled: $items[$i]->{'withdrawn'}
Total Issues: $items[$i]->{'issues'}
diff --git a/updatebibitem.pl b/updatebibitem.pl index ed69354..de62026 100755 --- a/updatebibitem.pl +++ b/updatebibitem.pl @@ -5,26 +5,15 @@ use CGI; use strict; use C4::Acquisitions; use C4::Output; +use C4::Search; my $input= new CGI; -#print $input->header; -#print $input->dump; +print $input->header; +print $input->dump; -my $title=checkinp($input->param('Title')); -my $author=checkinp($input->param('Author')); +my $bibitemnum=checkinp($input->param('bibitemnum')); my $bibnum=checkinp($input->param('bibnum')); -my $itemnum=checkinp($input->param('itemnumber')); -my $copyright=checkinp($input->param('Copyright')); -my $seriestitle=checkinp($input->param('Series')); -my $serial=checkinp($input->param('Serial')); -my $unititle=checkinp($input->param('Unititle')); -my $notes=checkinp($input->param('Notes')); - -#modbiblio($bibnum,$title,$author,$copyright,$seriestitle,$serial,$unititle,$notes); - -#my $bibitemnum=checkinp($input->param('bibitemnum')); -#my $olditemtype my $itemtype=checkinp($input->param('Item')); my $isbn=checkinp($input->param('ISBN')); my $publishercode=checkinp($input->param('Publisher')); @@ -56,12 +45,53 @@ my $illus=checkinp($input->param('Illustrations')); my $pages=checkinp($input->param('Pages')); my $volumeddesc=checkinp($input->param('Volume')); -my $bibitemnum=newbiblioitem($bibnum,$itemtype,$volumeddesc,$classification); -modbibitem($bibitemnum,$itemtype,$isbn,$publishercode,$publicationdate,$classification,$dewey,$subclass,$illus,$pages,$volumeddesc); -moditem($itemnum,$bibitemnum); - print $input->redirect("detail.pl?type=intra&bib=$bibnum"); -#print $bibitemnum; +my (@items)=itemissues($bibitemnum); +#print @items; +my $count=@items; +print $count; +my @barcodes; + + +my $existing=$input->param('existing'); +if ($existing eq 'yes'){ +# print "yes"; + my $group=$input->param('existinggroup'); + #go thru items assing selected ones to group + for (my $i=0;$i<$count;$i++){ + my $temp="check_group_".$items[$i]->{'barcode'}; + my $barcode=$input->param($temp); + if ($barcode ne ''){ + moditem($items[$i]->{'itemnumber'},$group); + } + } +} else { + my $flag; + my $flag2; + for (my $i=0;$i<$count;$i++){ + my $temp="check_group_".$items[$i]->{'barcode'}; + $barcodes[$i]=$input->param($temp); + if ($barcodes[$i] eq ''){ + $flag="notall"; + } else { + $flag2="leastone"; + } + } + if ($flag eq 'notall'){ + $bibitemnum=newbiblioitem($bibnum,$itemtype,$volumeddesc,$classification); + modbibitem($bibitemnum,$itemtype,$isbn,$publishercode,$publicationdate,$classification,$dewey,$subclass,$illus,$pages,$volumeddesc); + for (my $i=0;$i<$count;$i++){ + if ($barcodes[$i] ne ''){ + moditem($items[$i]->{'itemnumber'},$bibitemnum); + } + } + + } elsif ($flag2 eq 'leastone') { + modbibitem($bibitemnum,$itemtype,$isbn,$publishercode,$publicationdate,$classification,$dewey,$subclass,$illus,$pages,$volumeddesc); + } +} +print $input->redirect("moredetail.pl?type=intra&bib=$bibnum&bi=$bibitemnum"); + sub checkinp{ my ($inp)=@_; diff --git a/updatebiblio.pl b/updatebiblio.pl index 568cad0..27463e4 100755 --- a/updatebiblio.pl +++ b/updatebiblio.pl @@ -21,39 +21,6 @@ my $unititle=checkinp($input->param('Unititle')); my $notes=checkinp($input->param('Notes')); modbiblio($bibnum,$title,$author,$copyright,$seriestitle,$serial,$unititle,$notes); -#print $title; -my $bibitemnum=checkinp($input->param('bibitemnum')); -my $itemtype=checkinp($input->param('Item')); -my $isbn=checkinp($input->param('ISBN')); -my $publishercode=checkinp($input->param('Publisher')); -my $publicationdate=checkinp($input->param('Publication')); -my $class=checkinp($input->param('Class')); -my $classification; -my $dewey; -my $subclass; -if ($itemtype ne 'NF'){ - $classification=$class; -} -if ($class =~/[0-9]+/){ -# print $class; - $dewey= $class; - $dewey=~ s/[a-z]+//gi; - my @temp; - if ($class =~ /\./){ - @temp=split(/[0-9]+\.[0-9]+/,$class); - } else { - @temp=split(/[0-9]+/,$class); - } - $classification=$temp[0]; - $subclass=$temp[1]; -# print $classification,$dewey,$subclass; -}else{ - $dewey=''; -} -my $illus=checkinp($input->param('Illustrations')); -my $pages=checkinp($input->param('Pages')); -my $volumeddesc=checkinp($input->param('Volume')); -modbibitem($bibitemnum,$itemtype,$isbn,$publishercode,$publicationdate,$classification,$dewey,$subclass,$illus,$pages,$volumeddesc); my $subtitle=checkinp($input->param('Subtitle')); modsubtitle($bibnum,$subtitle); diff --git a/updateitem.pl b/updateitem.pl new file mode 100755 index 0000000..4dc4503 --- /dev/null +++ b/updateitem.pl @@ -0,0 +1,83 @@ +#!/usr/bin/perl + +use C4::Database; +use CGI; +use strict; +use C4::Acquisitions; +use C4::Output; + +my $input= new CGI; +#print $input->header; +#print $input->dump; + + +#my $title=checkinp($input->param('Title')); +#my $author=checkinp($input->param('Author')); +my $bibnum=checkinp($input->param('bibnum')); +my $itemnum=checkinp($input->param('itemnumber')); +my $copyright=checkinp($input->param('Copyright')); +my $seriestitle=checkinp($input->param('Series')); +my $serial=checkinp($input->param('Serial')); +my $unititle=checkinp($input->param('Unititle')); +my $notes=checkinp($input->param('ItemNotes')); + +#need to do barcode check +my $barcode=$input->param('Barcode'); +#modbiblio($bibnum,$title,$author,$copyright,$seriestitle,$serial,$unititle,$notes); + +my $bibitemnum=checkinp($input->param('bibitemnum')); +#my $olditemtype +my $itemtype=checkinp($input->param('Item')); +my $isbn=checkinp($input->param('ISBN')); +my $publishercode=checkinp($input->param('Publisher')); +my $publicationdate=checkinp($input->param('Publication')); +my $class=checkinp($input->param('Class')); +my $classification; +my $dewey; +my $subclass; +if ($itemtype ne 'NF'){ + $classification=$class; +} +if ($class =~/[0-9]+/){ +# print $class; + $dewey= $class; + $dewey=~ s/[a-z]+//gi; + my @temp; + if ($class =~ /\./){ + @temp=split(/[0-9]+\.[0-9]+/,$class); + } else { + @temp=split(/[0-9]+/,$class); + } + $classification=$temp[0]; + $subclass=$temp[1]; +# print $classification,$dewey,$subclass; +}else{ + $dewey=''; +} +my $illus=checkinp($input->param('Illustrations')); +my $pages=checkinp($input->param('Pages')); +my $volumeddesc=checkinp($input->param('Volume')); + +#have to check how many items are attached to this bibitem, if one, just change it, +#if more than one, we must create a new one. +my $number=countitems($bibitemnum); +if ($number > 1){ +# print $number; + #check if bibitemneeds modifying + my $needsmod=needsmod($bibitemnum,$itemtype); + if ($needsmod != 1){ + $bibitemnum=newbiblioitem($bibnum,$itemtype,$volumeddesc,$classification); + } +} +modbibitem($bibitemnum,$itemtype,$isbn,$publishercode,$publicationdate,$classification,$dewey,$subclass,$illus,$pages,$volumeddesc); +moditem($itemnum,$bibitemnum,$barcode,$notes); + +print $input->redirect("moredetail.pl?type=intra&bib=$bibnum&bi=$bibitemnum"); +#print $bibitemnum; + +sub checkinp{ + my ($inp)=@_; + $inp=~ s/\'/\\\'/g; + $inp=~ s/\"/\\\"/g; + return($inp); +}
BARCODE $items[$i]->{'barcode'}