--- loncom/interface/lonmsg.pm 2001/02/06 18:17:34 1.7
+++ loncom/interface/lonmsg.pm 2001/07/28 04:16:29 1.11
@@ -12,6 +12,8 @@
#
# 10/19,10/20,10/30,
# 02/06/01 Gerd Kortemeyer
+# 07/27 Guy Albertelli
+# 07/27 Gerd Kortemeyer
package Apache::lonmsg;
@@ -83,7 +85,7 @@ sub unpackmsgid {
my $msgid=&Apache::lonnet::unescape(shift);
my ($sendtime,$shortsubj,$fromname,$fromdomain)=split(/\:/,
&Apache::lonnet::unescape($msgid));
- my %status=&Apache::lonnet::get('email_status',$msgid);
+ my %status=&Apache::lonnet::get('email_status',[$msgid]);
if ($status{$msgid}=~/^error\:/) { $status{$msgid}=''; }
unless ($status{$msgid}) { $status{$msgid}='new'; }
return ($sendtime,$shortsubj,$fromname,$fromdomain,$status{$msgid});
@@ -151,9 +153,9 @@ sub user_crit_received {
$contents{'subject'}.'" dated '.$contents{'time'}.".\n\n"
.'Message ID: '.$contents{'msgid'});
$status.=' trans: '.
- &Apache::lonnet::put('nohist_email',$contents{'msgid'} => $message);
+ &Apache::lonnet::put('nohist_email',{$contents{'msgid'} => $message});
$status.=' del: '.
- &Apache::lonnet::del('critical',$contents{'msgid'});
+ &Apache::lonnet::del('critical',[$contents{'msgid'}]);
&Apache::lonnet::log($ENV{'user.domain'},$ENV{'user.name'},
$ENV{'user.home'},'Received critical message '.
$contents{'msgid'}.
@@ -189,12 +191,12 @@ sub user_normal_msg {
sub statuschange {
my ($msgid,$newstatus)=@_;
- my %status=&Apache::lonnet::get('email_status',$msgid);
+ my %status=&Apache::lonnet::get('email_status',[$msgid]);
if ($status{$msgid}=~/^error\:/) { $status{$msgid}=''; }
unless ($status{$msgid}) { $status{$msgid}='new'; }
unless (($status{$msgid} eq 'replied') ||
($status{$msgid} eq 'forwarded')) {
- &Apache::lonnet::put('email_status',($msgid => $newstatus));
+ &Apache::lonnet::put('email_status',{$msgid => $newstatus});
}
}
# ===================================================================== Handler
@@ -217,7 +219,7 @@ sub handler {
$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 'mark') ||
- ($name eq 'sendreply')) {
+ ($name eq 'sendreply') || ($name eq 'compose')) {
unless ($ENV{'form.'.$name}) {
$ENV{'form.'.$name}=$value;
}
@@ -233,7 +235,7 @@ sub handler {
if ($ENV{'form.display'}) {
my $msgid=$ENV{'form.display'};
&statuschange($msgid,'read');
- my %message=&Apache::lonnet::get('nohist_email',$msgid);
+ my %message=&Apache::lonnet::get('nohist_email',[$msgid]);
my %content=&unpackagemsg($message{$msgid});
$r->print('Subject: '.$content{'subject'}.
'
From: '.$content{'sendername'}.' at '.
@@ -244,13 +246,18 @@ sub handler {
$content{'message'}.'
'; + } $r->print(<<"ENDREPLY");
ENDREPLY } elsif ($ENV{'form.sendreply'}) { my $msgid=$ENV{'form.sendreply'}; - my %message=&Apache::lonnet::get('nohist_email',$msgid); + my %message=&Apache::lonnet::get('nohist_email',[$msgid]); my %content=&unpackagemsg($message{$msgid}); &statuschange($msgid,'replied'); $r->print('Sending: '.&user_normal_msg($content{'sendername'}, @@ -272,6 +280,23 @@ ENDREPLY $ENV{'form.message'})); } elsif ($ENV{'form.forward'}) { } elsif ($ENV{'form.mark'}) { + } elsif ($ENV{'form.compose'}) { + my $dispcrit=''; + if (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) { + $dispcrit= + ' Send as critical message'; + } + $r->print(<<"ENDCOMP"); +
+ENDCOMP + } elsif ($ENV{'form.sendmail'}) { } else { $r->print('  | Date | '. 'Username | Domain | Subject | Status |
---|