X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=opac%2Fopac-sendbasket.pl;h=da74745f2e17dbf65370a33660c811b1e57b2fe4;hb=8ded191629fc2c113bcd7e995f87e409990e763d;hp=87e71b6fbed11232a76b5e310468d4cd40014a56;hpb=fc1342f73df868410e0ab670981f25ba2e1acd74;p=koha_fer diff --git a/opac/opac-sendbasket.pl b/opac/opac-sendbasket.pl index 87e71b6fbe..da74745f2e 100755 --- a/opac/opac-sendbasket.pl +++ b/opac/opac-sendbasket.pl @@ -1,5 +1,7 @@ #!/usr/bin/perl +# Copyright Doxulting 2004 +# # This file is part of Koha. # # Koha is free software; you can redistribute it and/or modify it under the @@ -11,20 +13,26 @@ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; -require Exporter; +use warnings; + use CGI; +use Encode qw(encode); +use Carp; + use Mail::Sendmail; use MIME::QuotedPrint; use MIME::Base64; use C4::Biblio; +use C4::Items; use C4::Auth; -use C4::Interface::CGI::Output; +use C4::Output; use C4::Biblio; +use C4::Members; my $query = new CGI; @@ -33,7 +41,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user ( template_name => "opac-sendbasketform.tmpl", query => $query, type => "opac", - authnotrequired => 1, + authnotrequired => 0, flagsrequired => { borrow => 1 }, } ); @@ -45,11 +53,20 @@ my $email_sender = $query->param('email_sender'); my $dbh = C4::Context->dbh; if ( $email_add ) { + my $user = GetMember(borrowernumber => $borrowernumber); + my $user_email = GetFirstValidEmailAddress($borrowernumber) + || C4::Context->preference('KohaAdminEmailAddress'); + my $email_from = C4::Context->preference('KohaAdminEmailAddress'); + my $email_replyto = "$user->{firstname} $user->{surname} <$user_email>"; my $comment = $query->param('comment'); my %mail = ( To => $email_add, - From => $email_from + From => $email_from, + 'Reply-To' => $email_replyto, +# 'X-Orig-IP' => $ENV{'REMOTE_ADDR'}, +# FIXME Commented out for now: discussion on privacy issue + 'X-Abuse-Report' => C4::Context->preference('KohaAdminEmailAddress'), ); my ( $template2, $borrowernumber, $cookie ) = get_template_and_user( @@ -57,7 +74,7 @@ if ( $email_add ) { template_name => "opac-sendbasket.tmpl", query => $query, type => "opac", - authnotrequired => 1, + authnotrequired => 0, flagsrequired => { borrow => 1 }, } ); @@ -75,11 +92,18 @@ if ( $email_add ) { my $marcauthorsarray = GetMarcAuthors( $record, $marcflavour ); my $marcsubjctsarray = GetMarcSubjects( $record, $marcflavour ); - my @items = &GetItemsInfo( $biblionumber, 'opac' ); + my @items = GetItemsInfo( $biblionumber ); + + my $hasauthors = 0; + if($dat->{'author'} || @$marcauthorsarray) { + $hasauthors = 1; + } + $dat->{MARCNOTES} = $marcnotesarray; $dat->{MARCSUBJCTS} = $marcsubjctsarray; $dat->{MARCAUTHORS} = $marcauthorsarray; + $dat->{HASAUTHORS} = $hasauthors; $dat->{'biblionumber'} = $biblionumber; $dat->{ITEM_RESULTS} = \@items; @@ -89,10 +113,13 @@ if ( $email_add ) { } my $resultsarray = \@results; + $template2->param( BIBLIO_RESULTS => $resultsarray, email_sender => $email_sender, - comment => $comment + comment => $comment, + firstname => $user->{firstname}, + surname => $user->{surname}, ); # Getting template result @@ -100,41 +127,37 @@ if ( $email_add ) { my $body; # Analysing information and getting mail properties - if ( $template_res =~ /\n(.*)\n/s ) { + if ( $template_res =~ /\n(.*)\n?/s ) { $mail{'subject'} = $1; } else { $mail{'subject'} = "no subject"; } my $email_header = ""; - if ( $template_res =~ /
\n(.*)\n/s ) { - $email_header = $1; + if ( $template_res =~ /
\n(.*)\n?/s ) { + $email_header = encode_qp($1); } my $email_file = "basket.txt"; - if ( $template_res =~ /\n(.*)\n/s ) { + if ( $template_res =~ /\n(.*)\n?/s ) { $email_file = $1; } - if ( $template_res =~ /\n(.*)\n/s ) { $body = $1; } + if ( $template_res =~ /\n(.*)\n?/s ) { + $body = encode_qp($1); + } 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($iso2709); + my $isofile = encode_base64(encode("UTF-8", $iso2709)); $boundary = '--' . $boundary; $mail{body} = <param( SENT => "1" ); } else { # do something if it doesnt work.... - warn "Error sending mail: $Mail::Sendmail::error \n"; + carp "Error sending mail: empty basket" if !defined($iso2709); + carp "Error sending mail: $Mail::Sendmail::error" if $Mail::Sendmail::error; $template->param( error => 1 ); } $template->param( email_add => $email_add );