View | Details | Raw Unified | Return to bug 12747
Collapse All | Expand All

(-)a/C4/Breeding.pm (-7 / +20 lines)
Lines 25-30 use C4::Biblio; Link Here
25
use C4::Koha;
25
use C4::Koha;
26
use C4::Charset;
26
use C4::Charset;
27
use MARC::File::USMARC;
27
use MARC::File::USMARC;
28
use MARC::Field;
28
use C4::ImportBatch;
29
use C4::ImportBatch;
29
use C4::AuthoritiesMarc; #GuessAuthTypeCode, FindDuplicateAuthority
30
use C4::AuthoritiesMarc; #GuessAuthTypeCode, FindDuplicateAuthority
30
use C4::Languages;
31
use C4::Languages;
Lines 228-234 sub Z3950Search { Link Here
228
    }
229
    }
229
230
230
    my $pref_addnumber = C4::Context->preference('AdditionalFieldsInZ3950ResultSearch');
231
    my $pref_addnumber = C4::Context->preference('AdditionalFieldsInZ3950ResultSearch');
231
    $pref_addnumber =~ s/\s+//g;
232
    $pref_addnumber =~ s/^\s+|\s+$//g;
233
    $pref_addnumber =~ s/\h+/ /g;
232
    if ($pref_addnumber){
234
    if ($pref_addnumber){
233
        $template->param(
235
        $template->param(
234
            additionalFields => '1',
236
            additionalFields => '1',
Lines 355-379 sub _add_rowdata { Link Here
355
    $row->{isbn}=_isbn_replace($row->{isbn});
357
    $row->{isbn}=_isbn_replace($row->{isbn});
356
358
357
    my $pref_addnumber = C4::Context->preference('AdditionalFieldsInZ3950ResultSearch');
359
    my $pref_addnumber = C4::Context->preference('AdditionalFieldsInZ3950ResultSearch');
358
    $pref_addnumber =~ s/\s+//g;
360
    $pref_addnumber =~ s/^\s+|\s+$//g;
359
    my @addnumber_array = split /;/, $pref_addnumber;
361
    $pref_addnumber =~ s/\h+/ /g;
362
    my @addnumber_array = split / /, $pref_addnumber;
360
    my @addnumberfields;
363
    my @addnumberfields;
361
    foreach (@addnumber_array) {
364
    foreach (@addnumber_array) {
362
        my $length = length($_);
365
        my $length = length($_);
363
        my $adTag = substr($_, 0, 3);
366
        my $adTag = substr($_, 0, 3);
364
        my $row_field = 'field_'.$adTag;
365
        if ($record->field($adTag)) {
367
        if ($record->field($adTag)) {
366
           my $field = $record->field($adTag);
368
           my $field = $record->field($adTag);
367
           my $fieldContent='';
369
           my $fieldContent='';
368
           if ($length > 3){
370
           if ($length > 3){
369
               my $adSubfield;
371
               my $adSubfield;
370
               for (my $i=0; $i<$length-3; $i++){
372
               for (my $i=0; $i<$length-4; $i++){ # 4 because 3 digits, 1 dollar sign ($)
371
                  $adSubfield = substr($_, 3+$i, 1);
373
                  $adSubfield = substr($_, 4+$i, 1);
372
                  $fieldContent = $fieldContent.$field->subfield($adSubfield).' ';
374
                  $fieldContent = $fieldContent.$field->subfield($adSubfield).' ';
373
               }
375
               }
374
               push(@addnumberfields, $_);
376
               push(@addnumberfields, $_);
375
               $row->{$_} = $fieldContent;
377
               $row->{$_} = $fieldContent;
376
           }
378
           }
379
           else {
380
               if($adTag <= 10){
381
                   my $data = $field->data();
382
                   push(@addnumberfields, $_);
383
                   $row->{$_} = $data;
384
               }
385
               else {
386
                   my $subfields_text = $field->as_string();
387
                   push(@addnumberfields, $_);
388
                   $row->{$_} = $subfields_text;
389
               }
390
           }
377
        }
391
        }
378
    }
392
    }
379
393
380
- 

Return to bug 12747