--- loncom/interface/lonmsgdisplay.pm 2006/04/08 06:53:37 1.1 +++ loncom/interface/lonmsgdisplay.pm 2006/04/23 03:00:34 1.6 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines for messaging display # -# $Id: lonmsgdisplay.pm,v 1.1 2006/04/08 06:53:37 albertel Exp $ +# $Id: lonmsgdisplay.pm,v 1.6 2006/04/23 03:00:34 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -116,7 +116,6 @@ recipients of the message/e-mail. use strict; use Apache::lonnet; -use vars qw($msgcount); use HTML::TokeParser(); use Apache::Constants qw(:common); use Apache::loncommon(); @@ -173,7 +172,7 @@ sub scrollbuttons { sub statuschange { my ($msgid,$newstatus,$folder)=@_; - my $suffix=&foldersuffix($folder); + my $suffix=&Apache::lonmsg::foldersuffix($folder); my %status=&Apache::lonnet::get('email_status'.$suffix,[$msgid]); if ($status{$msgid}=~/^error\:/) { $status{$msgid}=''; } unless ($status{$msgid}) { $status{$msgid}='new'; } @@ -205,8 +204,8 @@ sub makefolder { sub movemsg { my ($msgid,$srcfolder,$trgfolder)=@_; if ($srcfolder eq 'new') { $srcfolder=''; } - my $srcsuffix=&foldersuffix($srcfolder); - my $trgsuffix=&foldersuffix($trgfolder); + my $srcsuffix=&Apache::lonmsg::foldersuffix($srcfolder); + my $trgsuffix=&Apache::lonmsg::foldersuffix($trgfolder); # Copy message my %message=&Apache::lonnet::get('nohist_email'.$srcsuffix,[$msgid]); @@ -314,7 +313,7 @@ ENDDISHEADER sub discrit { my $r=shift; - my $header = '

'.&mt('Critical Messages').'

'. + my $header = '

'.&mt('Critical Messages').'

'. '
'. ''; my %what=&Apache::lonnet::dump('critical'); @@ -491,13 +490,12 @@ sub disnew { if ($#newmsgs >= 0) { $r->print(<$lt{'nm'} - +
 
TABLEHEAD foreach my $msg (@newmsgs) { $r->print(<<"ENDLINK"); - + ENDLINK foreach ('sendtime','from','fromdom','shortsub','course') { @@ -589,7 +587,7 @@ ENDDISHEADER if ($lastdis>$#temp) { $lastdis=$#temp; } $r->print(&scrollbuttons($startdis,$number,$firstdis,$lastdis,$totalnumber)); $r->print(''. - '
  $lt{'da'}$lt{'us'}$lt{'do'}$lt{'su'}$lt{'co'}
$lt{'op'}
 '); + ''); } else { @@ -626,24 +624,35 @@ ENDDISHEADER $r->print(''.&mt('Status').''); } $r->print("\n"); + + my $suffix = &Apache::lonmsg::foldersuffix($folder); for (my $n=$firstdis;$n<=$lastdis;$n++) { my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$origID,$description)= @{$temp[$n]}; if (($status ne 'deleted') && defined($sendtime) && $sendtime!~/error/) { if ($status eq 'new') { - $r->print(''); + $r->print(''); } elsif ($status eq 'read') { - $r->print(''); + $r->print(''); } elsif ($status eq 'replied') { - $r->print(''); + $r->print(''); } else { - $r->print(''); + $r->print(''); + } + my ($dis_name,$dis_domain) = ($fromname,$fromdomain); + if ($folder eq 'sent') { + my $msg_id = &Apache::lonnet::unescape($origID); + my %message=&Apache::lonnet::get('nohist_email'.$suffix, + [$msg_id]); + my %content=&Apache::lonmsg::unpackagemsg($message{$msg_id}); + $dis_name = join('
',@{$content{'recuser'}}); + $dis_domain = join('
',@{$content{'recdomain'}}); } $r->print(''. ''."\n"); } elsif ($status eq 'deleted') { @@ -1769,17 +1778,15 @@ sub sendoffmail { &printheader($r,'','No messages sent.'); } if ($sendstatus=~/^(\s*(?:ok|con_delayed)\s*)*$/) { - $r->print('
'.&mt('Completed.').''); + $r->print('
'.&mt('Completed.').''); if ($env{'form.displayedcrit'}) { &discrit($r); } else { &Apache::loncommunicate::menu($r); } } else { - $r->print( - '

'.&mt('Could not deliver message').'

'. - &mt('Please use the browser "Back" button and correct the recipient addresses') - ); + $r->print('

'.&mt('Could not deliver message').' '. + &mt('Please use the browser "Back" button and correct the recipient addresses').'

'); } } @@ -1955,10 +1962,6 @@ sub handler { } # ================================================= Main program, reset counter -BEGIN { - $msgcount=0; -} - =pod =back
 '); if ($env{'form.sortedby'} eq "revdate") { $r->print(''.&mt('Date').'
'.&mt('Open').''. ($folder ne 'trash'?''.&mt('Delete'):' ').''.&Apache::lonlocal::locallocaltime($sendtime).''. - $fromname.''.$fromdomain.''. + $dis_name.''.$dis_domain.''. &Apache::lonnet::unescape($shortsubj).''. $description.''.$status.'