--- loncom/interface/lonmsg.pm 2004/11/17 21:05:26 1.120 +++ loncom/interface/lonmsg.pm 2004/12/15 01:17:09 1.124 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines for messaging # -# $Id: lonmsg.pm,v 1.120 2004/11/17 21:05:26 www Exp $ +# $Id: lonmsg.pm,v 1.124 2004/12/15 01:17:09 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -537,7 +537,9 @@ sub folderlist { sub scrollbuttons { my ($start,$maxdis,$first,$finish,$total)=@_; + unless ($total>0) { return ''; } $start++; $maxdis++;$first++;$finish++; + return ''. ''. ' of '.$maxdis. @@ -697,7 +699,6 @@ sub discrit { foreach (sort keys %what) { my %content=&unpackagemsg($what{$_}); next if ($content{'senderdomain'} eq ''); - $content{'message'}=~s/\n/\/g; $result.='
'.&mt('From').': '. &Apache::loncommon::aboutmewrapper( &Apache::loncommon::plainname($content{'sendername'},$content{'senderdomain'}),$content{'sendername'},$content{'senderdomain'}).' ('. @@ -913,6 +914,10 @@ ENDDISHEADER my $fsqs='&folder='.$folder; my @temp=sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder); my $totalnumber=$#temp+1; + unless ($totalnumber>0) { + $r->print('

'.&mt('Empty Folder').'

'); + return; + } my $number=int($totalnumber/$interdis); if (($startdis<0) || ($startdis>$number)) { $startdis=$number; } my $firstdis=$interdis*$startdis; @@ -1006,6 +1011,7 @@ ENDDISHEADER sub compout { my ($r,$forwarding,$replying,$broadcast,$replycrit,$folder)=@_; + my $suffix=&foldersuffix($folder); if ($broadcast eq 'individual') { &printheader($r,'/adm/email?compose=individual', @@ -1057,7 +1063,7 @@ sub compout { my %content; my $defdom=$ENV{'user.domain'}; if ($forwarding) { - %message=&Apache::lonnet::get('nohist_email',[$forwarding]); + %message=&Apache::lonnet::get('nohist_email'.$suffix,[$forwarding]); %content=&unpackagemsg($message{$forwarding},$folder); $dispcrit.=''; @@ -1071,7 +1077,7 @@ sub compout { } } if ($replying) { - %message=&Apache::lonnet::get('nohist_email',[$replying]); + %message=&Apache::lonnet::get('nohist_email'.$suffix,[$replying]); %content=&unpackagemsg($message{$replying},$folder); $dispcrit.=''; @@ -1911,7 +1917,13 @@ sub sendoffmail { foreach (keys %toaddr) { my ($recuname,$recdomain)=split(/\:/,$_); - my $msgtxt=&Apache::lonfeedback::clear_out_html($ENV{'form.message'}); + my $msgtxt; + if ((($ENV{'form.critmsg'}) || ($ENV{'form.sendbck'})) && + (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'}))) { + $msgtxt=&Apache::lonfeedback::clear_out_html($ENV{'form.message'},1); + } else { + $msgtxt=&Apache::lonfeedback::clear_out_html($ENV{'form.message'}); + } if ($toaddr{$_}) { $msgtxt.='
'.$toaddr{$_}; } my $thismsg; if ((($ENV{'form.critmsg'}) || ($ENV{'form.sendbck'})) && @@ -2046,7 +2058,7 @@ sub handler { &printheader($r,'','Displaying Critical Messages'); &discrit($r); } elsif ($ENV{'form.forward'}) { - &compout($r,$ENV{'form.forward'},undef,undef,$folder); + &compout($r,$ENV{'form.forward'},undef,undef,undef,$folder); } elsif ($ENV{'form.markdel'}) { &printheader($r,'','Deleted Message'); &statuschange($ENV{'form.markdel'},'deleted',$folder);