[Koha-patches] [PATCH] problem saving authority with ? and other special characters [resend]
Henri-Damien LAURENT
henridamien.laurent at biblibre.com
Wed Nov 19 15:38:37 CET 2008
Filtering those signs in order not to have them interpreted.
Removing some warns
---
C4/AuthoritiesMarc.pm | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/C4/AuthoritiesMarc.pm b/C4/AuthoritiesMarc.pm
index 6080c39..7751a10 100644
--- a/C4/AuthoritiesMarc.pm
+++ b/C4/AuthoritiesMarc.pm
@@ -796,7 +796,8 @@ sub FindDuplicateAuthority {
# warn "record :".$record->as_formatted." auth_tag_to_report :$auth_tag_to_report";
# build a request for SearchAuthorities
my $query='at='.$authtypecode.' ';
- map {$query.= " and he=\"".$_->[1]."\"" if ($_->[0]=~/[A-z]/)} $record->field($auth_tag_to_report)->subfields() if $record->field($auth_tag_to_report);
+ my $filtervalues=qr([\001-\040\!\'\"\`\#\$\%\&\*\+,\-\./:;<=>\?\@\(\)\{\[\]\}_\|\~]);
+ map {$_->[1]=~s/$filtervalues/ /g; $query.= " and he,wrdl=\"".$_->[1]."\"" if ($_->[0]=~/[A-z]/)} $record->field($auth_tag_to_report)->subfields() if $record->field($auth_tag_to_report);
my ($error, $results, $total_hits)=SimpleSearch( $query, 0, 1, [ "authorityserver" ] );
# there is at least 1 result => return the 1st one
if (@$results>0) {
@@ -1152,7 +1153,7 @@ sub merge {
my $dbh=C4::Context->dbh;
my $authtypecodefrom = GetAuthTypeCode($mergefrom);
my $authtypecodeto = GetAuthTypeCode($mergeto);
- warn "mergefrom : $authtypecodefrom $mergefrom mergeto : $authtypecodeto $mergeto ";
+# warn "mergefrom : $authtypecodefrom $mergefrom mergeto : $authtypecodeto $mergeto ";
# return if authority does not exist
my @X = $MARCfrom->fields();
return "error MARCFROM not a marcrecord ".Data::Dumper::Dumper($MARCfrom) if $#X == -1;
@@ -1226,7 +1227,7 @@ sub merge {
my $update;
$marcrecord= MARC::Record->new_from_xml($marcrecord,"utf8",C4::Context->preference("marcflavour")) unless(C4::Context->preference('NoZebra'));
foreach my $tagfield (@tags_using_authtype){
- warn "tagfield : $tagfield ";
+# warn "tagfield : $tagfield ";
foreach my $field ($marcrecord->field($tagfield)){
my $auth_number=$field->subfield("9");
my $tag=$field->tag();
--
1.6.0.2
More information about the Koha-patches
mailing list