From 588ff195dd15b84ca9515b8a13817513a093c8ed Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Mon, 7 Oct 2013 14:04:16 +0200 Subject: [PATCH] Bug 9218: intranet cart email broken for non english templates While bug 9189 is not resolved, we have to find workaround for templates broken by missing carriage return. This (dirty) patch adds a personal tag "PARAGRAPH" for adding new lines. Test plan: - add somes notices to the cart - try to send the cart by email - the email should be the same as before - translate templates and retry with another language. Before this patch, the email was empty. With this patch, it contains the list of records and items. --- basket/sendbasket.pl | 37 +++++++----- .../prog/en/modules/basket/sendbasket.tt | 62 +++++++++++--------- 2 files changed, 56 insertions(+), 43 deletions(-) diff --git a/basket/sendbasket.pl b/basket/sendbasket.pl index 66f73fa..2c6aa7f 100755 --- a/basket/sendbasket.pl +++ b/basket/sendbasket.pl @@ -112,33 +112,42 @@ if ( $email_add ) { my $body; # Analysing information and getting mail properties - if ( $template_res =~ /\n(.*)\n/s ) { - $mail{'subject'} = $1; + if ( $template_res =~ /(.*)/s ) { + my $subject = $1; + $subject =~ s/\n?(.*)\n?/$1/; + $mail{'subject'} = $subject; } else { $mail{'subject'} = "no subject"; } my $email_header = ""; - if ( $template_res =~ /
\n(.*)\n/s ) { - $email_header = $1; + if ( $template_res =~ /
(.*)/s ) { + my $tmp_header = $1; + $tmp_header =~ s|\n||g; + $email_header = $tmp_header; + while ($tmp_header =~ m|()(.*?)()|gs) { + my $text = $2; + $email_header =~ s|\Q$text\E|$text\n|; + } } my $email_file = "basket.txt"; - if ( $template_res =~ /\n(.*)\n/s ) { + if ( $template_res =~ /(.*)/s ) { $email_file = $1; + $email_file =~ s/\n?(.*)\n?/$1/; } - if ( $template_res =~ /\n(.*)\n/s ) { $body = encode_qp($1); } + if ( $template_res =~ /(.*)/s ) { + my $tmp_body = $1; + $tmp_body =~ s|\n||g; + $body = $tmp_body; + while ($tmp_body =~ m|()(.*?)()|gs) { + my $text = $2; + $body =~ s|\Q$text\E|$text\n|; + } + } my $boundary = "====" . time() . "===="; - # $mail{'content-type'} = "multipart/mixed; boundary=\"$boundary\""; - # - # $email_header = encode_qp($email_header); - # - # $boundary = "--".$boundary; - # - # # Writing mail - # $mail{body} = $mail{'content-type'} = "multipart/mixed; boundary=\"$boundary\""; my $isofile = encode_base64(encode("UTF-8", $iso2709)); $boundary = '--' . $boundary; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/basket/sendbasket.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/basket/sendbasket.tt index ca8f06d..d9368b8 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/basket/sendbasket.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/basket/sendbasket.tt @@ -3,40 +3,44 @@ Your cart
-Hi, - -Here is your cart, sent from our online catalog. - -Please note that the attached file is a MARC bibliographic records file +Hi, +Here is your cart, sent from our online catalog. + +Please note that the attached file is a MARC bibliographic records file which can be imported into a Personal Bibliographic Software like EndNote, -Reference Manager or ProCite. +Reference Manager or ProCite. ---------------------------------------------- + +--------------------------------------------- + [% IF ( comment ) %] -[% comment %] +[% comment %] [% END %] -[% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %][% BIBLIO_RESULT.title %][% IF ( BIBLIO_RESULT.subtitle ) %] [% BIBLIO_RESULT.subtitle %][% END %][% IF ( BIBLIO_RESULT.HASAUTHORS ) %] -Author(s): [% IF ( BIBLIO_RESULT.author ) %][% BIBLIO_RESULT.author %][% END %][% IF ( BIBLIO_RESULT.MARCAUTHORS ) %][% IF ( BIBLIO_RESULT.author ) %]; [% END %][% FOREACH MARCAUTHOR IN BIBLIO_RESULT.MARCAUTHORS %][% FOREACH MARCAUTHOR_SUBFIELDS_LOO IN MARCAUTHOR.MARCAUTHOR_SUBFIELDS_LOOP %][% MARCAUTHOR_SUBFIELDS_LOO.separator %][% MARCAUTHOR_SUBFIELDS_LOO.value %][% END %][% UNLESS ( loop.last ) %]; [% ELSE %][% END %][% END %][% END %][% END %][% IF ( BIBLIO_RESULT.ISBN ) %] -ISBN: [% BIBLIO_RESULT.ISBN %][% END %] -[% IF ( BIBLIO_RESULT.publishercode ) %]Published by: [% BIBLIO_RESULT.publishercode %][% END %][% IF ( BIBLIO_RESULT.publicationyear ) %] in [% END %][% BIBLIO_RESULT.publicationyear %][% IF ( BIBLIO_RESULT.pages ) %], [% END %][% BIBLIO_RESULT.pages %][% IF ( BIBLIO_RESULT.size ) %], [% END %][% BIBLIO_RESULT.size %][% IF ( BIBLIO_RESULT.collection ) %] -Collection: [% BIBLIO_RESULT.seriestitle %][% END %][% IF ( BIBLIO_RESULT.subject ) %] -Subject: [% BIBLIO_RESULT.subject %][% END %][% IF ( BIBLIO_RESULT.copyrightdate ) %] -Copyright year: [% BIBLIO_RESULT.copyrightdate %][% END %][% IF ( BIBLIO_RESULT.notes ) %] -Notes : [% BIBLIO_RESULT.notes %][% END %][% IF ( BIBLIO_RESULT.unititle ) %] -Unified title: [% BIBLIO_RESULT.unititle %][% END %][% IF ( BIBLIO_RESULT.serial ) %] -Serial: [% BIBLIO_RESULT.serial %][% END %][% IF ( BIBLIO_RESULT.dewey ) %] -Dewey: [% BIBLIO_RESULT.dewey %][% END %][% IF ( BIBLIO_RESULT.classification ) %] -Classification: [% BIBLIO_RESULT.classification %][% END %][% IF ( BIBLIO_RESULT.lccn ) %] -LCCN: [% BIBLIO_RESULT.lccn %][% END %][% IF ( BIBLIO_RESULT.url ) %] -url : [% BIBLIO_RESULT.url %][% END %] -In the online catalog: -[% OPACBaseURL %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% BIBLIO_RESULT.biblionumber |url %] -Items : [% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %] - [% ITEM_RESULT.branchname %] [% ITEM_RESULT.location %] [% IF ( ITEM_RESULT.itemcallnumber ) %]([% ITEM_RESULT.itemcallnumber %])[% END %] [% ITEM_RESULT.barcode %][% END %] - ---------------------------------------------- - + +[% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %] +[% BIBLIO_RESULT.title %][% IF ( BIBLIO_RESULT.subtitle ) %] [% BIBLIO_RESULT.subtitle %][% END %] +[% IF ( BIBLIO_RESULT.HASAUTHORS ) %]Author(s): [% IF ( BIBLIO_RESULT.author ) %][% BIBLIO_RESULT.author %][% END %][% IF ( BIBLIO_RESULT.MARCAUTHORS ) %][% IF ( BIBLIO_RESULT.author ) %]; [% END %][% FOREACH MARCAUTHOR IN BIBLIO_RESULT.MARCAUTHORS %][% FOREACH MARCAUTHOR_SUBFIELDS_LOO IN MARCAUTHOR.MARCAUTHOR_SUBFIELDS_LOOP %][% MARCAUTHOR_SUBFIELDS_LOO.separator %][% MARCAUTHOR_SUBFIELDS_LOO.value %][% END %][% UNLESS ( loop.last ) %]; [% ELSE %][% END %][% END %][% END %][% END %] +[% IF ( BIBLIO_RESULT.ISBN ) %]ISBN: [% BIBLIO_RESULT.ISBN %][% END %] +[% IF ( BIBLIO_RESULT.publishercode ) %]Published by: [% BIBLIO_RESULT.publishercode %][% END %][% IF ( BIBLIO_RESULT.publicationyear ) %] in [% END %][% BIBLIO_RESULT.publicationyear %][% IF ( BIBLIO_RESULT.pages ) %], [% END %][% BIBLIO_RESULT.pages %][% IF ( BIBLIO_RESULT.size ) %], [% END %][% BIBLIO_RESULT.size %] +[% IF ( BIBLIO_RESULT.collection ) %]Collection: [% BIBLIO_RESULT.seriestitle %][% END %] +[% IF ( BIBLIO_RESULT.subject ) %]Subject: [% BIBLIO_RESULT.subject %][% END %] +[% IF ( BIBLIO_RESULT.copyrightdate ) %]Copyright year: [% BIBLIO_RESULT.copyrightdate %][% END %] +[% IF ( BIBLIO_RESULT.notes ) %]Notes : [% BIBLIO_RESULT.notes %][% END %] +[% IF ( BIBLIO_RESULT.unititle ) %]Unified title: [% BIBLIO_RESULT.unititle %][% END %] +[% IF ( BIBLIO_RESULT.serial ) %]Serial: [% BIBLIO_RESULT.serial %][% END %] +[% IF ( BIBLIO_RESULT.dewey ) %]Dewey: [% BIBLIO_RESULT.dewey %][% END %] +[% IF ( BIBLIO_RESULT.classification ) %]Classification: [% BIBLIO_RESULT.classification %][% END %] +[% IF ( BIBLIO_RESULT.lccn ) %]LCCN: [% BIBLIO_RESULT.lccn %][% END %] +[% IF ( BIBLIO_RESULT.url ) %]url : [% BIBLIO_RESULT.url %][% END %] +In the online catalog: +[% OPACBaseURL %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% BIBLIO_RESULT.biblionumber |url %] +Items : +[% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %] + [% ITEM_RESULT.branchname %] [% ITEM_RESULT.location %] [% IF ( ITEM_RESULT.itemcallnumber ) %]([% ITEM_RESULT.itemcallnumber %])[% END %] [% ITEM_RESULT.barcode %] +[% END %] +--------------------------------------------- + [% END %] -- 1.7.10.4