- warn "$k $serverhost[$k] error $query: $errmsg ($error) $addinfo\n" if $DEBUG;
-
- } else {
- my $numresults=$oResult[$k]->size() ;
- my $i;
- my $result='';
- if ($numresults>0){
- for ($i=0; $i<(($numresults<20) ? ($numresults) : (20)) ; $i++) {
- my $rec=$oResult[$k]->record($i);
- my $marcrecord;
- $marcdata = $rec->raw();
- $marcrecord= FixEncoding($marcdata);
- ####WARNING records coming from Z3950 clients are in various character sets MARC8,UTF8,UNIMARC etc
- ## In HEAD i change everything to UTF-8
- # 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 = MARCmarc2koha($dbh,$marcrecord,"");
- $oldbiblio->{isbn} =~ s/ |-|\.//g,
- $oldbiblio->{issn} =~ s/ |-|\.//g,
- my ($notmarcrecord,$alreadyindb,$alreadyinfarm,$imported,$breedingid)=ImportBreeding($marcdata,1,$serverhost[$k],$encoding[$k],$random);
- my %row_data;
- if ($i % 2) {
- $toggle="#ffffcc";
- } else {
- $toggle="white";
- }
- $row_data{toggle} = $toggle;
- $row_data{server} = $serverhost[$k];
- $row_data{isbn} = $oldbiblio->{isbn};
- $row_data{title} =$oldbiblio->{title};
- $row_data{author} = $oldbiblio->{author};
- $row_data{breedingid} = $breedingid;
- $row_data{biblionumber}=$biblionumber;
- push (@breeding_loop, \%row_data);
- }# upto 5 results
- }#$numresults
+ if ($error =~ m/^(10000|10007)$/ ) {
+ push(@errconn, {'server' => $serverhost[$k], 'error' => $error});
+ }
+ $DEBUG and warn "$k $serverhost[$k] error $query: $errmsg ($error) $addinfo\n";
+ }
+ else {
+ my $numresults = $oResult[$k]->size();
+ my $i;
+ my $result = '';
+ if ( $numresults > 0 ) {
+ for ($i = 0; $i < (($numresults < 20) ? $numresults : 20); $i++) {
+ my $rec = $oResult[$k]->record($i);
+ if ($rec) {
+ my $marcrecord;
+ $marcdata = $rec->raw();
+
+ my ($charset_result, $charset_errors);
+ ($marcrecord, $charset_result, $charset_errors) =
+ MarcToUTF8Record($marcdata, C4::Context->preference('marcflavour'), $encoding[$k]);
+####WARNING records coming from Z3950 clients are in various character sets MARC8,UTF8,UNIMARC etc
+## In HEAD i change everything to UTF-8
+# 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 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
+ )
+ = ImportBreeding( $marcdata, 2, $serverhost[$k], $encoding[$k], $random, 'z3950' );
+ my %row_data;
+ $row_data{server} = $servername[$k];
+ $row_data{isbn} = $oldbiblio->{isbn};
+ $row_data{lccn} = $oldbiblio->{lccn};
+ $row_data{title} = $oldbiblio->{title};
+ $row_data{author} = $oldbiblio->{author};
+ $row_data{date} = $oldbiblio->{copyrightdate};
+ $row_data{edition} = $oldbiblio->{editionstatement};
+ $row_data{breedingid} = $breedingid;
+ $row_data{biblionumber} = $biblionumber;
+ push( @breeding_loop, \%row_data );
+
+ } else {
+ push(@breeding_loop,{'server'=>$servername[$k],'title'=>join(': ',$oConnection[$k]->error_x()),'breedingid'=>-1,'biblionumber'=>-1});
+ } # $rec
+ }
+ } #$numresults