version 1.240, 2015/06/18 21:42:37
|
version 1.244, 2018/12/27 18:14:25
|
Line 200 Returns
|
Line 200 Returns
|
|
|
use strict; |
use strict; |
use Apache::lonnet; |
use Apache::lonnet; |
|
use Apache::loncommon; |
use HTML::TokeParser(); |
use HTML::TokeParser(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
use MIME::Entity; |
|
use HTML::Entities; |
use HTML::Entities; |
use Encode; |
use Encode; |
use LONCAPA qw(:DEFAULT :match); |
use LONCAPA qw(:DEFAULT :match); |
Line 397 sub buildmsgid {
|
Line 397 sub buildmsgid {
|
} |
} |
|
|
sub unpackmsgid { |
sub unpackmsgid { |
my ($msgid,$folder,$skipstatus,$status_cache)=@_; |
my ($msgid,$folder,$skipstatus,$status_cache,$onlycid)=@_; |
$msgid=&unescape($msgid); |
$msgid=&unescape($msgid); |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$count,$fromcid, |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$count,$fromcid, |
$processid,$symb,$error) = split(/\:/,&unescape($msgid)); |
$processid,$symb,$error) = split(/\:/,&unescape($msgid)); |
|
if (!defined($processid)) { $fromcid = ''; } |
|
if (($onlycid) && ($onlycid ne $fromcid)) { |
|
return ($sendtime,'',$fromname,$fromdomain,'',$fromcid,'',$error); |
|
} |
$shortsubj = &unescape($shortsubj); |
$shortsubj = &unescape($shortsubj); |
$shortsubj = &HTML::Entities::decode($shortsubj); |
$shortsubj = &HTML::Entities::decode($shortsubj); |
$symb = &unescape($symb); |
$symb = &unescape($symb); |
if (!defined($processid)) { $fromcid = ''; } |
|
my %status=(); |
my %status=(); |
unless ($skipstatus) { |
unless ($skipstatus) { |
if (ref($status_cache)) { |
if (ref($status_cache)) { |
Line 460 sub sendemail {
|
Line 463 sub sendemail {
|
$attachmenturl = &Apache::lonnet::filelocation("",$attachmenturl); |
$attachmenturl = &Apache::lonnet::filelocation("",$attachmenturl); |
my $filesize = (stat($attachmenturl))[7]; |
my $filesize = (stat($attachmenturl))[7]; |
if ($filesize > 1048576) { |
if ($filesize > 1048576) { |
|
# Don't send if it exceeds 1 MB. |
print '<p><span class="LC_error">' |
print '<p><span class="LC_error">' |
.&mt('Email not sent. Attachment exceeds permitted length.') |
.&mt('Email not sent. Attachment exceeds permitted length.') |
.'</span><br /></p>'; |
.'</span><br /></p>'; |
} else { |
} else { |
my $top = MIME::Entity->build( Type => "multipart/mixed", |
# Otherwise build and send the email |
From => $senderaddress, |
$subject = '[LON-CAPA] '.$subject; |
To => $to, |
&Apache::loncommon::mime_email($senderaddress, $to, $subject, $body, ,'', |
Subject => '[LON-CAPA] '.$subject); |
'', $attachmenturl, '', ''); |
$top->attach(Data=>$body); |
|
$top->attach(Path=>$attachmenturl); |
|
|
|
open MAIL, "| /usr/lib/sendmail -t -oi -oem" or die "open: $!"; |
|
$top->print(\*MAIL); |
|
close MAIL; |
|
$msgsent = 1; |
$msgsent = 1; |
} |
} |
return $msgsent; |
return $msgsent; |
Line 493 sub sendnotification {
|
Line 491 sub sendnotification {
|
$text=~s/\<\;/\</gs; |
$text=~s/\<\;/\</gs; |
$text=~s/\>\;/\>/gs; |
$text=~s/\>\;/\>/gs; |
my $homeserver = &Apache::lonnet::homeserver($touname,$toudom); |
my $homeserver = &Apache::lonnet::homeserver($touname,$toudom); |
|
my $hostname = &Apache::lonnet::hostname($homeserver); |
my $protocol = $Apache::lonnet::protocol{$homeserver}; |
my $protocol = $Apache::lonnet::protocol{$homeserver}; |
$protocol = 'http' if ($protocol ne 'https'); |
$protocol = 'http' if ($protocol ne 'https'); |
my $url = $protocol.'://'.&Apache::lonnet::hostname($homeserver). |
my $url = $protocol.'://'.$hostname. |
'/adm/email?username='.$touname.'&domain='.$toudom. |
'/adm/email?username='.$touname.'&domain='.$toudom. |
'&display='.&escape($msgid); |
'&display='.&escape($msgid); |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid, |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid, |