--- loncom/interface/lonmsg.pm 2002/03/18 18:38:04 1.29 +++ loncom/interface/lonmsg.pm 2002/06/24 14:33:21 1.33 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines for messaging # -# $Id: lonmsg.pm,v 1.29 2002/03/18 18:38:04 www Exp $ +# $Id: lonmsg.pm,v 1.33 2002/06/24 14:33:21 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -303,21 +303,30 @@ ENDDISHEADER sub discrit { my $r=shift; - $r->print('

Critical Messages

'. - '
'. - ''); - my %what=&Apache::lonnet::dump('critical'); - foreach (sort keys %what) { - my %content=&unpackagemsg($what{$_}); - $content{'message'}=~s/\n/\/g; - $r->print('
From: '.$content{'sendername'}.'@'. - $content{'senderdomain'}.' ('.$content{'time'}. - ')
'.$content{'message'}.'
'. - ''. - ''); - } - $r->print( - ''); + my $header = '

Critical Messages

'. + '
'. + ''; + my %what=&Apache::lonnet::dump('critical'); + my $result = ''; + foreach (sort keys %what) { + my %content=&unpackagemsg($what{$_}); + next if ($content{'senderdomain'} eq ''); + $content{'message'}=~s/\n/\/g; + $result.='
From: '.$content{'sendername'}.'@'. + $content{'senderdomain'}.' ('.$content{'time'}. + ')
'.$content{'message'}.'
'. + ''. + ''; + } + # Check to see if there were any messages. + if ($result eq '') { + $result = "

You have no critical messages.

"; + } else { + $r->print($header); + } + $r->print($result); + $r->print(''); } # =============================================================== Compose reply @@ -387,7 +396,7 @@ ENDDISHEADER $ENV{'user.home'}))) { my ($sendtime,$shortsubj,$fromname,$fromdomain,$status)= &Apache::lonmsg::unpackmsgid($_); - unless ($status eq 'deleted') { + unless (($status eq 'deleted') || ($sendtime=~/error/)) { if ($status eq 'new') { $r->print(''); } elsif ($status eq 'read') { @@ -440,18 +449,21 @@ sub compout { } my $defdom=$ENV{'user.domain'}; $r->print( - '
'. - ''); + ''."\n". + ''."\n". + '
'); unless (($broadcast eq 'group') || ($broadcast eq 'upload')) { + my $domform = &Apache::loncommon::select_dom_form($defdom,'recdomain'); + $r->print(<<"ENDREC");
- + ENDREC } - unless ($broadcast eq 'upload') { + if ($broadcast ne 'upload') { $r->print(<<"ENDCOMP");
Username:
Domain:
$domform
Additional Recipients
username\@domain,username\@domain, ...
@@ -463,23 +475,29 @@ ENDREC $dispcrit ENDCOMP - } - if ($broadcast eq 'upload') { + } else { # $broadcast is 'upload' $r->print(<

Generate messages from a file

+

Subject: +

+

General message text
+

+

+The file format for the uploaded portion of the message is:

 username1\@domain1: text
 username2\@domain2: text
-username1\@domain1: text
+username3\@domain1: text
 
+

+

The messages will be assembled from all lines with the respective -username\@domain, and appended to the general message text.

+username\@domain, and appended to the general message text.

+

-General message text:

-

$dispcrit ENDUPLOAD @@ -503,21 +521,9 @@ sub handler { return OK if $r->header_only; # --------------------------- Get query string for limited number of parameters - - foreach (split(/&/,$ENV{'QUERY_STRING'})) { - my ($name, $value) = split(/=/,$_); - $value =~ tr/+/ /; - $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; - if (($name eq 'display') || ($name eq 'replyto') || - ($name eq 'forward') || ($name eq 'markread') || - ($name eq 'markdel') || ($name eq 'markunread') || - ($name eq 'sendreply') || ($name eq 'compose') || - ($name eq 'sendmail') || ($name eq 'critical')) { - unless ($ENV{'form.'.$name}) { - $ENV{'form.'.$name}=$value; - } - } - } + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, + ['display','replyto','forward','markread','markdel','markunread', + 'sendreply','compose','sendmail','critical']); # --------------------------------------------------------------- Render Output