Revert "Bug 21986: Do not escape quotation marks when cataloguing" v17.11.16
authorFridolin Somers <fridolin.somers@biblibre.com>
Wed, 27 Feb 2019 08:43:28 +0000 (09:43 +0100)
committerFridolin Somers <fridolin.somers@biblibre.com>
Wed, 27 Feb 2019 08:44:51 +0000 (09:44 +0100)
This reverts commit 7e21b1fd2d9e72d3b5f94bd111f0f8f2d8d7e104.

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>

authorities/authorities.pl
cataloguing/addbiblio.pl
cataloguing/additem.pl
members/memberentry.pl
opac/opac-review.pl
tools/batchMod.pl

index 18fa5db..7ffb010 100755 (executable)
@@ -136,6 +136,8 @@ sub create_input {
     
     my $index_subfield = CreateKey(); # create a specifique key for each subfield
 
+    $value =~ s/"/&quot;/g;
+
     # determine maximum length; 9999 bytes per ISO 2709 except for leader and MARC21 008
     my $max_length = 9999;
     if ($tag eq '000') {
index 91f6588..6606ac2 100755 (executable)
@@ -281,6 +281,8 @@ sub create_input {
     
     my $index_subfield = CreateKey(); # create a specifique key for each subfield
 
+    $value =~ s/"/&quot;/g;
+
     # if there is no value provided but a default value in parameters, get it
     if ( $value eq '' ) {
         $value = $tagslib->{$tag}->{$subfield}->{defaultvalue};
index 2ee414d..4a043f9 100755 (executable)
@@ -128,6 +128,7 @@ sub generate_subfield_form {
         $subfield_data{repeatable} = $subfieldlib->{repeatable};
         $subfield_data{maxlength}  = $subfieldlib->{maxlength};
         
+        $value =~ s/"/&quot;/g;
         if ( ! defined( $value ) || $value eq '')  {
             $value = $subfieldlib->{defaultvalue};
             # get today date & replace <<YYYY>>, <<MM>>, <<DD>> if provided in the default value
index 77501b5..0798e1f 100755 (executable)
@@ -180,6 +180,7 @@ if ( $op eq 'insert' || $op eq 'modify' || $op eq 'save' || $op eq 'duplicate' )
     foreach my $key (@names) {
         if (defined $input->param($key)) {
             $newdata{$key} = $input->param($key);
+            $newdata{$key} =~ s/\"/&quot;/g unless $key eq 'borrowernotes' or $key eq 'opacnote';
         }
     }
 
index 86a9848..b4a26be 100755 (executable)
@@ -71,6 +71,9 @@ if( !@errors && defined $review ) {
                        if ($clean ne $review) {
                                push @errors, {scrubbed=>$clean};
                        }
+                       my $js_ok_review = $clean;
+                       $js_ok_review =~ s/"/&quot;/g;  # probably redundant w/ TMPL ESCAPE=JS
+                       $template->param(clean_review=>$js_ok_review);
             if ($savedreview) {
                 $savedreview->set(
                     {
index 13868fe..8c3b9c8 100755 (executable)
@@ -347,7 +347,8 @@ foreach my $tag (sort keys %{$tagslib}) {
        $subfield_data{mandatory}  = $tagslib->{$tag}->{$subfield}->{mandatory};
        $subfield_data{repeatable} = $tagslib->{$tag}->{$subfield}->{repeatable};
        my ($x,$value);
-   if ( $use_default_values) {
+       $value =~ s/"/&quot;/g;
+   if ( !$value && $use_default_values) {
            $value = $tagslib->{$tag}->{$subfield}->{defaultvalue};
            # get today date & replace YYYY, MM, DD if provided in the default value
             my $today = dt_from_string;