|
Lines 429-435
sub nsb_clean {
Link Here
|
| 429 |
SanitizeRecord($marcrecord); |
429 |
SanitizeRecord($marcrecord); |
| 430 |
|
430 |
|
| 431 |
Sanitize a record |
431 |
Sanitize a record |
| 432 |
This routine is called in the maintenance script misc/maintenance/batch_sanitize_records.pl. |
432 |
This routine is called in the maintenance script misc/maintenance/sanitize_records.pl. |
| 433 |
It cleans any string with '&...', replacing it by '&' |
433 |
It cleans any string with '&...', replacing it by '&' |
| 434 |
|
434 |
|
| 435 |
=cut |
435 |
=cut |
|
Lines 444-450
sub SanitizeRecord {
Link Here
|
| 444 |
foreach my $field ( $record->fields() ) { |
444 |
foreach my $field ( $record->fields() ) { |
| 445 |
if ( $field->is_control_field() ) { |
445 |
if ( $field->is_control_field() ) { |
| 446 |
my $value = $field->data(); |
446 |
my $value = $field->data(); |
| 447 |
my $sanitized_value = _entity_clean($value); |
447 |
my $sanitized_value = _clean_ampersand($value); |
| 448 |
$record_modified = 1 if $sanitized_value ne $value; |
448 |
$record_modified = 1 if $sanitized_value ne $value; |
| 449 |
$field->update($sanitized_value); |
449 |
$field->update($sanitized_value); |
| 450 |
} |
450 |
} |
|
Lines 456-462
sub SanitizeRecord {
Link Here
|
| 456 |
if $url_field eq $field->tag() |
456 |
if $url_field eq $field->tag() |
| 457 |
and $url_subfield eq $subfield->[0]; |
457 |
and $url_subfield eq $subfield->[0]; |
| 458 |
my $value = $subfield->[1]; |
458 |
my $value = $subfield->[1]; |
| 459 |
my $sanitized_value = _entity_clean($value); |
459 |
my $sanitized_value = _clean_ampersand($value); |
| 460 |
push @new_subfields, $subfield->[0] => $sanitized_value; |
460 |
push @new_subfields, $subfield->[0] => $sanitized_value; |
| 461 |
$record_modified = 1 if $sanitized_value ne $value; |
461 |
$record_modified = 1 if $sanitized_value ne $value; |
| 462 |
} |
462 |
} |
|
Lines 481-487
sub SanitizeRecord {
Link Here
|
| 481 |
return $record, $record_modified; |
481 |
return $record, $record_modified; |
| 482 |
} |
482 |
} |
| 483 |
|
483 |
|
| 484 |
sub _entity_clean { |
484 |
sub _clean_ampersand { |
| 485 |
my ($string) = @_; |
485 |
my ($string) = @_; |
| 486 |
$string =~ s/(&)(amp;)+/$1/g; |
486 |
$string =~ s/(&)(amp;)+/$1/g; |
| 487 |
return $string; |
487 |
return $string; |