From eadd0dba6c02b8b4906ea29d17e8d610e872dfeb Mon Sep 17 00:00:00 2001 From: rangi Date: Mon, 20 Jun 2005 01:01:06 +0000 Subject: [PATCH] This simply wasnt working before. It is now not erroring, not sure if its actually sending mail, working on that now --- opac/opac-sendbasket.pl | 228 +++++++++++++++++++++------------------- 1 file changed, 117 insertions(+), 111 deletions(-) diff --git a/opac/opac-sendbasket.pl b/opac/opac-sendbasket.pl index d6db373aa4..01f4515e06 100755 --- a/opac/opac-sendbasket.pl +++ b/opac/opac-sendbasket.pl @@ -5,91 +5,110 @@ use CGI; use Mail::Sendmail; use MIME::QuotedPrint; use MIME::Base64; - +use C4::Context; use C4::Search; use C4::Auth; use C4::Interface::CGI::Output; +use C4::Biblio; use HTML::Template; my $query = new CGI; -my ($template, $borrowernumber, $cookie) - = get_template_and_user({template_name => "opac-sendbasketform.tmpl", - query => $query, - type => "opac", - authnotrequired => 1, - flagsrequired => {borrow => 1}, - }); - -my $bib_list=$query->param('bib_list'); -my $email_add=$query->param('email_add'); -my $email_sender=$query->param('email_sender'); - -if ($email_add) { - my $email_from = C4::Context->preference('KohaAdminEmailAddress'); - - my %mail = ( To => $email_add, - From => $email_from); - - my ($template2, $borrowernumber, $cookie) - = get_template_and_user({template_name => "opac-sendbasket.tmpl", - query => $query, - type => "opac", - authnotrequired => 1, - flagsrequired => {borrow => 1}, - }); - - my @bibs = split(/\//, $bib_list); - my @results; - my $iso2709; - foreach my $biblionumber (@bibs) { - $template2->param(biblionumber => $biblionumber); - - my $dat = &bibdata($biblionumber); - my ($authorcount, $addauthor) = &addauthor($biblionumber); - my @items = &ItemInfo(undef, $biblionumber, 'opac'); - - $dat->{'additional'}=$addauthor->[0]->{'author'}; - for (my $i = 1; $i < $authorcount; $i++) { - $dat->{'additional'} .= "|" . $addauthor->[$i]->{'author'}; - } - - $dat->{'biblionumber'} = $biblionumber; - $dat->{ITEM_RESULTS} = \@items; - my $record = MARCgetbiblio($dbh,$bibid); - $iso2709 .= $record->as_usmarc(); - - push (@results, $dat); - } +my ( $template, $borrowernumber, $cookie ) = get_template_and_user( + { + template_name => "opac-sendbasketform.tmpl", + query => $query, + type => "opac", + authnotrequired => 1, + flagsrequired => { borrow => 1 }, + } +); - my $resultsarray=\@results; - $template2->param(BIBLIO_RESULTS => $resultsarray, - email_sender => $email_sender); +my $bib_list = $query->param('bib_list'); +my $email_add = $query->param('email_add'); +my $email_sender = $query->param('email_sender'); - # Getting template result - my $template_res = $template2->output(); +my $dbh = C4::Context->dbh(); - # Analysing information and getting mail properties - 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; } - - my $email_file = "basket.txt"; - if ($template_res =~ /\n(.*)\n/s) { $email_file = $1; } - - if ($template_res =~ /\n(.*)\n/s) { $mail{'body'} = $1; } - - my $boundary = "====" . time() . "===="; - $mail{'content-type'} = "multipart/mixed; boundary=\"$boundary\""; - - $email_header = encode_qp($email_header); - - $boundary = "--".$boundary; - - # Writing mail - $mail{body} = <preference('KohaAdminEmailAddress'); + + my %mail = ( + To => $email_add, + From => $email_from + ); + + my ( $template2, $borrowernumber, $cookie ) = get_template_and_user( + { + template_name => "opac-sendbasket.tmpl", + query => $query, + type => "opac", + authnotrequired => 1, + flagsrequired => { borrow => 1 }, + } + ); + + my @bibs = split ( /\//, $bib_list ); + my @results; + my $iso2709; + foreach my $biblionumber (@bibs) { + $template2->param( biblionumber => $biblionumber ); + + my $dat = &bibdata($biblionumber); + my ( $authorcount, $addauthor ) = &addauthor($biblionumber); + my @items = &ItemInfo( undef, $biblionumber, 'opac' ); + + $dat->{'additional'} = $addauthor->[0]->{'author'}; + for ( my $i = 1 ; $i < $authorcount ; $i++ ) { + $dat->{'additional'} .= "|" . $addauthor->[$i]->{'author'}; + } + + $dat->{'biblionumber'} = $biblionumber; + $dat->{ITEM_RESULTS} = \@items; + my $record = MARCgetbiblio( $dbh, $biblionumber ); + $iso2709 .= $record->as_usmarc(); + + push ( @results, $dat ); + } + + my $resultsarray = \@results; + $template2->param( + BIBLIO_RESULTS => $resultsarray, + email_sender => $email_sender + ); + + # Getting template result + my $template_res = $template2->output(); + + # Analysing information and getting mail properties + 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; + } + + my $email_file = "basket.txt"; + if ( $template_res =~ /\n(.*)\n/s ) { + $email_file = $1; + } + + if ( $template_res =~ /\n(.*)\n/s ) { + $mail{'body'} = $1; + } + + my $boundary = "====" . time() . "===="; + $mail{'content-type'} = "multipart/mixed; boundary=\"$boundary\""; + + $email_header = encode_qp($email_header); + + $boundary = "--" . $boundary; + + # Writing mail + $mail{body} = <param(SENT => "1"); - $template->param(email_add => $email_add); - } else { - # do something if it doesnt work.... - warn "Error sending mail: $Mail::Sendmail::error \n"; - } - - output_html_with_http_headers $query, $cookie, $template->output; + # Sending mail + if ( sendmail %mail ) { + + # do something if it works.... + warn "Mail sent ok\n"; + $template->param( SENT => "1" ); + $template->param( email_add => $email_add ); + } + else { + + # do something if it doesnt work.... + warn "Error sending mail: $Mail::Sendmail::error \n"; + warn "$mail{'body'}"; + } + + output_html_with_http_headers $query, $cookie, $template->output; } else { - $template->param(bib_list => $bib_list); - $template->param(url => "/cgi-bin/koha/opac-sendbasket.pl", - suggestion => C4::Context->preference("suggestion"), - virtualshelves => C4::Context->preference("virtualshelves"), - ); - output_html_with_http_headers $query, $cookie, $template->output; + $template->param( bib_list => $bib_list ); + $template->param( + url => "/cgi-bin/koha/opac-sendbasket.pl", + suggestion => C4::Context->preference("suggestion"), + virtualshelves => C4::Context->preference("virtualshelves"), + ); + output_html_with_http_headers $query, $cookie, $template->output; } -- 2.39.5