From: Matthias Meusburger Date: Fri, 5 Mar 2010 16:25:37 +0000 (+0100) Subject: MT 2116, Follow-up : Fix subfield separator X-Git-Tag: v3.00.06~39 X-Git-Url: http://git.rot13.org/?a=commitdiff_plain;h=29e5fa7ca2cd3531ebc319f480a3ae2a983bed2c;hp=3cfbcb63ce765c061db321cc7870f0c2e9c47def;p=koha.git MT 2116, Follow-up : Fix subfield separator --- diff --git a/C4/Record.pm b/C4/Record.pm index b274fd7e5e..25df9ad65f 100644 --- a/C4/Record.pm +++ b/C4/Record.pm @@ -517,8 +517,19 @@ sub marcrecord2csv { foreach (@fields) { my $value; - # Getting authorised value - $value = defined $authvalues->{$_->as_string} ? $authvalues->{$_->as_string} : $_->as_string; + # If it is a control field + if ($_->is_control_field) { + $value = defined $authvalues->{$_->as_string} ? $authvalues->{$_->as_string} : $_->as_string; + } else { + + # If it is a field, we gather all subfields, joined by the subfield separator + my @subvaluesarray; + my @subfields = $_->subfields; + foreach my $subfield (@subfields) { + push (@subvaluesarray, defined $authvalues->{$subfield->[1]} ? $authvalues->{$subfield->[1]} : $subfield->[1]); + } + $value = join ($subfieldseparator, @subvaluesarray); + } # Field processing eval $fieldprocessing if ($fieldprocessing);