# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
use strict;
+#use warnings; FIXME - Bug 2505
use CGI;
use C4::Auth;
my $isbn = $input->param('isbn');
my $issn = $input->param('issn');
my $lccn = $input->param('lccn');
+my $lccall = $input->param('lccall');
my $subject = $input->param('subject');
my $dewey = $input->param('dewey');
my $controlnumber = $input->param('controlnumber');
$template->param( frameworkcode => $frameworkcode, );
if ( $op ne "do_search" ) {
- my $sth = $dbh->prepare("select id,host,name,checked from z3950servers order by host");
+ my $sth = $dbh->prepare("SELECT id,host,name,checked FROM z3950servers ORDER BY rank, name");
$sth->execute();
my $serverloop = $sth->fetchall_arrayref( {} );
$template->param(
isbn => $isbn,
issn => $issn,
lccn => $lccn,
+ lccall => $lccall,
title => $title,
author => $author,
controlnumber=> $controlnumber,
}
else {
my @id = $input->param('id');
+
+ if ( not defined @id ) {
+ # empty server list -> report and exit
+ $template->param( emptyserverlist => 1 );
+ output_html_with_http_headers $input, $cookie, $template->output;
+ exit;
+ }
+
my @oConnection;
my @oResult;
my @errconn;
my $s = 0;
- my $query;
+ my $query = '';
my $nterms;
if ($isbn || $issn) {
$term=$isbn if ($isbn);
$query .= " \@attr 1=9 $lccn ";
$nterms++;
}
+ if ($lccall) {
+ $query .= " \@attr 1=16 \@attr 2=3 \@attr 3=1 \@attr 4=1 \@attr 5=1 \@attr 6=1 \"$lccall\" ";
+ $nterms++;
+ }
if ($controlnumber) {
$query .= " \@attr 1=12 \"$controlnumber\" ";
$nterms++;
warn "query ".$query if $DEBUG;
foreach my $servid (@id) {
- my $sth = $dbh->prepare("select * from z3950servers where id=?");
+ my $sth = $dbh->prepare("SELECT * FROM z3950servers WHERE id=? ORDER BY rank, name");
$sth->execute($servid);
while ( $server = $sth->fetchrow_hashref ) {
warn "serverinfo ".join(':',%$server) if $DEBUG;
$option1->option('user', $server->{userid} ) if $server->{userid};
$option1->option('password', $server->{password}) if $server->{password};
$option1->option('preferredRecordSyntax', $server->{syntax});
+ $option1->option( 'timeout', $server->{timeout} ) if ($server->{timeout});
$oConnection[$s] = create ZOOM::Connection($option1)
|| $DEBUG
&& warn( "" . $oConnection[$s]->errmsg() );
$oConnection[$k]->error_x();
if ($error) {
if ($error =~ m/^(10000|10007)$/ ) {
- push(@errconn, {'server' => $serverhost[$k]});
+ push(@errconn, {'server' => $serverhost[$k], 'error' => $error});
}
$DEBUG and warn "$k $serverhost[$k] error $query: $errmsg ($error) $addinfo\n";
}
# In rel2_2 i am not sure what encoding is so no character conversion is done here
##Add necessary encoding changes to here -TG
my $oldbiblio = TransformMarcToKoha( $dbh, $marcrecord, "" );
- $oldbiblio->{isbn} =~ s/ |-|\.//g,
- $oldbiblio->{issn} =~ s/ |-|\.//g,
+ $oldbiblio->{isbn} =~ s/ |-|\.//g if $oldbiblio->{isbn};
+ # pad | and ( with spaces to allow line breaks in the HTML
+ $oldbiblio->{isbn} =~ s/\|/ \| /g if $oldbiblio->{isbn};
+ $oldbiblio->{isbn} =~ s/\(/ \(/g if $oldbiblio->{isbn};
+
+ $oldbiblio->{issn} =~ s/ |-|\.//g if $oldbiblio->{issn};
+ # pad | and ( with spaces to allow line breaks in the HTML
+ $oldbiblio->{issn} =~ s/\|/ \| /g if $oldbiblio->{issn};
+ $oldbiblio->{issn} =~ s/\(/ \(/g if $oldbiblio->{issn};
my (
$notmarcrecord, $alreadyindb, $alreadyinfarm,
$imported, $breedingid