X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=acqui%2Fz3950_search.pl;h=182e12158e68ed42883b5255f2d21f81d49bbb7d;hb=78a1f5827548d1abd20514945b4fee447dc7e28c;hp=c5d598baa5398c0a5df1201a9468d72007ab9149;hpb=5d2168303df4041fe5b05be677c6dff0f8e05483;p=koha.git diff --git a/acqui/z3950_search.pl b/acqui/z3950_search.pl index c5d598baa5..182e12158e 100755 --- a/acqui/z3950_search.pl +++ b/acqui/z3950_search.pl @@ -2,6 +2,7 @@ # This is a completely new Z3950 clients search using async ZOOM -TG 02/11/06 # Copyright 2000-2002 Katipo Communications +# Copyright 2010 Catalyst IT # # This file is part of Koha. # @@ -14,9 +15,9 @@ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use warnings; use strict; @@ -48,12 +49,12 @@ my $error = $input->param('error'); my $biblionumber = $input->param('biblionumber'); $biblionumber = 0 unless $biblionumber; my $frameworkcode = $input->param('frameworkcode'); -warn($frameworkcode); my $title = $input->param('title'); my $author = $input->param('author'); 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 $op = $input->param('op'); @@ -94,8 +95,8 @@ foreach my $thisframeworkcode ( keys %$frameworks ) { value => $thisframeworkcode, frameworktext => $frameworks->{$thisframeworkcode}->{'frameworktext'}, ); - if ( %row->{'value'} eq $frameworkcode){ - %row->{'active'} = 'true'; + if ( $row{'value'} eq $frameworkcode){ + $row{'active'} = 'true'; } push @frameworkcodeloop, \%row; } @@ -114,6 +115,7 @@ if ( $op ne "do_search" ) { isbn => $isbn, issn => $issn, lccn => $lccn, + lccall => $lccall, title => $title, author => $author, serverloop => $serverloop, @@ -158,6 +160,10 @@ else { $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++; + } for my $i (1..$nterms-1) { $query = "\@and " . $query; } @@ -247,8 +253,15 @@ sub displayresults { # 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 @@ -284,14 +297,13 @@ sub displayresults { server => $servername[$k], numberpending => $numberpending, ); - output_html_with_http_headers $input, $cookie, $template->output if $numberpending == 0; # print $template->output if $firstresult !=1; $firstresult++; } displayresults(); -if ( --$nremaining > 0 ) { +while ( --$nremaining > 0 ) { displayresults(); } } ## if op=search