- if ($qisbn || $qissn || $qlccn || $qcontrolnumber) {
- print "<a href=$ENV{'SCRIPT_NAME'}>New File</a><hr>\n";
- #open (F, "$file");
- #my $data=<F>;
- my $data;
-
- if ($file=~/Z-(\d+)/) {
- my $id=$1;
- my $resultsid=$input->param('resultsid');
- my $sth=$dbh->prepare("select results from z3950results where id=$resultsid");
- $sth->execute;
- ($data) = $sth->fetchrow;
- } else {
- my $sth=$dbh->prepare("select marc from uploadedmarc where id=$file");
- $sth->execute;
- ($data) = $sth->fetchrow;
- }
-
- my @records;
-
-RECORD:
- foreach $record (split(/$splitchar/, $data)) {
-
- my (
- $bib, # hash ref to named fields
- $fieldlist, # list ref
- $lccn, $isbn, $issn, $dewey,
- $publisher, $publicationyear, $volume,
- $number, @subjects, $notes, $additionalauthors,
- $copyrightdate, $seriestitle,
- $origisbn, $origissn, $origlccn, $origcontrolnumber,
- $subtitle,
- $controlnumber,
- $cleanauthor,
- $subject,
- $volumedate,
- $volumeddesc,
- $itemtypeselect,
- );
- my ($lccninput, $isbninput, $issninput, $deweyinput, $authorinput, $titleinput,
- $placeinput, $publisherinput, $publicationyearinput, $volumeinput,
- $numberinput, $notesinput, $additionalauthorsinput,
- $illustratorinput, $copyrightdateinput, $seriestitleinput,
- $subtitleinput,
- $copyrightinput,
- $volumedateinput,
- $volumeddescinput,
- $subjectinput,
- $noteinput,
- $subclassinput,
- $pubyearinput,
- $pagesinput,
- $sizeinput,
- $marcinput,
- $fileinput,
- );
-
-
- my $marctext;
-
- my $marc=$record;
-
- ($fieldlist)=parsemarcfileformat($record );
-
- $bib=extractmarcfields($fieldlist );
-
- print "Title=$bib->{title}\n" if $debug;
-
- $marctext=FormatMarcText($fieldlist);
-
- $controlnumber =$bib->{controlnumber};
- $lccn =$bib->{lccn};
- $isbn =$bib->{isbn};
- $issn =$bib->{issn};
- $publisher =$bib->{publisher};
- $publicationyear =$bib->{publicationyear};
- $copyrightdate =$bib->{copyrightdate};
-
- $volume =$bib->{volume};
- $number =$bib->{number};
- $seriestitle =$bib->{seriestitle};
- $additionalauthors =$bib->{additionalauthors};
- $notes =$bib->{notes};
-
- $titleinput=$input->textfield(-name=>'title', -default=>$bib->{title}, -size=>40);
- $marcinput=$input->hidden(-name=>'marc', -default=>$marc);
- $subtitleinput=$input->textfield(-name=>'subtitle', -default=>$bib->{subtitle}, -size=>40);
- $authorinput=$input->textfield(-name=>'author', -default=>$bib->{author});
- $illustratorinput=$input->textfield(-name=>'illustrator',
- -default=>$bib->{illustrator});
- $additionalauthorsinput=$input->textarea(-name=>'additionalauthors', -default=>$additionalauthors, -rows=>4, -cols=>20);
-
- my $subject='';
- foreach ( @{$bib->{subject} } ) {
- $subject.="$_\n";
- print "<PRE>form subject=$subject</PRE>\n" if $debug;
- }
- $subjectinput=$input->textarea(-name=>'subject',
- -default=>$subject, -rows=>4, -cols=>40);
-
- $noteinput=$input->textarea(-name=>'notes',
- -default=>$notes, -rows=>4, -cols=>40, -wrap=>'physical');
- $copyrightinput=$input->textfield(-name=>'copyrightdate', -default=>$copyrightdate);
- $seriestitleinput=$input->textfield(-name=>'seriestitle', -default=>$seriestitle);
- $volumeinput=$input->textfield(-name=>'volume', -default=>$volume);
- $volumedateinput=$input->textfield(-name=>'volumedate', -default=>$volumedate);
- $volumeddescinput=$input->textfield(-name=>'volumeddesc', -default=>$volumeddesc);
- $numberinput=$input->textfield(-name=>'number', -default=>$number);
- $isbninput=$input->textfield(-name=>'isbn', -default=>$isbn);
- $issninput=$input->textfield(-name=>'issn', -default=>$issn);
- $lccninput=$input->textfield(-name=>'lccn', -default=>$lccn);
- $isbninput=$input->textfield(-name=>'isbn', -default=>$isbn);
- $deweyinput=$input->textfield(-name=>'dewey', -default=>$bib->{dewey});
- $cleanauthor=$bib->{author};
- $cleanauthor=~s/[^A-Za-z]//g;
- $subclassinput=$input->textfield(-name=>'subclass', -default=>uc(substr($cleanauthor,0,3)));
- $publisherinput=$input->textfield(-name=>'publishercode', -default=>$publisher);
- $pubyearinput=$input->textfield(-name=>'publicationyear', -default=>$publicationyear);
- $placeinput=$input->textfield(-name=>'place', -default=>$bib->{place});
- $pagesinput=$input->textfield(-name=>'pages', -default=>$bib->{pages});
- $sizeinput=$input->textfield(-name=>'size', -default=>$bib->{size});
- $fileinput=$input->hidden(-name=>'file', -default=>$file);
- $origisbn=$input->hidden(-name=>'origisbn', -default=>$isbn);
- $origissn=$input->hidden(-name=>'origissn', -default=>$issn);
- $origlccn=$input->hidden(-name=>'origlccn', -default=>$lccn);
- $origcontrolnumber=$input->hidden(-name=>'origcontrolnumber', -default=>$controlnumber);
-
- #print "<PRE>getting itemtypeselect</PRE>\n";
- $itemtypeselect=&getkeytableselectoptions(
- $dbh, 'itemtypes', 'itemtype', 'description', 1);
- #print "<PRE>it=$itemtypeselect</PRE>\n";
-
- ($qissn) || ($qissn='NIL');
- ($qlccn) || ($qlccn='NIL');
- ($qisbn) || ($qisbn='NIL');
- ($qcontrolnumber) || ($qcontrolnumber='NIL');
- $controlnumber=~s/\s+//g;
-
- unless (($isbn eq $qisbn) || ($issn eq $qissn) || ($lccn eq $qlccn) || ($controlnumber eq $qcontrolnumber)) {
- #print "<PRE>Skip record $isbn $issn $lccn </PRE>\n";
- next RECORD;
- }
-
- print << "EOF";
- <center>
- <h1>New Record</h1>
- Full MARC Record available at bottom
- <form method=post>
- <table border=1>
- <tr><td>Title</td><td>$titleinput</td></tr>
- <tr><td>Subtitle</td><td>$subtitleinput</td></tr>
- <tr><td>Author</td><td>$authorinput</td></tr>
- <tr><td>Additional Authors</td><td>$additionalauthorsinput</td></tr>
- <tr><td>Illustrator</td><td>$illustratorinput</td></tr>
- <tr><td>Copyright</td><td>$copyrightinput</td></tr>
- <tr><td>Series Title</td><td>$seriestitleinput</td></tr>
- <tr><td>Volume</td><td>$volumeinput</td></tr>
- <tr><td>Number</td><td>$numberinput</td></tr>
- <tr><td>Volume Date</td><td>$volumedateinput</td></tr>
- <tr><td>Volume Description</td><td>$volumeddescinput</td></tr>
- <tr><td>Subject</td><td>$subjectinput</td></tr>
- <tr><td>Notes</td><td>$noteinput</td></tr>
- <tr><td>Item Type</td><td><select name=itemtype>$itemtypeselect</select></td></tr>
- <tr><td>ISBN</td><td>$isbninput</td></tr>
- <tr><td>ISSN</td><td>$issninput</td></tr>
- <tr><td>LCCN</td><td>$lccninput</td></tr>
- <tr><td>Dewey</td><td>$deweyinput</td></tr>
- <tr><td>Subclass</td><td>$subclassinput</td></tr>
- <tr><td>Publication Year</td><td>$pubyearinput</td></tr>
- <tr><td>Publisher</td><td>$publisherinput</td></tr>
- <tr><td>Place</td><td>$placeinput</td></tr>
- <tr><td>Pages</td><td>$pagesinput</td></tr>
- <tr><td>Size</td><td>$sizeinput</td></tr>
- </table>
- <input type=submit>
- <input type=hidden name=insertnewrecord value=1>
- $fileinput
- $marcinput
- $origisbn
- $origissn
- $origlccn
- $origcontrolnumber
- </form>
- $marctext
-EOF
- } # foreach record