X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=opac%2Fopac-sendbasket.pl;h=9b2484d218e502b3ffd811f6f1d4fa777cf03da0;hb=a1cdb441cf836ef4cb633bde8043aee4fb80416e;hp=5e75dbfdc45537fb9541aebeab5e0abe2772dbd1;hpb=c49b3eb464f06c2212ac7911785f83b1273e431a;p=srvgit diff --git a/opac/opac-sendbasket.pl b/opac/opac-sendbasket.pl index 5e75dbfdc4..9b2484d218 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,23 +13,27 @@ # 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; +use warnings; use CGI; use Encode qw(encode); +use Carp; use Mail::Sendmail; use MIME::QuotedPrint; use MIME::Base64; +use HTML::FormatText; use C4::Biblio; use C4::Items; use C4::Auth; use C4::Output; use C4::Biblio; +use C4::Members; my $query = new CGI; @@ -36,7 +42,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 }, } ); @@ -48,11 +54,19 @@ 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'}, + 'X-Abuse-Report' => C4::Context->preference('KohaAdminEmailAddress'), ); my ( $template2, $borrowernumber, $cookie ) = get_template_and_user( @@ -60,7 +74,7 @@ if ( $email_add ) { template_name => "opac-sendbasket.tmpl", query => $query, type => "opac", - authnotrequired => 1, + authnotrequired => 0, flagsrequired => { borrow => 1 }, } ); @@ -78,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; @@ -92,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 @@ -103,39 +127,34 @@ 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 ) { + if ( $template_res =~ /
\n(.*)\n?/s ) { $email_header = $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 = $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(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 );