From f2c930257eabed5da6e3d298daf2a88388815232 Mon Sep 17 00:00:00 2001 From: Darrell Ulm Date: Fri, 15 May 2009 10:27:16 -0400 Subject: [PATCH] BUG 1277 Enhance: Z39.50 More search criteria Signed-off-by: Galen Charlton --- cataloguing/z3950_search.pl | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/cataloguing/z3950_search.pl b/cataloguing/z3950_search.pl index df2fab199c..c73b5f9e7e 100755 --- a/cataloguing/z3950_search.pl +++ b/cataloguing/z3950_search.pl @@ -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; } -- 2.39.5