From 9bb8f6940023be55c1f1ba338ca21dc41b6668e1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marc=20V=C3=A9ron?= Date: Thu, 28 Jan 2016 22:05:58 +0100 Subject: [PATCH] Bug 15684: Fix encoding issues with quote upload MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit To verify: - Download attachment 'Goethe with umlaut' from Bug 15684 - Go to Tools > Quote Editor - Click "Import quotes" and select the file - The quotes display in a table. Click 'Sav quotes' - Result: Nothing happens To test: - Apply patch - Repeat steps above - Verify that you get a message '2 quotes saved' and that the quotes are added in to the quotes table - Test with attachment 'sample quotes' as well Signed-off-by: Mirko Tietgen Signed-off-by: Kyle M Hall Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com (cherry picked from commit 59fc32531071e3d4594a8b5555acd41a17921de3) Signed-off-by: Julian Maurice (cherry picked from commit 6eb380da3b8908b7a909828082fe95f6d221fe19) Signed-off-by: Frédéric Demians --- .../intranet-tmpl/prog/en/modules/tools/quotes-upload.tt | 2 +- tools/quotes/quotes-upload_ajax.pl | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/quotes-upload.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/quotes-upload.tt index 21fa005afe..827cbd471d 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/quotes-upload.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/quotes-upload.tt @@ -263,7 +263,7 @@ contentType : "application/x-www-form-urlencoded", // we must claim this mimetype or CGI will not decode the URL encoding dataType : "json", data : { - "quote" : JSON.stringify(oTable.fnGetData()), + "quote" : encodeURI ( JSON.stringify(oTable.fnGetData()) ), "action" : "add", }, success : function(){ diff --git a/tools/quotes/quotes-upload_ajax.pl b/tools/quotes/quotes-upload_ajax.pl index 179c645c1a..727280c9e7 100755 --- a/tools/quotes/quotes-upload_ajax.pl +++ b/tools/quotes/quotes-upload_ajax.pl @@ -22,6 +22,7 @@ use warnings; use CGI qw ( -utf8 ); use JSON; +use URI::Escape; use autouse 'Data::Dumper' => qw(Dumper); use C4::Auth; @@ -40,8 +41,9 @@ unless ($status eq "ok") { } my $success = 'true'; +my $quotes_tmp = uri_unescape( $cgi->param('quote' ) ); +my $quotes = decode_json( $quotes_tmp ); -my $quotes = decode_json($cgi->param('quote')); my $action = $cgi->param('action'); my $sth = $dbh->prepare('INSERT INTO quotes (source, text) VALUES (?, ?);'); -- 2.39.5