--- loncom/interface/lonmsg.pm 2001/08/03 14:54:52 1.13 +++ loncom/interface/lonmsg.pm 2001/08/03 17:16:48 1.14 @@ -201,7 +201,11 @@ sub statuschange { ($status{$msgid} eq 'forwarded')) { &Apache::lonnet::put('email_status',{$msgid => $newstatus}); } + if (($newstatus eq 'deleted') || ($newstatus eq 'new')) { + &Apache::lonnet::put('email_status',{$msgid => $newstatus}); + } } + # ==================================================== Display Critical Message sub discrit { @@ -251,6 +255,38 @@ $dispcrit ENDREPLY } +sub disall { + my $r=shift; + $r->print('

Display All Messages

'. + ''. + ''); + map { + my ($sendtime,$shortsubj,$fromname,$fromdomain,$status)= + &Apache::lonmsg::unpackmsgid($_); + unless ($status eq 'deleted') { + if ($status eq 'new') { + $r->print(''); + } elsif ($status eq 'read') { + $r->print(''); + } elsif ($status eq 'replied') { + $r->print(''); + } else { + $r->print(''); + } + $r->print(''); + } + } sort split(/\&/,&Apache::lonnet::reply('keys:'. + $ENV{'user.domain'}.':'. + $ENV{'user.name'}.':nohist_email', + $ENV{'user.home'})); + $r->print('
 DateUsernameDomainSubjectStatus
OpenDelete'.localtime($sendtime).''. + $fromname.''.$fromdomain.''. + &Apache::lonnet::unescape($shortsubj).''. + $status.'
'); +} + # ===================================================================== Handler sub handler { @@ -270,7 +306,8 @@ sub handler { $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 'mark') || + ($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}) { @@ -293,9 +330,13 @@ sub handler { $r->print('Subject: '.$content{'subject'}. '
From: '.$content{'sendername'}.' at '. $content{'senderdomain'}. - '
Time: '.$content{'time'}.'
Functions: '. - 'Reply
'.
+             '
Time: '.$content{'time'}.'

'. + ''. + ''. + ''. + '
Functions:ReplyForward

'.
              $content{'message'}.'

'.$content{'citation'}); } elsif ($ENV{'form.replyto'}) { &comprep($r,$ENV{'form.replyto'}); @@ -317,6 +358,11 @@ sub handler { $ENV{'form.subject'}, $ENV{'form.message'})); } + if ($ENV{'form.displayedcrit'}) { + &discrit($r); + } else { + &disall($r); + } } elsif ($ENV{'form.confirm'}) { map { if ($_=~/^form\.rec\_(.*)$/) { @@ -334,7 +380,11 @@ sub handler { } elsif ($ENV{'form.critical'}) { &discrit($r); } elsif ($ENV{'form.forward'}) { - } elsif ($ENV{'form.mark'}) { + } elsif ($ENV{'form.markread'}) { + } elsif ($ENV{'form.markdel'}) { + &statuschange($ENV{'form.markdel'},'deleted'); + &disall($r); + } elsif ($ENV{'form.markunread'}) { } elsif ($ENV{'form.compose'}) { my $dispcrit=''; if (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) { @@ -353,31 +403,7 @@ $dispcrit ENDCOMP } elsif ($ENV{'form.sendmail'}) { } else { - $r->print(''. - ''); - map { - my ($sendtime,$shortsubj,$fromname,$fromdomain,$status)= - &Apache::lonmsg::unpackmsgid($_); - if ($status eq 'new') { - $r->print(''); - } elsif ($status eq 'read') { - $r->print(''); - } elsif ($status eq 'replied') { - $r->print(''); - } else { - $r->print(''); - } - $r->print(''); - } sort split(/\&/,&Apache::lonnet::reply('keys:'. - $ENV{'user.domain'}.':'. - $ENV{'user.name'}.':nohist_email', - $ENV{'user.home'})); - $r->print('
 DateUsernameDomainSubjectStatus
Open'.localtime($sendtime).''. - $fromname.''.$fromdomain.''. - &Apache::lonnet::unescape($shortsubj).''. - $status.'
'); - + &disall($r); } $r->print(''); return OK;