Merge remote branch 'kc/new/bug_5301' into kcmaster
This commit is contained in:
commit
ae6ae0b39d
20
C4/Koha.pm
20
C4/Koha.pm
|
|
@ -62,6 +62,7 @@ BEGIN {
|
|||
&GetNormalizedISBN
|
||||
&GetNormalizedEAN
|
||||
&GetNormalizedOCLCNumber
|
||||
&xml_escape
|
||||
|
||||
$DEBUG
|
||||
);
|
||||
|
|
@ -1194,6 +1195,25 @@ sub GetKohaAuthorisedValuesFromField {
|
|||
}
|
||||
}
|
||||
|
||||
=head2 xml_escape
|
||||
|
||||
my $escaped_string = C4::Koha::xml_escape($string);
|
||||
|
||||
Convert &, <, >, ', and " in a string to XML entities
|
||||
|
||||
=cut
|
||||
|
||||
sub xml_escape {
|
||||
my $str = shift;
|
||||
return '' unless defined $str;
|
||||
$str =~ s/&/&/g;
|
||||
$str =~ s/</</g;
|
||||
$str =~ s/>/>/g;
|
||||
$str =~ s/'/'/g;
|
||||
$str =~ s/"/"/g;
|
||||
return $str;
|
||||
}
|
||||
|
||||
=head2 display_marc_indicators
|
||||
|
||||
my $display_form = C4::Koha::display_marc_indicators($field);
|
||||
|
|
|
|||
|
|
@ -210,9 +210,8 @@ sub buildKohaItemsNamespace {
|
|||
} else {
|
||||
$status = "available";
|
||||
}
|
||||
my $homebranch = $branches->{$item->{homebranch}}->{'branchname'};
|
||||
my $itemcallnumber = $item->{itemcallnumber} || '';
|
||||
$itemcallnumber =~ s/\&/\&\;/g;
|
||||
my $homebranch = xml_escape($branches->{$item->{homebranch}}->{'branchname'});
|
||||
my $itemcallnumber = xml_escape($item->{itemcallnumber});
|
||||
$xml.= "<item><homebranch>$homebranch</homebranch>".
|
||||
"<status>$status</status>".
|
||||
"<itemcallnumber>".$itemcallnumber."</itemcallnumber>"
|
||||
|
|
|
|||
8
t/Koha.t
8
t/Koha.t
|
|
@ -2,7 +2,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Test::More tests => 2;
|
||||
use Test::More tests => 5;
|
||||
|
||||
use_ok('C4::Koha');
|
||||
|
||||
|
|
@ -13,3 +13,9 @@ my $date = "01/01/2002";
|
|||
my $newdate = &slashifyDate("2002-01-01");
|
||||
|
||||
ok($date eq $newdate, 'slashifyDate');
|
||||
|
||||
my $undef = undef;
|
||||
is(xml_escape($undef), '', 'xml_escape() returns empty string on undef input');
|
||||
my $str = q{'"&<>'};
|
||||
is(xml_escape($str), ''"&<>'', 'xml_escape() works as expected');
|
||||
is($str, q{'"&<>'}, '... and does not change input in place');
|
||||
|
|
|
|||
Loading…
Reference in New Issue