--- loncom/interface/lonmsg.pm 2005/01/25 15:28:02 1.130 +++ loncom/interface/lonmsg.pm 2005/01/30 23:32:29 1.131 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines for messaging # -# $Id: lonmsg.pm,v 1.130 2005/01/25 15:28:02 albertel Exp $ +# $Id: lonmsg.pm,v 1.131 2005/01/30 23:32:29 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -239,9 +239,15 @@ sub sendemail { # ==================================================== Send notification emails sub sendnotification { - my ($to,$touname,$toudom,$subj,$crit)=@_; + my ($to,$touname,$toudom,$subj,$crit,$text)=@_; my $sender=$ENV{'environment.firstname'}.' '.$ENV{'environment.lastname'}; + unless ($sender=~/\w/) { + $sender=$ENV{'user.name'}.'@'.$ENV{'user.domain'}; + } my $critical=($crit?' critical':''); + $text=~s/\<\;/\/gs; + $text=~s/\<\/*[^\>]+\>//gs; my $url='http://'. $Apache::lonnet::hostname{&Apache::lonnet::homeserver($touname,$toudom)}. '/adm/email?username='.$touname.'&domain='.$toudom; @@ -250,11 +256,15 @@ You received a$critical message from $se $subj +=== Excerpt ============================================================ +$text +======================================================================== + Use $url -to access this message. +to access the full message. ENDMSG &sendemail($to,'New'.$critical.' message from '.$sender,$body); } @@ -351,6 +361,7 @@ sub user_crit_msg_raw { my $status=''; my $msgid='undefined'; unless (($message)&&($user)&&($domain)) { $status='empty'; }; + my $text=$message; my $homeserver=&Apache::lonnet::homeserver($user,$domain); if ($homeserver ne 'no_host') { ($msgid,$message)=&packagemsg($subject,$message); @@ -373,7 +384,8 @@ sub user_crit_msg_raw { my %userenv = &Apache::lonnet::get('environment',['critnotification'], $domain,$user); if ($userenv{'critnotification'}) { - &sendnotification($userenv{'critnotification'},$user,$domain,$subject,1); + &sendnotification($userenv{'critnotification'},$user,$domain,$subject,1, + $text); } # Log this &Apache::lonnet::logthis( @@ -448,6 +460,7 @@ sub user_normal_msg_raw { # Check if allowed missing my $status=''; my $msgid='undefined'; + my $text=$message; unless (($message)&&($user)&&($domain)) { $status='empty'; }; my $homeserver=&Apache::lonnet::homeserver($user,$domain); if ($homeserver ne 'no_host') { @@ -474,7 +487,8 @@ sub user_normal_msg_raw { my %userenv = &Apache::lonnet::get('environment',['notification'], $domain,$user); if ($userenv{'notification'}) { - &sendnotification($userenv{'notification'},$user,$domain,$subject,0); + &sendnotification($userenv{'notification'},$user,$domain,$subject,0, + $text); } &Apache::lonnet::log($ENV{'user.domain'},$ENV{'user.name'}, $ENV{'user.home'}, @@ -836,7 +850,7 @@ TABLEHEAD foreach my $msg (@newmsgs) { $r->print(<<"ENDLINK"); -$lt{'op'} +$lt{'op'} ENDLINK foreach ('sendtime','from','fromdom','shortsub') { $r->print("$msg->{$_}"); @@ -1739,6 +1753,7 @@ sub displaymessage { 'Delete'. ''.&mt('Back to Folder Display').''); if ($counter > 0){ $r->print('