--- loncom/interface/lonmsgdisplay.pm 2006/12/23 06:22:36 1.56.2.1 +++ loncom/interface/lonmsgdisplay.pm 2006/12/23 18:27:28 1.58 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines for messaging display # -# $Id: lonmsgdisplay.pm,v 1.56.2.1 2006/12/23 06:22:36 albertel Exp $ +# $Id: lonmsgdisplay.pm,v 1.58 2006/12/23 18:27:28 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -132,7 +132,6 @@ use LONCAPA; # Querystring component with sorting type my $sqs; my $startdis; -my $interdis; # ============================================================ List all folders @@ -230,6 +229,10 @@ function folder_choice(targetform,caller } } |; + my %show = ('select_form_order' => [10,20,50,100,200], + map {$_=>$_} (10,20,50,100,200)); + + $output .= '
@@ -240,12 +243,9 @@ function folder_choice(targetform,caller - '); foreach my $item ($localsenttime,$dis_name,$dis_domain,$shortsubj) { $r->print(''); } my $showstatus; @@ -2391,10 +2406,6 @@ sub handler { } unless ($startdis) { $startdis=0; } - $interdis=$env{'form.interdis'}; - unless ($interdis) { $interdis=20; } - $sqs.='&interdis='.$interdis; - if ($env{'form.firstview'}) { $startdis=0; }
'.$lt{'fold'}.'
'."\n". &Apache::loncommon::select_form($folder,'folder',%formhash).'
'.$lt{'show'}.'
- +
'.$lt{'show'}.'
'."\n". + &Apache::loncommon::select_form($env{'form.interdis'},'interdis', + %show).'
'.$lt{'status'}.'
'."\n". &Apache::loncommon::select_form($msgstatus,'msgstatus',%statushash).' @@ -301,16 +301,20 @@ sub scrollbuttons { $start++; $maxdis++;$first++;$finish++; my %statushash = &get_msgstatus_types(); - + my $status; + if ($msgstatus eq '') { + $status = &mt('All'); + } else { + $status = $statushash{$msgstatus}; + } return - ''.&mt('Page').': '. - ''. - ''. - ' of '.$maxdis. - ''. - '
'. - &mt('_location_in_mail_folder',$msgstatus,$statushash{$msgstatus}, - $first,$finish,$total).''; + ''.&mt('Page').': '. + ''. + ''. + ' of '.$maxdis. + ''. + '
'. + &mt('[_1] messages: showing messages [_2] through [_3] of [_4].',$status,$first,$finish,$total).''; } # =============================================================== Status Change @@ -389,8 +393,8 @@ sub deletefolder { my @messages = &Apache::lonnet::getkeys('nohist_email'.$suffix); if (@messages > 0) { return &mt('The folder "[_1]" contains messages so it may not be deleted.',$folder). - '
'. - &mt('Delete or move the messages to a different folder first.'); + '
'. + &mt('Delete or move the messages to a different folder first.'); } my $delresult = &Apache::lonnet::del('email_folders',[$folder]); return $delresult; @@ -888,6 +892,17 @@ sub get_course_desc { sub disall { my ($r,$folder,$msgstatus)=@_; + my %saveable = ('folder' => 'scalar', + 'msgstatus' => 'scalar', + 'sortedby' => 'scalar', + 'interdis' => 'scalar', + ); + &Apache::loncommon::store_settings('user','mail',\%saveable); + &Apache::loncommon::restore_settings('user','mail',\%saveable); + $folder ||= $env{'form.folder'}; + $msgstatus ||= $env{'form.msgstatus'}; + $env{'form.interdis'} ||= 20; + $r->print(&folderlist($folder,$msgstatus)); if ($folder eq 'critical') { &discrit($r); @@ -961,19 +976,19 @@ ENDDISHEADER my @temp=&sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder,$msgstatus); my $totalnumber=$#temp+1; if ($totalnumber < 1) { - $r->print('

'.&mt('_empty_mail_folder', - $msgstatus, - $statushash{$msgstatus}).'

'); + if ($msgstatus eq '') { + $r->print('

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

'); + } elsif ($msgstatus eq 'replied') { + $r->print('

'.&mt('You have not replied to any messages in this folder.').'

'); + } else { + $r->print('

'.&mt('There are no '.lc($statushash{$msgstatus}).' messages in this folder.').'

'); + } return; } - unless ($interdis) { - $interdis=20; - } + my $interdis = $env{'form.interdis'}; my $number=int($totalnumber/$interdis); - if ($interdis) { - if ($totalnumber%$interdis == 0) { - $number--; - } + if ($totalnumber%$interdis == 0) { + $number--; } if (($startdis<0) || ($startdis>$number)) { $startdis=$number; } @@ -1058,7 +1073,7 @@ ENDDISHEADER ' value="'.$origID.'" />
'.(($status eq 'new')?'':''). - ''. + ''. $item.(($status eq 'new')?'':'').'