Lines 363-375
sub batch_update {
Link Here
|
363 |
return ( { modified_itemnumbers => \@modified_itemnumbers, modified_fields => $modified_fields }, $self ); |
363 |
return ( { modified_itemnumbers => \@modified_itemnumbers, modified_fields => $modified_fields }, $self ); |
364 |
} |
364 |
} |
365 |
|
365 |
|
366 |
sub apply_regex { # FIXME Should be moved outside of Koha::Items |
366 |
sub apply_regex { |
|
|
367 |
# FIXME Should be moved outside of Koha::Items |
368 |
# FIXME This is nearly identical to Koha::SimpleMARC::_modify_values |
367 |
my ($params) = @_; |
369 |
my ($params) = @_; |
368 |
my $search = $params->{search}; |
370 |
my $search = $params->{search}; |
369 |
my $replace = $params->{replace}; |
371 |
my $replace = $params->{replace}; |
370 |
my $modifiers = $params->{modifiers} || q{}; |
372 |
my $modifiers = $params->{modifiers} || q{}; |
371 |
my $value = $params->{value}; |
373 |
my $value = $params->{value}; |
372 |
|
374 |
|
|
|
375 |
$replace =~ s/"/\\"/g; # Protection from embedded code |
376 |
$replace = '"' . $replace . '"'; # Put in a string for /ee |
373 |
my @available_modifiers = qw( i g ); |
377 |
my @available_modifiers = qw( i g ); |
374 |
my $retained_modifiers = q||; |
378 |
my $retained_modifiers = q||; |
375 |
for my $modifier ( split //, $modifiers ) { |
379 |
for my $modifier ( split //, $modifiers ) { |
Lines 377-392
sub apply_regex { # FIXME Should be moved outside of Koha::Items
Link Here
|
377 |
if grep { /$modifier/ } @available_modifiers; |
381 |
if grep { /$modifier/ } @available_modifiers; |
378 |
} |
382 |
} |
379 |
if ( $retained_modifiers =~ m/^(ig|gi)$/ ) { |
383 |
if ( $retained_modifiers =~ m/^(ig|gi)$/ ) { |
380 |
$value =~ s/$search/$replace/ig; |
384 |
$value =~ s/$search/$replace/igee; |
381 |
} |
385 |
} |
382 |
elsif ( $retained_modifiers eq 'i' ) { |
386 |
elsif ( $retained_modifiers eq 'i' ) { |
383 |
$value =~ s/$search/$replace/i; |
387 |
$value =~ s/$search/$replace/iee; |
384 |
} |
388 |
} |
385 |
elsif ( $retained_modifiers eq 'g' ) { |
389 |
elsif ( $retained_modifiers eq 'g' ) { |
386 |
$value =~ s/$search/$replace/g; |
390 |
$value =~ s/$search/$replace/gee; |
387 |
} |
391 |
} |
388 |
else { |
392 |
else { |
389 |
$value =~ s/$search/$replace/; |
393 |
$value =~ s/$search/$replace/ee; |
390 |
} |
394 |
} |
391 |
|
395 |
|
392 |
return $value; |
396 |
return $value; |
393 |
- |
|
|