--- loncom/interface/lonmsg.pm 2004/11/12 16:22:48 1.115 +++ loncom/interface/lonmsg.pm 2004/11/15 21:37:44 1.119 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines for messaging # -# $Id: lonmsg.pm,v 1.115 2004/11/12 16:22:48 www Exp $ +# $Id: lonmsg.pm,v 1.119 2004/11/15 21:37:44 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -531,13 +531,19 @@ sub folderlist { &Apache::loncommon::select_form($interdis,'interdis', (' 10' => '10', ' 20' => '20', ' 50' => '50', '100' => '100', '200' => '200')). '
'. - ($folder!~/^(new|critical)/? + ''. + ($folder=~/^(new|critical)/?'':''); +} + +sub scrollbuttons { + my ($start,$maxdis,$first,$finish,$total)=@_; + $start++; $maxdis++;$first++;$finish++; ''. ''. - ''. + ' of '.$maxdis. ''. - '':''). - ''; + '
'. + &mt('Messages [_1] through [_2] of [_3]',$first,$finish,$total).''; } # =============================================================== Folder suffix @@ -907,11 +913,13 @@ ENDDISHEADER my $fsqs='&folder='.$folder; my @temp=sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder); my $totalnumber=$#temp+1; - my $number=int($totalnumber/$interdis)+1; + my $number=int($totalnumber/$interdis); + if (($startdis<0) || ($startdis>$number)) { $startdis=$number; } my $firstdis=$interdis*$startdis; if ($firstdis>$#temp) { $firstdis=$#temp-$interdis+1; } my $lastdis=$firstdis+$interdis-1; if ($lastdis>$#temp) { $lastdis=$#temp; } + $r->print(&scrollbuttons($startdis,$number,$firstdis,$lastdis,$totalnumber)); $r->print('
'. '
 '); if ($ENV{'form.sortedby'} eq "revdate") { @@ -977,7 +985,7 @@ ENDDISHEADER $r->print( '

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

'); + $r->print('

'); my @allfolders=&Apache::lonnet::getkeys('email_folders'); if ($allfolders[0]=~/^error:/) { @allfolders=(); } $r->print( @@ -1956,9 +1964,23 @@ sub handler { # --------------------------------------------------------------------- Display $startdis=$ENV{'form.startdis'}; + $startdis--; unless ($startdis) { $startdis=0; } $interdis=$ENV{'form.interdis'}; unless ($interdis) { $interdis=20; } + if ($ENV{'form.firstview'}) { + $startdis=0; + } + if ($ENV{'form.lastview'}) { + $startdis=-1; + } + if ($ENV{'form.prevview'}) { + $startdis--; + } + if ($ENV{'form.nextview'}) { + $startdis++; + } + # --------------------------------------------------------------- Render Output @@ -2024,7 +2046,7 @@ sub handler { } elsif ($ENV{'form.block'}) { &examblock($r,$ENV{'form.block'}); } elsif ($ENV{'form.sendmail'}) { - &sendoffmessage($r); + &sendoffmail($r); } elsif ($ENV{'form.newfolder'}) { &printheader($r,'','New Folder'); &makefolder($ENV{'form.newfolder'});