diff --git a/C4/Acquisitions.pm b/C4/Acquisitions.pm index ae6c118..998b052 100644 --- a/C4/Acquisitions.pm +++ b/C4/Acquisitions.pm @@ -14,7 +14,7 @@ $VERSION = 0.01; &ordersearch &newbiblio &newbiblioitem &newsubject &newsubtitle &neworder &newordernum &modbiblio &modorder &getsingleorder &invoice &receiveorder &bookfundbreakdown &curconvert &updatesup &insertsup &makeitems &modbibitem -&getcurrencies); +&getcurrencies &modsubtitle &modsubject); %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], # your exported package globals go here, @@ -281,30 +281,65 @@ sub newbiblio { } sub modbiblio { - my ($bibnum,$title,$author,$copyright)=@_; + my ($bibnum,$title,$author,$copyright,$seriestitle,$serial,$unititle,$notes)=@_; my $dbh=C4Connect; $title=~ s/\'/\\\'/g; $author=~ s/\'/\\\'/g; my $query="update biblio set title='$title', - author='$author',copyrightdate='$copyright' where + author='$author',copyrightdate='$copyright', + seriestitle='$seriestitle',serial='$serial',unititle='$unititle',notes='$notes' + where biblionumber=$bibnum"; my $sth=$dbh->prepare($query); -# print $query; + print $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"; + print $query; + my $sth=$dbh->prepare($query); + print $query; + $sth->execute; + $sth->finish; + $dbh->disconnect; +} + +sub modsubject { + my ($bibnum,@subject)=@_; + my $dbh=C4Connect; + my $count=@subject; + my $query="Delete from bibliosubject where biblionumber=$bibnum"; +# print $query; + my $sth=$dbh->prepare($query); + print $query; + $sth->execute; + $sth->finish; + for (my $i=0;$i<$count;$i++){ + $sth=$dbh->prepare("Insert into bibliosubject values ('$subject[$i]',$bibnum)"); + print $subject[$i]; + $sth->execute; + $sth->finish; + } + $dbh->disconnect; } sub modbibitem { - my ($bibitemnum,$itemtype,$isbn)=@_; + my ($bibitemnum,$itemtype,$isbn,$publishercode,$publicationdate,$classification,$dewey,$subclass,$illus,$pages,$volumeddesc)=@_; my $dbh=C4Connect; my $query="update biblioitems set itemtype='$itemtype', - isbn='$isbn' where + isbn='$isbn',publishercode='$publishercode',publicationyear='$publicationdate', + classification='$classification',dewey='$dewey',subclass='$subclass',illus='$illus', + pages='$pages',volumeddesc='$volumeddesc' + where biblioitemnumber=$bibitemnum"; my $sth=$dbh->prepare($query); -# print $query; + print $query; $sth->execute; $sth->finish; $dbh->disconnect; diff --git a/C4/Output.pm b/C4/Output.pm index d782284..95e0094 100644 --- a/C4/Output.pm +++ b/C4/Output.pm @@ -13,7 +13,7 @@ $VERSION = 0.01; @ISA = qw(Exporter); @EXPORT = qw(&startpage &endpage &mktablehdr &mktableft &mktablerow &mklink &startmenu &endmenu &mkheadr ¢er &endcenter &mkform &mkform2 &bold -&gotopage &mkformnotable); +&gotopage &mkformnotable &mkform3); %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], # your exported package globals go here, @@ -184,6 +184,55 @@ sub mkform{ $string=$string.""; } +sub mkform3{ + my ($action,%inputs)=@_; + my $string="
\n"; + $string=$string.mktablehdr(); + my $key; + my @keys=sort keys %inputs; + my @order; + my $count=@keys; + my $i2=0; + while ( $i2<$count) { + my $value=$inputs{$keys[$i2]}; + my @data=split('\t',$value); + my $posn = $data[2]; + if ($data[0] eq 'hidden'){ + $order[$posn]="\n"; + } else { + my $text; + if ($data[0] eq 'radio') { + $text="$data[1] + $data[2]"; + } + if ($data[0] eq 'text') { + $text=""; + } + if ($data[0] eq 'textarea') { + $text=""; + } + if ($data[0] eq 'select') { + $text=""; + } +# $string=$string.mktablerow(2,'white',$keys[$i2],$text); + $order[$posn]=mktablerow(2,'white',$keys[$i2],$text); + } + $i2++; + } + my $temp=join("\n",@order); + $string=$string.$temp; + $string=$string.mktablerow(2,'white','',''); + $string=$string.mktableft; + $string=$string."
"; +} + sub mkformnotable{ my ($action,@inputs)=@_; my $string="
\n"; diff --git a/C4/Search.pm b/C4/Search.pm index d23ccd4..5ed42a8 100755 --- a/C4/Search.pm +++ b/C4/Search.pm @@ -17,7 +17,7 @@ $VERSION = 0.01; @EXPORT = qw(&CatSearch &BornameSearch &ItemInfo &KeywordSearch &subsearch &itemdata &bibdata &GetItems &borrdata &getacctlist &itemnodata &itemcount &OpacSearch &borrdata2 &NewBorrowerNumber &bibitemdata &borrissues -&getboracctrecord &ItemType &itemissues &FrontSearch); +&getboracctrecord &ItemType &itemissues &FrontSearch &subject &subtitle); %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], # your exported package globals go here, @@ -588,7 +588,7 @@ sub bibitemdata { my $dbh=C4Connect; my $query="Select * from biblio,biblioitems,itemtypes where biblio.biblionumber= biblioitems.biblionumber and biblioitemnumber=$bibitem and -biblioitems.itemtype=itemtypes.itemtype"; + biblioitems.itemtype=itemtypes.itemtype"; # print $query; my $sth=$dbh->prepare($query); $sth->execute; @@ -598,6 +598,42 @@ biblioitems.itemtype=itemtypes.itemtype"; return($data); } +sub subject { + my ($bibnum)=@_; + my $dbh=C4Connect; + my $query="Select * from bibliosubject where biblionumber=$bibnum"; + my $sth=$dbh->prepare($query); + $sth->execute; + my @results; + my $i=0; + while (my $data=$sth->fetchrow_hashref){ + $results[$i]=$data; + $i++; + } + $sth->finish; + $dbh->disconnect; + return($i,\@results); +} + +sub subtitle { + my ($bibnum)=@_; + my $dbh=C4Connect; + my $query="Select * from bibliosubtitle where biblionumber=$bibnum"; + my $sth=$dbh->prepare($query); + $sth->execute; + my @results; + my $i=0; + while (my $data=$sth->fetchrow_hashref){ + $results[$i]=$data; + $i++; + } + $sth->finish; + $dbh->disconnect; + return($i,\@results); +} + + + sub itemissues { my ($bibitem)=@_; my $dbh=C4Connect; diff --git a/modbib.pl b/modbib.pl index f1c57d3..cdb6ed0 100755 --- a/modbib.pl +++ b/modbib.pl @@ -14,35 +14,51 @@ 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 ($analytictitle)=analytic($biblionumber,'t'); +#my ($analyticauthor)=analytic($biblionumber,'a'); print startpage(); print startmenu(); my %inputs; +#have to get all subtitles, subjects +my $sub=$subject->[0]->{'subject'}; +for (my $i=1;$i<$count;$i++){ + $sub=$sub."|".$subject->[$i]->{'subject'}; +} #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'}"; -$inputs{'Title'}="text\t$data->{'title'}"; -$inputs{'Unititle'}="text\t$data->{'unititle'}"; -$inputs{'Notes'}="textarea\t$data->{'notes'}"; -$inputs{'Serial'}="text\t$data->{'serial'}"; -$inputs{'Series Title'}="text\t$data->{'seriestitle'}"; -$inputs{'Copyright'}="text\t$data->{'copyrightdate'}"; -#$inputs{'Volume'}="text\t$data->{'volume'}"; -#$inputs{'Number'}="text\t$data->{'number'}"; -$inputs{'Classification'}="text\t$data->{'classification'}"; -$inputs{'Item Type'}="text\t$data->{'itemtype'}"; -$inputs{'ISBN'}="text\t$data->{'isbn'}"; -$inputs{'Dewey'}="text\t$data->{'dewey'}"; -$inputs{'Sub Class'}="text\t$data->{'subclass'}"; -$inputs{'Publication Year'}="text\t$data->{'publicationyear'}"; -$inputs{'Volume'}="text\t$data->{'volumedesc'}"; -$inputs{'Illustrations'}="text\t$data->{'illustration'}"; -$inputs{'Pages'}="text\t$data->{'pages'}"; -$inputs{'bibnum'}="hidden\t$data->{'biblionumber'}"; -$inputs{'bibitemnum'}="hidden\t$data->{'biblioitemnumber'}"; -print mkform('updatebiblio.pl',%inputs); +$inputs{'Author'}="text\t$data->{'author'}\t0"; +$inputs{'Title'}="text\t$data->{'title'}\t1"; +if ($data->{'dewey'} == 0){ + $data->{'dewey'}=''; +} + +$inputs{'Class'}="text\t$data->{'classification'}$data->{'dewey'}$data->{'subclass'}\t2"; +$inputs{'Item Type'}="text\t$data->{'itemtype'}\t3"; +$inputs{'Subject'}="text\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$data->{'addauthor'}\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 mkform3('updatebiblio.pl',%inputs); #print mktablehdr(); #print mktableft(); print endmenu(); diff --git a/updatebiblio.pl b/updatebiblio.pl index 81fd568..aa9c6ac 100755 --- a/updatebiblio.pl +++ b/updatebiblio.pl @@ -6,14 +6,48 @@ use strict; use C4::Acquisitions; my $input= new CGI; -#print $input->header; -#print $input->dump; +print $input->header; +print $input->dump; my $title=$input->param('Title'); my $author=$input->param('Author'); my $bibnum=$input->param('bibnum'); my $copyright=$input->param('Copyright'); +my $seriestitle=$input->param('Series'); +my $serial=$input->param('Serial'); +my $unititle=$input->param('Unititle'); +my $notes=$input->param('Notes'); -modbiblio($bibnum,$title,$author,$copyright); +modbiblio($bibnum,$title,$author,$copyright,$seriestitle,$serial,$unititle,$notes); + +my $bibitemnum=$input->param('bibitemnum'); +my $itemtype=$input->param('Item'); +my $isbn=$input->param('ISBN'); +my $publishercode=$input->param('Publisher'); +my $publicationdate=$input->param('Publication'); +my $class=$input->param('Class'); +my $classification; +my $dewey; +my $subclass; +if ($itemtype eq 'PER'){ + $classification=$class; +} +if ($class =~/0-9/){ +}else{ + $dewey=''; +} +my $illus=$input->param('Illustrations'); +my $pages=$input->param('Pages'); +my $volumeddesc=$input->param('Volume'); +modbibitem($bibitemnum,$itemtype,$isbn,$publishercode,$publicationdate,$classification,$dewey,$subclass,$illus,$pages,$volumeddesc); + +my $subtitle=$input->param('Subtitle'); +modsubtitle($bibnum,$subtitle); + +my $subject=$input->param('Subject'); +my @sub=split(/\|/,$subject); +#print @sub; +# +modsubject($bibnum,@sub); print $input->redirect("detail.pl?type=intra&bib=$bibnum");