@@ -240,12 +243,9 @@ function folder_choice(targetform,caller
'.$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.');
}
@@ -774,7 +774,6 @@ sub sortedmessages {
my ($blocked,$startblock,$endblock,$numblocked,$folder,$msgstatus) = @_;
my $suffix=&Apache::lonmsg::foldersuffix($folder);
my @messages = &Apache::lonnet::getkeys('nohist_email'.$suffix);
-
#unpack the varibles and repack into temp for sorting
my @temp;
my %descriptions;
@@ -789,7 +788,7 @@ sub sortedmessages {
foreach my $msgid (@messages) {
my $esc_msgid=&escape($msgid);
- my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid)=
+ my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid,$processid,$symb,$error) =
&Apache::lonmsg::unpackmsgid($esc_msgid,$folder,undef,
\%status_cache);
next if ($msgstatus ne '' && $msgstatus ne $status);
@@ -892,6 +891,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);
@@ -974,14 +984,10 @@ ENDDISHEADER
}
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; }
@@ -1066,7 +1072,7 @@ ENDDISHEADER
' value="'.$origID.'" /> | ');
foreach my $item ($localsenttime,$dis_name,$dis_domain,$shortsubj) {
$r->print(''.(($status eq 'new')?'':'').
- ''.
+ ''.
$item.(($status eq 'new')?'':'').' | ');
}
my $showstatus;
@@ -1943,7 +1949,9 @@ sub displaymessage {
&build_block_table($r,$startblock,$endblock,\%setters);
return;
}
- &statuschange($msgid,'read',$folder);
+ if ($msgstatus eq '') {
+ &statuschange($msgid,'read',$folder);
+ }
my %message=&Apache::lonnet::get('nohist_email'.$suffix,[$msgid]);
my %content=&Apache::lonmsg::unpackagemsg($message{$msgid});
@@ -1982,9 +1990,14 @@ sub displaymessage {
'">'.&mt('Next').'');
}
$r->print('
');
+ my $symb;
+ if (defined($content{'symb'})) {
+ $symb = $content{'symb'};
+ } elsif (defined($content{'baseurl'})) {
+ $symb=&Apache::lonnet::symbread($content{'baseurl'});
+ }
if ($env{'user.adv'}) {
$r->print('