Your list : [% shelfname %]
<END_SUBJECT>
+[% USE HtmlToText %]
+[% myhtml FILTER html2text(leftmargin => 0, rightmargin => 0) %]
+[% myhtmltext | html2text %]
+
<HEADER>
-Hi,
+[% FILTER html2text %]
+ <p>Hi,</p>
+
+ <p>[% firstname %] [% surname %] sent you from our online catalog, the
+ virtual shelf called : [% shelfname %].</p>
-[% firstname %] [% surname %], sent you from our online catalog, the virtual shelf called : [% shelfname %].
+ <p>Please note that the attached file is a MARC bibliographic records file
+ which can be imported into personal bibliographic software like EndNote,
+ Reference Manager or ProCite.</p>
+ <hr/>
+[% END %]
-Please note that the attached file is a MARC bibliographic records file
-which can be imported into personal bibliographic software like EndNote,
-Reference Manager or ProCite.
<END_HEADER>
<MESSAGE>
----------------------------------------------
-[% IF ( comment ) %]
-[% comment %]
-[% END %]
-[% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %][% BIBLIO_RESULT.title %][% IF ( BIBLIO_RESULT.subtitle.size ) %] [% FOREACH subtitle IN BIBLIO_RESULT.subtitle %][% subtitle.subfield %][% END %][% END %][% IF ( BIBLIO_RESULT.author ) %]
-
-by [% BIBLIO_RESULT.author %][% END %]
-[% IF ( BIBLIO_RESULT.MARCAUTHORS.size ) %]
-Additional author(s): [% 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 %][% 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 %][% IF ( OPACBaseURL ) %]
-In the online catalog:
- http://[% OPACBaseURL %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% BIBLIO_RESULT.biblionumber |url %][% END %]
-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 %]
-
----------------------------------------------
+[% FILTER html2text %]
+
+ [% IF comment %]
+ <p>[% comment %]</p>
+ <hr/>
+ [% END %]
+ <ol>
+ [% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %]
+ <li>
+ <span>
+ [% BIBLIO_RESULT.title %]
+ [% IF ( BIBLIO_RESULT.subtitle.size ) %]
+ [% FOREACH subtitle IN BIBLIO_RESULT.subtitle %]
+ [% subtitle.subfield %]
+ [% END %]
+ [% END %]
+ </span>
+
+ <p>
+ [% IF ( BIBLIO_RESULT.HASAUTHORS ) %]
+ <span>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 ) %];[% END %]
+ [% END %]
+ [% END %]
+ </span><br/>
+ [% END %]
+
+ [% IF BIBLIO_RESULT.publishercode %]
+ <span>
+ Published by: [% BIBLIO_RESULT.publishercode %]
+ [% IF ( BIBLIO_RESULT.publicationyear ) %]
+ in [% BIBLIO_RESULT.publicationyear %]
+ [% END %]
+ [% IF ( BIBLIO_RESULT.pages ) %]
+ , [% BIBLIO_RESULT.pages %]
+ [% END %]
+ [% IF BIBLIO_RESULT.size %]
+ , [% BIBLIO_RESULT.size %]
+ [% END %]
+ </span><br/>
+ [% END %]
+
+ [% IF BIBLIO_RESULT.collection %]
+ <span>
+ Collection: [% BIBLIO_RESULT.seriestitle %]
+ </span><br/>
+ [% END %]
+
+ [% IF ( BIBLIO_RESULT.subject ) %]
+ <span>
+ Subject: [% BIBLIO_RESULT.subject %]
+ <span><br/>
+ [% END %]
+
+ [% IF ( BIBLIO_RESULT.copyrightdate ) %]
+ <span>
+ Copyright year: [% BIBLIO_RESULT.copyrightdate %]
+ </span><br/>
+ [% END %]
+
+ [% IF ( BIBLIO_RESULT.notes ) %]
+ <span>
+ Notes : [% BIBLIO_RESULT.notes %]
+ </span><br/>
+ [% END %]
+
+ [% IF ( BIBLIO_RESULT.unititle ) %]
+ <span>
+ Unified title: [% BIBLIO_RESULT.unititle %]
+ </span><br/>
+ [% END %]
+
+ [% IF ( BIBLIO_RESULT.serial ) %]
+ <span>
+ Serial: [% BIBLIO_RESULT.serial %]
+ </span><br/>
+ [% END %]
+
+ [% IF ( BIBLIO_RESULT.dewey ) %]
+ <span>
+ Dewey: [% BIBLIO_RESULT.dewey %]
+ </span><br/>
+ [% END %]
+
+ [% IF ( BIBLIO_RESULT.classification ) %]
+ <span>
+ Classification: [% BIBLIO_RESULT.classification %]
+ </span><br/>
+ [% END %]
+
+ [% IF ( BIBLIO_RESULT.lccn ) %]
+ <span>
+ LCCN: [% BIBLIO_RESULT.lccn %]
+ </span><br/>
+ [% END %]
+ [% IF ( BIBLIO_RESULT.url ) %]
+ <span>
+ URL: [% BIBLIO_RESULT.url |url %]
+ </span>
+ [% END %]
+ </p>
+
+ [% IF ( OPACBaseURL ) %]
+ <p>
+ In online catalog: [% OPACBaseURL %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% BIBLIO_RESULT.biblionumber %]
+ </p>
+ [% END %]
+ [% IF ( BIBLIO_RESULT.ITEM_RESULTS.size ) %]
+ <p>Items:
+ <ul>
+ [% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %]<li>
+ [% ITEM_RESULT.branchname %]
+ [% ITEM_RESULT.location %]
+ [% IF ITEM_RESULT.itemcallnumber %]([% ITEM_RESULT.itemcallnumber %])[% END %]
+ [% ITEM_RESULT.barcode %]
+ </li>[% END %]
+ </ul>
+ </p>
+ [% END %]
+ <hr/>
+ </li>
+ [% END %]
+ </ol>
[% END %]
+
<END_MESSAGE>
use warnings;
use CGI;
-use Encode qw(encode);
+use Encode;
use Carp;
use Mail::Sendmail;
my @items = GetItemsInfo( $biblionumber );
+ $dat->{ISBN} = GetMarcISBN($record, $marcflavour);
$dat->{MARCNOTES} = $marcnotesarray;
$dat->{MARCSUBJCTS} = $marcsubjctsarray;
$dat->{MARCAUTHORS} = $marcauthorsarray;
$dat->{'biblionumber'} = $biblionumber;
$dat->{ITEM_RESULTS} = \@items;
$dat->{subtitle} = $subtitle;
+ $dat->{HASAUTHORS} = $dat->{'author'} || @$marcauthorsarray;
$iso2709 .= $record->as_usmarc();
# Getting template result
my $template_res = $template2->output();
- my $body;
# Analysing information and getting mail properties
- if ( $template_res =~ /<SUBJECT>\n(.*)\n<END_SUBJECT>/s ) {
- $mail{'subject'} = $1;
- }
- else { $mail{'subject'} = "no subject"; }
+ $mail{'subject'} = $template_res =~ /<SUBJECT>\n(.*)\n?<END_SUBJECT>/s
+ ? $1 : "no subject";
- my $email_header = "";
- if ( $template_res =~ /<HEADER>\n(.*)\n<END_HEADER>/s ) {
- $email_header = $1;
- }
+ my ($email_header) = $template_res =~ /<HEADER>\n(.*)\n?<END_HEADER>/s;
- my $email_file = "basket.txt";
- if ( $template_res =~ /<FILENAME>\n(.*)\n<END_FILENAME>/s ) {
- $email_file = $1;
- }
+ my $email_file = $template_res =~ /<FILENAME>\n(.*)\n?<END_FILENAME>/s
+ ? $1
+ : "list.txt";
- if ( $template_res =~ /<MESSAGE>\n(.*)\n<END_MESSAGE>/s ) { $body = encode_qp($1); }
+ my ($body) = $template_res =~ /<MESSAGE>\n(.*)\n?<END_MESSAGE>/s;
my $boundary = "====" . time() . "====";
$mail{body} = <<END_OF_BODY;
$boundary
+MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
$email_header
$body
$boundary
-Content-Type: application/octet-stream; name="shelf.iso2709"
+Content-Type: application/octet-stream; name="list.iso2709"
Content-Transfer-Encoding: base64
-Content-Disposition: attachment; filename="shelf.iso2709"
+Content-Disposition: attachment; filename="list.iso2709"
$isofile
$boundary--