Lines 324-331
sub SetMarcUnicodeFlag {
Link Here
|
324 |
substr($leader, 9, 1) = 'a'; |
324 |
substr($leader, 9, 1) = 'a'; |
325 |
$marc_record->leader($leader); |
325 |
$marc_record->leader($leader); |
326 |
} elsif ($marc_flavour =~/UNIMARC/) { |
326 |
} elsif ($marc_flavour =~/UNIMARC/) { |
|
|
327 |
my $defaultlanguage = C4::Context->preference("UNIMARCField100Language"); |
328 |
$defaultlanguage = "fre" if (!$defaultlanguage || length($defaultlanguage) != 3); |
327 |
my $string; |
329 |
my $string; |
328 |
my ($subflength,$encodingposition)=($marc_flavour=~/AUTH/?(21,9):(36,22)); |
330 |
my ($subflength,$encodingposition)=($marc_flavour=~/AUTH/?(21,12):(36,25)); |
329 |
$string=$marc_record->subfield( 100, "a" ); |
331 |
$string=$marc_record->subfield( 100, "a" ); |
330 |
if (defined $string && length($string)==$subflength) { |
332 |
if (defined $string && length($string)==$subflength) { |
331 |
$string = substr $string, 0,$subflength if (length($string)>$subflength); |
333 |
$string = substr $string, 0,$subflength if (length($string)>$subflength); |
Lines 333-341
sub SetMarcUnicodeFlag {
Link Here
|
333 |
else { |
335 |
else { |
334 |
$string = POSIX::strftime( "%Y%m%d", localtime ); |
336 |
$string = POSIX::strftime( "%Y%m%d", localtime ); |
335 |
$string =~ s/\-//g; |
337 |
$string =~ s/\-//g; |
336 |
$string = sprintf( "%-*s", $subflength, $string ); |
338 |
$string = sprintf( "%-*s", $subflength, $string ); |
|
|
339 |
substr ( $string, ($encodingposition - 3), 3, $defaultlanguage); |
337 |
} |
340 |
} |
338 |
substr( $string, $encodingposition, 8, "frey50 " ); |
341 |
substr( $string, $encodingposition, 3, "y50" ); |
339 |
if ( $marc_record->subfield( 100, "a" ) ) { |
342 |
if ( $marc_record->subfield( 100, "a" ) ) { |
340 |
$marc_record->field('100')->update(a=>$string); |
343 |
$marc_record->field('100')->update(a=>$string); |
341 |
} |
344 |
} |
Lines 343-349
sub SetMarcUnicodeFlag {
Link Here
|
343 |
$marc_record->insert_grouped_field( |
346 |
$marc_record->insert_grouped_field( |
344 |
MARC::Field->new( 100, '', '', "a" => $string ) ); |
347 |
MARC::Field->new( 100, '', '', "a" => $string ) ); |
345 |
} |
348 |
} |
346 |
$debug && warn "encodage: ", substr( $marc_record->subfield(100, 'a'), $encodingposition, 8 ); |
349 |
$debug && warn "encodage: ", substr( $marc_record->subfield(100, 'a'), $encodingposition, 3 ); |
347 |
} else { |
350 |
} else { |
348 |
warn "Unrecognized marcflavour: $marc_flavour"; |
351 |
warn "Unrecognized marcflavour: $marc_flavour"; |
349 |
} |
352 |
} |
350 |
- |
|
|