|
Lines 2561-2578
sub TransformHtmlToMarc {
Link Here
|
| 2561 |
if ( $tag < 10 ) { # no code for theses fields |
2561 |
if ( $tag < 10 ) { # no code for theses fields |
| 2562 |
# in MARC editor, 000 contains the leader. |
2562 |
# in MARC editor, 000 contains the leader. |
| 2563 |
next if $tag == $biblionumbertagfield; |
2563 |
next if $tag == $biblionumbertagfield; |
|
|
2564 |
my $fval= $cgi->param($params[$j+1]); |
| 2564 |
if ( $tag eq '000' ) { |
2565 |
if ( $tag eq '000' ) { |
| 2565 |
# Force a fake leader even if not provided to avoid crashing |
2566 |
# Force a fake leader even if not provided to avoid crashing |
| 2566 |
# during decoding MARC record containing UTF-8 characters |
2567 |
# during decoding MARC record containing UTF-8 characters |
| 2567 |
$record->leader( |
2568 |
$record->leader( |
| 2568 |
length( $cgi->param($params[$j+1]) ) == 24 |
2569 |
length( $fval ) == 24 |
| 2569 |
? $cgi->param( $params[ $j + 1 ] ) |
2570 |
? $fval |
| 2570 |
: ' nam a22 4500' |
2571 |
: ' nam a22 4500' |
| 2571 |
) |
2572 |
) |
| 2572 |
; |
2573 |
; |
| 2573 |
# between 001 and 009 (included) |
2574 |
# between 001 and 009 (included) |
| 2574 |
} elsif ( $cgi->param( $params[ $j + 1 ] ) ne '' ) { |
2575 |
} elsif ( $fval ne '' ) { |
| 2575 |
$newfield = MARC::Field->new( $tag, $cgi->param( $params[ $j + 1 ] ), ); |
2576 |
$newfield = MARC::Field->new( $tag, $fval, ); |
| 2576 |
} |
2577 |
} |
| 2577 |
|
2578 |
|
| 2578 |
# > 009, deal with subfields |
2579 |
# > 009, deal with subfields |
|
Lines 2586-2598
sub TransformHtmlToMarc {
Link Here
|
| 2586 |
#if next param ne subfield, then it was probably empty |
2587 |
#if next param ne subfield, then it was probably empty |
| 2587 |
#try next param by incrementing j |
2588 |
#try next param by incrementing j |
| 2588 |
if($params[$j+1]!~/_subfield_/) {$j++; next; } |
2589 |
if($params[$j+1]!~/_subfield_/) {$j++; next; } |
|
|
2590 |
my $fkey= $cgi->param($params[$j]); |
| 2589 |
my $fval= $cgi->param($params[$j+1]); |
2591 |
my $fval= $cgi->param($params[$j+1]); |
| 2590 |
#check if subfield value not empty and field exists |
2592 |
#check if subfield value not empty and field exists |
| 2591 |
if($fval ne '' && $newfield) { |
2593 |
if($fval ne '' && $newfield) { |
| 2592 |
$newfield->add_subfields( $cgi->param($params[$j]) => $fval); |
2594 |
$newfield->add_subfields( $fkey => $fval); |
| 2593 |
} |
2595 |
} |
| 2594 |
elsif($fval ne '') { |
2596 |
elsif($fval ne '') { |
| 2595 |
$newfield = MARC::Field->new( $tag, $ind1, $ind2, $cgi->param($params[$j]) => $fval ); |
2597 |
$newfield = MARC::Field->new( $tag, $ind1, $ind2, $fkey => $fval ); |
| 2596 |
} |
2598 |
} |
| 2597 |
$j += 2; |
2599 |
$j += 2; |
| 2598 |
} #end-of-while |
2600 |
} #end-of-while |
| 2599 |
- |
|
|