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

(-)a/C4/Biblio.pm (-8 / +18 lines)
Lines 3712-3722 sub BatchModField { Link Here
3712
        return 1;
3712
        return 1;
3713
    } else {
3713
    } else {
3714
        my $done=0;
3714
        my $done=0;
3715
        if ($field eq '000') {
3716
            my $value=$record->leader();
3717
            if ($value=~ s/$condition/$repval/){
3718
                $record->leader($repval);
3719
                $done=1;
3720
           }
3721
           if ( $nocond eq 'true'){
3722
            $record->leader($repval);
3723
            $done=1;
3724
           }
3725
        }
3715
        for my $rfield ($record->field($field)) {
3726
        for my $rfield ($record->field($field)) {
3716
            if ($subfield && $subfield ne "@"){
3727
            if ($subfield && $subfield ne "@"){
3717
                my @subfields = $rfield->subfields();
3728
                my @subfields = $rfield->subfields();
3718
                my @subfields_to_add;
3729
                my @subfields_to_add;
3719
            foreach my $subf (@subfields) {
3730
                foreach my $subf (@subfields) {
3720
                    if ($subf->[0] eq $subfield){
3731
                    if ($subf->[0] eq $subfield){
3721
                        $subf->[1]=NormalizeString($subf->[1]);
3732
                        $subf->[1]=NormalizeString($subf->[1]);
3722
                        if ( $action eq "mod" ) {
3733
                        if ( $action eq "mod" ) {
Lines 3726-3733 sub BatchModField { Link Here
3726
                            if ($nocond eq "true"){
3737
                            if ($nocond eq "true"){
3727
                                $subf->[1] = $repval;
3738
                                $subf->[1] = $repval;
3728
                                $done=1;
3739
                                $done=1;
3729
                    }
3740
                            }
3730
                } elsif ( $action eq "del" ) {
3741
                        } elsif ( $action eq "del" ) {
3731
                            if ( $subf->[1] =~ m/$condition/ || $nocond eq "true" ) {
3742
                            if ( $subf->[1] =~ m/$condition/ || $nocond eq "true" ) {
3732
                                $done=1;
3743
                                $done=1;
3733
                                next;
3744
                                next;
Lines 3735-3745 sub BatchModField { Link Here
3735
                        }
3746
                        }
3736
                    }
3747
                    }
3737
                    push @subfields_to_add,@$subf;
3748
                    push @subfields_to_add,@$subf;
3738
        }
3749
                }
3739
                if ($done){
3750
                if ($done){
3740
                    if (@subfields_to_add){
3751
                    if (@subfields_to_add){
3741
                        $rfield->replace_with(MARC::Field->new($rfield->tag,$rfield->indicator(1),$rfield->indicator(2),@subfields_to_add));
3752
                        $rfield->replace_with(MARC::Field->new($rfield->tag,$rfield->indicator(1),$rfield->indicator(2),@subfields_to_add));
3742
    }
3753
                    }
3743
                    else {
3754
                    else {
3744
                        my $count= $record->delete_field($rfield);
3755
                        my $count= $record->delete_field($rfield);
3745
                    }
3756
                    }
Lines 3754-3761 sub BatchModField { Link Here
3754
                    if ($field < 10){
3765
                    if ($field < 10){
3755
                       my $value=$record->field($field)->data();
3766
                       my $value=$record->field($field)->data();
3756
                       if ($value=~ s/$condition/$repval/){
3767
                       if ($value=~ s/$condition/$repval/){
3757
                        $record->field($field)->update($value);
3768
                            $record->field($field)->update($value);
3758
                        $done=1;
3769
                            $done=1;
3759
3770
3760
                       }
3771
                       }
3761
                       if ( $nocond eq 'true'){
3772
                       if ( $nocond eq 'true'){
3762
- 

Return to bug 5725