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

(-)a/C4/Biblio.pm (-7 / +6 lines)
Lines 1079-1091 sub GetUsedMarcStructure { Link Here
1079
=cut
1079
=cut
1080
1080
1081
sub GetMarcSubfieldStructure {
1081
sub GetMarcSubfieldStructure {
1082
    my ( $frameworkcode ) = @_;
1082
    my ( $frameworkcode, $params ) = @_;
1083
1083
1084
    $frameworkcode //= '';
1084
    $frameworkcode //= '';
1085
1085
1086
    my $cache     = Koha::Caches->get_instance();
1086
    my $cache     = Koha::Caches->get_instance();
1087
    my $cache_key = "MarcSubfieldStructure-$frameworkcode";
1087
    my $cache_key = "MarcSubfieldStructure-$frameworkcode";
1088
    my $cached    = $cache->get_from_cache($cache_key);
1088
    my $cached  = $cache->get_from_cache($cache_key, { unsafe => ($params && $params->{unsafe}) });
1089
    return $cached if $cached;
1089
    return $cached if $cached;
1090
1090
1091
    my $dbh = C4::Context->dbh;
1091
    my $dbh = C4::Context->dbh;
Lines 1129-1135 sub GetMarcFromKohaField { Link Here
1129
    return unless $kohafield;
1129
    return unless $kohafield;
1130
    # The next call uses the Default framework since it is AUTHORITATIVE
1130
    # The next call uses the Default framework since it is AUTHORITATIVE
1131
    # for all Koha to MARC mappings.
1131
    # for all Koha to MARC mappings.
1132
    my $mss = GetMarcSubfieldStructure( '' ); # Do not change framework
1132
    my $mss = GetMarcSubfieldStructure( '', { unsafe => 1 } ); # Do not change framework
1133
    my @retval;
1133
    my @retval;
1134
    foreach( @{ $mss->{$kohafield} } ) {
1134
    foreach( @{ $mss->{$kohafield} } ) {
1135
        push @retval, $_->{tagfield}, $_->{tagsubfield};
1135
        push @retval, $_->{tagfield}, $_->{tagsubfield};
Lines 1156-1162 sub GetMarcSubfieldStructureFromKohaField { Link Here
1156
1156
1157
    # The next call uses the Default framework since it is AUTHORITATIVE
1157
    # The next call uses the Default framework since it is AUTHORITATIVE
1158
    # for all Koha to MARC mappings.
1158
    # for all Koha to MARC mappings.
1159
    my $mss = GetMarcSubfieldStructure(''); # Do not change framework
1159
    my $mss = GetMarcSubfieldStructure( '', { unsafe => 1 } ); # Do not change framework
1160
    return unless $mss->{$kohafield};
1160
    return unless $mss->{$kohafield};
1161
    return wantarray ? @{$mss->{$kohafield}} : $mss->{$kohafield}->[0];
1161
    return wantarray ? @{$mss->{$kohafield}} : $mss->{$kohafield}->[0];
1162
}
1162
}
Lines 2188-2194 sub TransformKohaToMarc { Link Here
2188
2188
2189
    # In the next call we use the Default framework, since it is considered
2189
    # In the next call we use the Default framework, since it is considered
2190
    # authoritative for Koha to Marc mappings.
2190
    # authoritative for Koha to Marc mappings.
2191
    my $mss = GetMarcSubfieldStructure( '' ); # do not change framework
2191
    my $mss = GetMarcSubfieldStructure( '', { unsafe => 1 } ); # do not change framewok
2192
    my $tag_hr = {};
2192
    my $tag_hr = {};
2193
    while ( my ($kohafield, $value) = each %$hash ) {
2193
    while ( my ($kohafield, $value) = each %$hash ) {
2194
        foreach my $fld ( @{ $mss->{$kohafield} } ) {
2194
        foreach my $fld ( @{ $mss->{$kohafield} } ) {
Lines 2601-2607 sub TransformMarcToKoha { Link Here
2601
2601
2602
    # The next call acknowledges Default as the authoritative framework
2602
    # The next call acknowledges Default as the authoritative framework
2603
    # for Koha to MARC mappings.
2603
    # for Koha to MARC mappings.
2604
    my $mss = GetMarcSubfieldStructure(''); # Do not change framework
2604
    my $mss = GetMarcSubfieldStructure( '', { unsafe => 1 } ); # Do not change framework
2605
    foreach my $kohafield ( keys %{ $mss } ) {
2605
    foreach my $kohafield ( keys %{ $mss } ) {
2606
        my ( $table, $column ) = split /[.]/, $kohafield, 2;
2606
        my ( $table, $column ) = split /[.]/, $kohafield, 2;
2607
        next unless $tables{$table};
2607
        next unless $tables{$table};
2608
- 

Return to bug 19820