From 9c98f030721c34d0be8ad7e7c123ea8eac09af56 Mon Sep 17 00:00:00 2001 From: doxulting Date: Mon, 12 Jul 2004 08:10:40 +0000 Subject: [PATCH] Functions for Basket sending --- opac/opac-sendbasket.pl | 119 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100755 opac/opac-sendbasket.pl diff --git a/opac/opac-sendbasket.pl b/opac/opac-sendbasket.pl new file mode 100755 index 0000000000..82cc81823f --- /dev/null +++ b/opac/opac-sendbasket.pl @@ -0,0 +1,119 @@ +#!/usr/bin/perl +use strict; +require Exporter; +use CGI; +use Mail::Sendmail; +use MIME::QuotedPrint; +use MIME::Base64; + +use C4::Search; +use C4::Auth; +use C4::Interface::CGI::Output; +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'); + +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; + + foreach my $biblionumber (@bibs) { + $template2->param(biblionumber => $biblionumber); + + my $dat = &bibdata($biblionumber); + my ($authorcount, $addauthor) = &addauthor($biblionumber); + + $dat->{'additional'}=$addauthor->[0]->{'author'}; + for (my $i = 1; $i < $authorcount; $i++) { + $dat->{'additional'} .= "|" . $addauthor->[$i]->{'author'}; + } + + $dat->{'biblionumber'} = $biblionumber; + + push (@results, $dat); + } + + my $resultsarray=\@results; + $template2->param(BIBLIO_RESULTS => $resultsarray); + + # Getting template result + my $template_res = $template2->output(); + + # Analysing information and getting mail properties + if ($template_res =~ /§SUBJECT§\n(.*)\n§END_SUBJECT§/s) { $mail{'subject'} = $1; } + else { $mail{'subject'} = "no subject"; } + + my $email_header = ""; + if ($template_res =~ /§HEADER§\n(.*)\n§END_HEADER§/s) { $email_header = $1; } + + my $email_file = "basket.txt"; + if ($template_res =~ /§FILENAME§\n(.*)\n§END_FILENAME§/s) { $email_file = $1; } + + if ($template_res =~ /§MESSAGE§\n(.*)\n§END_MESSAGE§/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; +} +else { + $template->param(bib_list => $bib_list); + $template->param(url => "/cgi-bin/koha/opac-sendbasket.pl"); + output_html_with_http_headers $query, $cookie, $template->output; +} -- 2.39.5