BUG 1277 Enhance: Z39.50 More search criteria
authorDarrell Ulm <darrellulm@kohavmware>
Fri, 15 May 2009 14:27:16 +0000 (10:27 -0400)
committerHenri-Damien LAURENT <henridamien.laurent@biblibre.com>
Wed, 16 Sep 2009 21:18:50 +0000 (23:18 +0200)
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
cataloguing/z3950_search.pl

index df2fab1..c73b5f9 100755 (executable)
@@ -42,6 +42,9 @@ my $issn          = $input->param('issn');
 my $lccn          = $input->param('lccn');
 my $subject       = $input->param('subject');
 my $dewey         = $input->param('dewey');
+my $controlnumber      = $input->param('controlnumber');
+my $stdid                      = $input->param('stdid');
+my $srchany                    = $input->param('srchany');
 my $random        = $input->param('random') || rand(1000000000); # this var is not useful anymore just kept for rel2_2 compatibility
 my $op            = $input->param('op');
 my $numberpending;
@@ -86,6 +89,9 @@ if ( $op ne "do_search" ) {
         lccn         => $lccn,
         title        => $title,
         author       => $author,
+        controlnumber=> $controlnumber,
+        stdid                  => $stdid,
+        srchany                => $srchany,
         serverloop   => $serverloop,
         opsearch     => "search",
         biblionumber => $biblionumber,
@@ -129,6 +135,18 @@ else {
         $query .= " \@attr 1=9 $lccn ";
         $nterms++;
     }
+    if ($controlnumber) {
+        $query .= " \@attr 1=12 \"$controlnumber\" ";
+        $nterms++;
+    }
+    if ($stdid) {
+        $query .= " \@attr 1=1007 \"$stdid\" ";
+        $nterms++;
+    }
+    if ($srchany) {
+        $query .= " \@attr 1=1016 \"$srchany\" ";
+        $nterms++;
+    }
 for my $i (1..$nterms-1) {
     $query = "\@and " . $query;
 }