- print endmenu();
- print endpage();
- exit;
-}
-
-
-sub newbiblioitem {
- #print
-# print "in here";
- my $biblionumber=$input->param('biblionumber');
- my $volume=$input->param('volume');
- my $q_volume=$dbh->quote($volume);
- my $number=$input->param('number');
- my $q_number=$dbh->quote($number);
- my $classification=$input->param('classification');
- my $q_classification=$dbh->quote($classification);
- my $itemtype=$input->param('itemtype');
- my $q_itemtype=$dbh->quote($itemtype);
- my $issn=$input->param('issn');
- my $q_issn=$dbh->quote($issn);
- my $lccn=$input->param('lccn');
- my $q_lccn=$dbh->quote($lccn);
- my $dewey=$input->param('dewey');
- my $q_dewey=$dbh->quote($dewey);
- my $subclass=$input->param('subclass');
- my $q_subclass=$dbh->quote($subclass);
- my $publicationyear=$input->param('publicationyear');
- my $q_publicationyear=$dbh->quote($publicationyear);
- my $publishercode=$input->param('publishercode');
- my $q_publishercode=$dbh->quote($publishercode);
- my $volumedate=$input->param('volumedate');
- my $q_volumedate=$dbh->quote($volumedate);
- my $volumeddesc=$input->param('volumeddesc');
- my $q_volumeddesc=$dbh->quote($volumeddesc);
- my $illus=$input->param('illus');
- my $q_illus=$dbh->quote($illus);
- my $pages=$input->param('pages');
- my $q_pages=$dbh->quote($pages);
- my $notes=$input->param('notes');
- my $q_notes=$dbh->quote($notes);
- my $size=$input->param('size');
- my $q_size=$dbh->quote($size);
- my $place=$input->param('place');
- my $q_place=$dbh->quote($place);
- my $subjectheadings=$input->param('subjectheadings');
- my $additionalauthors=$input->param('additionalauthors');
- my $sth=$dbh->prepare("select max(biblioitemnumber) from biblioitems");
- $sth->execute;
- ($biblioitemnumber) = $sth->fetchrow;
- $biblioitemnumber++;
-# print STDERR "NEW BiblioItemNumber: $biblioitemnumber \n";
- ($q_isbn='') if ($q_isbn eq 'NULL');
- my $query="insert into biblioitems (biblioitemnumber,
- biblionumber, volume, number, classification, itemtype, isbn, issn, lccn, dewey, subclass,
- publicationyear, publishercode, volumedate, volumeddesc, illus, pages,
- notes, size, place) values ($biblioitemnumber, $biblionumber, $q_volume,
- $q_number, $q_classification, $q_itemtype, $q_isbn, $q_issn, $q_lccn, $q_dewey, $q_subclass,
- $q_publicationyear, $q_publishercode, $q_volumedate, $q_volumeddesc,
- $q_illus, $q_pages, $q_notes, $q_size, $q_place)";
- $sth=$dbh->prepare($query);
-# print $query;
- $sth->execute;
- my @subjectheadings=split(/\n/,$subjectheadings);
- my $subjectheading;
- foreach $subjectheading (@subjectheadings) {
- # remove any line ending characters (Ctrl-J or M)
- $subjectheading=~s/\013//g;
- $subjectheading=~s/\010//g;
- # convert to upper case
- $subjectheading=uc($subjectheading);
- print STDERR "S: $biblionumber, $subjectheading ";
- chomp ($subjectheading);
- print STDERR "B: ".ord(substr($subjectheading, length($subjectheading)-1, 1))." ";
- while (ord(substr($subjectheading, length($subjectheading)-1, 1))<14) {
- chop $subjectheading;
- }
- print STDERR "A: ".ord(substr($subjectheading, length($subjectheading)-1, 1))."\n";
- # quote value
- my $q_subjectheading=$dbh->quote($subjectheading);
- $sth=$dbh->prepare("insert into bibliosubject (biblionumber,subject)
- values ($biblionumber, $q_subjectheading)");
- $sth->execute;
- }
- my @additionalauthors=split(/\n/,$additionalauthors);
- my $additionalauthor;
- foreach $additionalauthor (@additionalauthors) {
- # remove any line ending characters (Ctrl-L or Ctrl-M)
- $additionalauthor=~s/\013//g;
- $additionalauthor=~s/\010//g;
- # convert to upper case
- $additionalauthor=uc($additionalauthor);
- # quote value
- my $q_additionalauthor=$dbh->quote($additionalauthor);
- $sth=$dbh->prepare("insert into additionalauthors (biblionumber,author)
- values ($biblionumber, $q_additionalauthor)");
- $sth->execute;
- }
-}
-
-sub newitem {
- my $biblionumber=$input->param('biblionumber');
- my $biblioitemnumber=$input->param('biblioitemnumber');
- my $barcode=$input->param('barcode');
- my $itemnotes=$input->param('notes');
- my $q_itemnotes=$dbh->quote($itemnotes);
- my $replacementprice=$input->param('replacementprice');
- ($replacementprice) || ($replacementprice=0);
- my $sth=$dbh->prepare("select max(itemnumber) from items");
- $sth->execute;
- my ($itemnumber) = $sth->fetchrow;
- $itemnumber++;
- my @datearr=localtime(time);
- my $date=(1900+$datearr[5])."-".($datearr[4]+1)."-".$datearr[3];
- my $q_homebranch=$dbh->quote($input->param('homebranch'));
- my $query="insert into items (itemnumber, biblionumber,
- biblioitemnumber,barcode, itemnotes, holdingbranch, homebranch, dateaccessioned, replacementprice) values ($itemnumber,
- $biblionumber, $biblioitemnumber, $barcode, $q_itemnotes, $q_homebranch, $q_homebranch, '$date', $replacementprice)";
- $sth=$dbh->prepare($query);
- $sth->execute;
-# print $query;
-}
-
-if ($isbn) {
- my $sth;
- if ($isbn eq 'NULL') {
- # set biblioitemnumber if not already initialised...
- if ($biblioitemnumber eq '') {
- $sth=$dbh->prepare("select max(biblioitemnumber) from biblioitems");
- $sth->execute;
- ($biblioitemnumber) = $sth->fetchrow;
- $biblioitemnumber++;
-# print STDERR "BiblioItemNumber was missing: $biblioitemnumber \n";
- }
- $sth=$dbh->prepare("select biblionumber,biblioitemnumber from
- biblioitems where biblioitemnumber=$biblioitemnumber");
- } else {
- $sth=$dbh->prepare("select biblionumber, biblioitemnumber from
- biblioitems where isbn=$q_isbn");
- }
- $sth->execute;
- if (my ($biblionumber, $biblioitemnumber) = $sth->fetchrow) {
- sectioninfo();
- $sth=$dbh->prepare("select I.barcode,I.itemnotes,B.title,B.author from items I, biblio B where B.biblionumber=I.biblionumber and biblioitemnumber=$biblioitemnumber");
- $sth->execute;
- my $itemdata='';
- while (my ($barcode, $itemnotes, $title, $author) = $sth->fetchrow) {
- $itemdata.="<tr><td align=center>$barcode</td><td><u>$title</u></td><td>$author</td><td>$itemnotes</td></tr>\n";