--- loncom/interface/lonmsgdisplay.pm 2006/12/18 00:16:27 1.53 +++ 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.53 2006/12/18 00:16:27 raeburn 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 @@ -178,7 +177,7 @@ sub folderlist { my %userfolders; foreach my $key (keys(%gotfolders)) { - $key =~ s/(['"])/\$1/g; + $key =~ s/(['"])/\$1/g; #' stupid emacs $userfolders{$key} = $key; } my @userorder = sort(keys(%userfolders)); @@ -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; @@ -1108,16 +1114,17 @@ ENDDISHEADER $r->print(' '."\n"); } $r->print(' '."\n"); + + my %gotfolders = &Apache::lonmsg::get_user_folders(); if (keys(%gotfolders) > 0) { $r->print(' '); } $r->print("\n".''."\n"); - foreach my $key (keys(%gotfolders)) { - $userfolders{$key} = $key; - } + if (keys(%gotfolders) > 0) { $r->print('
'.$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).' @@ -381,18 +381,18 @@ sub deletefolder { my ($folder)=@_; my %permfolders = &get_permanent_folders(); if (defined($permfolders{$folder})) { - return &mt('The folder [_1] may not be deleted',$folder); + return &mt('The folder "[_1]" may not be deleted',$folder); } my %userfolders = &Apache::lonmsg::get_user_folders(); if (!defined($userfolders{$folder})) { - return &mt('The folder [_1] does not exist so deletion is not required.', + return &mt('The folder "[_1]" does not exist so deletion is not required.', $folder); } # check folder is empty; my $suffix=&Apache::lonmsg::foldersuffix($folder); my @messages = &Apache::lonnet::getkeys('nohist_email'.$suffix); if (@messages > 0) { - return &mt('The folder [_1] contains messages so it may not be deleted.'). + 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.'); } @@ -892,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); @@ -960,8 +971,7 @@ sub disfolder { ENDDISHEADER - my %gotfolders = &Apache::lonmsg::get_user_folders(); - my %userfolders; + my $fsqs='&folder='.$folder; my @temp=&sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder,$msgstatus); my $totalnumber=$#temp+1; @@ -971,18 +981,14 @@ ENDDISHEADER } elsif ($msgstatus eq 'replied') { $r->print('

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

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

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

'); + $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; } @@ -1067,7 +1073,7 @@ ENDDISHEADER ' value="'.$origID.'" />
'.(($status eq 'new')?'':''). - ''. + ''. $item.(($status eq 'new')?'':'').''.&mt('Destination folder').'
'); + my %userfolders; foreach my $key (keys(%gotfolders)) { $userfolders{$key} = $key; } @@ -2399,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; }