--- loncom/interface/lonmsg.pm 2003/03/17 16:55:06 1.42.2.1
+++ loncom/interface/lonmsg.pm 2003/07/05 10:07:11 1.57
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines for messaging
#
-# $Id: lonmsg.pm,v 1.42.2.1 2003/03/17 16:55:06 albertel Exp $
+# $Id: lonmsg.pm,v 1.57 2003/07/05 10:07:11 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -52,18 +52,22 @@ use Apache::Constants qw(:common);
use Apache::loncommon();
use Apache::lontexconvert();
use HTML::Entities();
+use Mail::Send;
# ===================================================================== Package
sub packagemsg {
- my ($subject,$message,$citation)=@_;
-# $message=~s/\\<\;/g;
-# $message=~s/\>/\>\;/g;
+ my ($subject,$message,$citation,$baseurl,$attachmenturl)=@_;
$message =&HTML::Entities::encode($message);
$citation=&HTML::Entities::encode($citation);
$subject =&HTML::Entities::encode($subject);
-# $subject=~s/\\<\;/g;
-# $subject=~s/\>/\>\;/g;
+ #remove machine specification
+ $baseurl =~ s|^http://[^/]+/|/|;
+ $baseurl =&HTML::Entities::encode($baseurl);
+ #remove machine specification
+ $attachmenturl =~ s|^http://[^/]+/|/|;
+ $attachmenturl =&HTML::Entities::encode($attachmenturl);
+
my $now=time;
$msgcount++;
my $partsubj=$subject;
@@ -71,8 +75,7 @@ sub packagemsg {
my $msgid=&Apache::lonnet::escape(
$now.':'.$partsubj.':'.$ENV{'user.name'}.':'.
$ENV{'user.domain'}.':'.$msgcount.':'.$$);
- return $msgid,
- '
Attachment: '.$fname.'.'.$ft.''; + } else { + $content{'message'}.='
Attachment: '.$fname.'.'.$ft.'';
+ }
+ }
return %content;
}
@@ -121,6 +143,42 @@ sub unpackmsgid {
return ($sendtime,$shortsubj,$fromname,$fromdomain,$status{$msgid});
}
+
+sub sendemail {
+ my ($to,$subject,$body)=@_;
+ $body=
+ "*** This is an automatic message generated by the LON-CAPA system.\n".
+ "*** Please do not reply to this address.\n\n".$body;
+ my $msg = new Mail::Send;
+ $msg->to($to);
+ $msg->subject('[LON-CAPA] '.$subject);
+ my $fh = $msg->open('smtp',Server => 'localhost');
+ print $fh $body;
+ $fh->close;
+}
+
+# ==================================================== Send notification emails
+
+sub sendnotification {
+ my ($to,$touname,$toudom,$subj,$crit)=@_;
+ my $sender=$ENV{'environment.firstname'}.' '.$ENV{'environment.lastname'};
+ my $critical=($crit?' critical':'');
+ my $url='http://'.
+ $Apache::lonnet::hostname{&Apache::lonnet::homeserver($touname,$toudom)}.
+ '/adm/email?username='.$touname.'&domain='.$toudom;
+ my $body=(<