Diff for /loncom/interface/lonmsg.pm between versions 1.107 and 1.111

version 1.107, 2004/09/10 08:42:21 version 1.111, 2004/10/26 19:50:15
Line 117  use Apache::loncommunicate; Line 117  use Apache::loncommunicate;
   
 # Querystring component with sorting type  # Querystring component with sorting type
 my $sqs;  my $sqs;
   my $startdis;
   my $interdis;
   
 # ===================================================================== Package  # ===================================================================== Package
   
 sub packagemsg {  sub packagemsg {
     my ($subject,$message,$citation,$baseurl,$attachmenturl)=@_;      my ($subject,$message,$citation,$baseurl,$attachmenturl,
    $recuser,$recdomain)=@_;
     $message =&HTML::Entities::encode($message,'<>&"');      $message =&HTML::Entities::encode($message,'<>&"');
     $citation=&HTML::Entities::encode($citation,'<>&"');      $citation=&HTML::Entities::encode($citation,'<>&"');
     $subject =&HTML::Entities::encode($subject,'<>&"');      $subject =&HTML::Entities::encode($subject,'<>&"');
Line 156  sub packagemsg { Line 159  sub packagemsg {
    '<role>'.$ENV{'request.role'}.'</role>'.     '<role>'.$ENV{'request.role'}.'</role>'.
    '<resource>'.$ENV{'request.filename'}.'</resource>'.     '<resource>'.$ENV{'request.filename'}.'</resource>'.
            '<msgid>'.$msgid.'</msgid>'.             '<msgid>'.$msgid.'</msgid>'.
      '<recuser>'.$recuser.'</recuser>'.
      '<recdomain>'.$recdomain.'</recdomain>'.
    '<message>'.$message.'</message>';     '<message>'.$message.'</message>';
     if (defined($citation)) {      if (defined($citation)) {
  $result.='<citation>'.$citation.'</citation>';   $result.='<citation>'.$citation.'</citation>';
Line 447  sub user_normal_msg_raw { Line 452  sub user_normal_msg_raw {
     my $homeserver=&Apache::lonnet::homeserver($user,$domain);      my $homeserver=&Apache::lonnet::homeserver($user,$domain);
     if ($homeserver ne 'no_host') {      if ($homeserver ne 'no_host') {
        ($msgid,$message)=&packagemsg($subject,$message,$citation,$baseurl,         ($msgid,$message)=&packagemsg($subject,$message,$citation,$baseurl,
                                      $attachmenturl);                                       $attachmenturl,$user,$domain);
   # Store in user folder
        $status=&Apache::lonnet::critical(         $status=&Apache::lonnet::critical(
            'put:'.$domain.':'.$user.':nohist_email:'.             'put:'.$domain.':'.$user.':nohist_email:'.
            &Apache::lonnet::escape($msgid).'='.             &Apache::lonnet::escape($msgid).'='.
            &Apache::lonnet::escape($message),$homeserver);             &Apache::lonnet::escape($message),$homeserver);
   # Save new message received time
        &Apache::lonnet::put         &Apache::lonnet::put
                          ('email_status',{'recnewemail'=>time},$domain,$user);                           ('email_status',{'recnewemail'=>time},$domain,$user);
   # Into sent-mail folder
          $status.=' '.&Apache::lonnet::critical(
              'put:'.$ENV{'user.domain'}.':'.$ENV{'user.name'}.
         ':nohist_email_sent:'.
              &Apache::lonnet::escape($msgid).'='.
              &Apache::lonnet::escape($message),$ENV{'user.home'});
     } else {      } else {
        $status='no_host';         $status='no_host';
     }      }
Line 507  sub folderlist { Line 520  sub folderlist {
     my @allfolders=&Apache::lonnet::getkeys('email_folders');      my @allfolders=&Apache::lonnet::getkeys('email_folders');
     if ($allfolders[0]=~/^error:/) { @allfolders=(); }      if ($allfolders[0]=~/^error:/) { @allfolders=(); }
     return '<form method="post" action="/adm/email">'.      return '<form method="post" action="/adm/email">'.
  '<input type="submit" value="'.&mt('View Folder').'" />'.   &mt('Folder').': '.
  &Apache::loncommon::select_form($folder,'folder',   &Apache::loncommon::select_form($folder,'folder',
      ('' => &mt('INBOX'),'trash' => &mt('TRASH'),       ('' => &mt('INBOX'),'trash' => &mt('TRASH'),
       'sent' => &mt('Sent Messages'),        'sent' => &mt('Sent Messages'),
       map { $_ => $_ } @allfolders)).        map { $_ => $_ } @allfolders)).
  '<a href="/adm/email?critical=display">'.        ' '.&mt('Show').' '.
       &Apache::loncommon::select_form($interdis,'interdis',
   (' 10' => '10', ' 20' => '20', ' 50' => '50', '100' => '100', '200' => '200')).
      '<input type="submit" value="'.&mt('View Folder').'" /><br />'.
      '<input type="submit" name="firstview" value="'.&mt('First').'" />'.
      '<input type="submit" name="prevview" value="'.&mt('Previous').'" />'.
      '<input type="text" size="5" name="startdis" value="'.$startdis.'" />'.
      '<input type="submit" name="nextview" value="'.&mt('Next').'" />'.
      '<input type="submit" name="lastview" value="'.&mt('Last').'" />'.
    '<a href="/adm/email?critical=display'.$sqs.'">'.
     &mt('View Critical Messages').'</a>'.      &mt('View Critical Messages').'</a>'.
         '</form>';      '</form>';
 }  }
   
 # =============================================================== Folder suffix  # =============================================================== Folder suffix
   
 sub foldersuffix {  sub foldersuffix {
Line 564  sub movemsg { Line 587  sub movemsg {
     my %status=&Apache::lonnet::get('email_status'.$srcsuffix,[$unmsgid]);      my %status=&Apache::lonnet::get('email_status'.$srcsuffix,[$unmsgid]);
     &Apache::lonnet::put('email_status'.$trgsuffix,{$unmsgid => $status{$unmsgid}});      &Apache::lonnet::put('email_status'.$trgsuffix,{$unmsgid => $status{$unmsgid}});
 # See if was deleted -> becomes "read" in trash  # See if was deleted -> becomes "read" in trash
     my $currentstatus=(&unpackmsgid($status{$unmsgid}));      my $currentstatus=(&unpackmsgid($status{$unmsgid}),$srcfolder);
     if ($currentstatus eq 'deleted') {      if ($currentstatus eq 'deleted') {
  &statuschange($msgid,'read',$trgfolder);   &statuschange($msgid,'read',$trgfolder);
     }      }
Line 577  sub movemsg { Line 600  sub movemsg {
   
 sub discourse {  sub discourse {
     my $r=shift;      my $r=shift;
     my %courselist=&Apache::lonnet::dump(      my $classlist = &Apache::loncoursedata::get_classlist();
                    'classlist',  
    $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},  
    $ENV{'course.'.$ENV{'request.course.id'}.'.num'});  
     my $now=time;      my $now=time;
     my %lt=&Apache::lonlocal::texthash('cfa' => 'Check for All',      my %lt=&Apache::lonlocal::texthash('cfa' => 'Check for All',
             'cfs' => 'Check for Section/Group',              'cfs' => 'Check for Section/Group',
Line 622  sub discourse { Line 642  sub discourse {
 <input type="button" onClick="uncheckall()" value="$lt{'cfn'}" />  <input type="button" onClick="uncheckall()" value="$lt{'cfn'}" />
 <p>  <p>
 ENDDISHEADER  ENDDISHEADER
     my %coursepersonnel=      my %coursepersonnel=&Apache::lonnet::get_course_adv_roles();
        &Apache::lonnet::get_course_adv_roles();      $r->print('<table>');
     foreach my $role (sort keys %coursepersonnel) {      foreach my $role (sort keys %coursepersonnel) {
        foreach (split(/\,/,$coursepersonnel{$role})) {          foreach (split(/\,/,$coursepersonnel{$role})) {
    my ($puname,$pudom)=split(/\:/,$_);              my ($puname,$pudom)=split(/\:/,$_);
    $r->print(              $r->print('<tr><td><label>'.
              '<br /><input type="checkbox" name="send_to_&&&&&&_'.                        '<input type="checkbox" name="send_to_&&&&&&_'.
              $puname.':'.$pudom.'" /> '.                        $puname.':'.$pudom.'" /> '.
      &Apache::loncommon::plainname($puname,                        &Apache::loncommon::plainname($puname,$pudom).
                           $pudom).' ('.$_.'), <i>'.$role.'</i>');                        '</label></td>'.
  }                        '<td>('.$_.'),</td><td><i>'.$role.'</i></td></tr>');
           }
     }      }
       $r->print('</table><table>');
     foreach (sort keys %courselist) {      while (my ($student,$info) = each(%$classlist)) {
         my ($end,$start)=split(/\:/,$courselist{$_});          my ($sname,$sdom,$status,$fullname,$section) =
         my $active=1;              (@{$info}[&Apache::loncoursedata::CL_SNAME(),
         if (($end) && ($now>$end)) { $active=0; }                        &Apache::loncoursedata::CL_SDOM(),
         if ($active) {                        &Apache::loncoursedata::CL_STATUS(),
            my ($sname,$sdom)=split(/\:/,$_);                        &Apache::loncoursedata::CL_FULLNAME(),
            my %reply=&Apache::lonnet::get('environment',                        &Apache::loncoursedata::CL_SECTION()]);
               ['firstname','middlename','lastname','generation'],          next if ($status ne 'Active');
               $sdom,$sname);          my $key = 'send_to_&&&'.$section.'&&&'.$student;
            my $section=&Apache::lonnet::usection          if (! defined($fullname) || $fullname eq '') { $fullname = $sname; }
        ($sdom,$sname,$ENV{'request.course.id'});          $r->print('<tr><td><label>'.
            $r->print(                    qq{<input type="checkbox" name="$key">}.('&nbsp;'x2).
         '<br><input type=checkbox name="send_to_&&&'.$section.'&&&_'.$_.'"> '.                    $fullname.'</td><td>'.$sname.'@'.$sdom.'</td><td>'.$section.
       $reply{'firstname'}.' '.                     '</td></tr>');
                       $reply{'middlename'}.' '.  
                       $reply{'lastname'}.' '.  
                       $reply{'generation'}.  
                       ' ('.$_.') '.$section);  
         }   
     }      }
       $r->print('</table>');
 }  }
   
 # ==================================================== Display Critical Message  # ==================================================== Display Critical Message
Line 694  $content{'sendername'}.'@'. Line 711  $content{'sendername'}.'@'.
         $r->print($header);          $r->print($header);
     }      }
     $r->print($result);      $r->print($result);
     $r->print('<input type=hidden name="displayedcrit" value="true" /></form>');      $r->print('<input type="hidden" name="displayedcrit" value="true" /></form>');
 }  }
   
 sub sortedmessages {  sub sortedmessages {
Line 706  sub sortedmessages { Line 723  sub sortedmessages {
     foreach (@messages) {      foreach (@messages) {
  my $msgid=&Apache::lonnet::escape($_);   my $msgid=&Apache::lonnet::escape($_);
  my ($sendtime,$shortsubj,$fromname,$fromdomain,$status)=   my ($sendtime,$shortsubj,$fromname,$fromdomain,$status)=
     &Apache::lonmsg::unpackmsgid($msgid);      &Apache::lonmsg::unpackmsgid($msgid,$folder);
  my @temp1 = ($sendtime,$shortsubj,$fromname,$fromdomain,$status,   my @temp1 = ($sendtime,$shortsubj,$fromname,$fromdomain,$status,
      $msgid);       $msgid);
         # Check whether message was sent during blocking period.          # Check whether message was sent during blocking period.
Line 784  sub disall { Line 801  sub disall {
     }      }
 </script>  </script>
 ENDDISHEADER  ENDDISHEADER
       my $fsqs='&folder='.$folder;
       my @temp=sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder);
       my $totalnumber=$#temp+1;
       my $number=int($totalnumber/$interdis)+1;
       my $firstdis=$interdis*$startdis;
       if ($firstdis>$#temp) { $firstdis=$#temp-$interdis+1; }
       my $lastdis=$firstdis+$interdis-1;
       if ($lastdis>$#temp) { $lastdis=$#temp; }
     $r->print('<h2>'.&mt('Display All Messages').'</h2>'.      $r->print('<h2>'.&mt('Display All Messages').'</h2>'.
       &folderlist($folder).        &folderlist($folder).
       '<form method="post" name="disall" action="/adm/email">'.        '<form method="post" name="disall" action="/adm/email">'.
       '<table border=2><tr><th colspan="3">&nbsp</th><th>');        '<table border=2><tr><th colspan="3">&nbsp</th><th>');
     if ($ENV{'form.sortedby'} eq "revdate") {      if ($ENV{'form.sortedby'} eq "revdate") {
  $r->print('<a href = "?sortedby=date">'.&mt('Date').'</a></th>');   $r->print('<a href = "?sortedby=date'.$fsqs.'">'.&mt('Date').'</a></th>');
     } else {      } else {
  $r->print('<a href = "?sortedby=revdate">'.&mt('Date').'</a></th>');   $r->print('<a href = "?sortedby=revdate'.$fsqs.'">'.&mt('Date').'</a></th>');
     }      }
     $r->print('<th>');      $r->print('<th>');
     if ($ENV{'form.sortedby'} eq "revuser") {      if ($ENV{'form.sortedby'} eq "revuser") {
  $r->print('<a href = "?sortedby=user">'.&mt('Username').'</a>');   $r->print('<a href = "?sortedby=user'.$fsqs.'">'.&mt('Username').'</a>');
     } else {      } else {
  $r->print('<a href = "?sortedby=revuser">'.&mt('Username').'</a>');   $r->print('<a href = "?sortedby=revuser'.$fsqs.'">'.&mt('Username').'</a>');
     }      }
     $r->print('</th><th>');      $r->print('</th><th>');
     if ($ENV{'form.sortedby'} eq "revdomain") {      if ($ENV{'form.sortedby'} eq "revdomain") {
  $r->print('<a href = "?sortedby=domain">'.&mt('Domain').'</a>');   $r->print('<a href = "?sortedby=domain'.$fsqs.'">'.&mt('Domain').'</a>');
     } else {      } else {
  $r->print('<a href = "?sortedby=revdomain">'.&mt('Domain').'</a>');   $r->print('<a href = "?sortedby=revdomain'.$fsqs.'">'.&mt('Domain').'</a>');
     }      }
     $r->print('</th><th>');      $r->print('</th><th>');
     if ($ENV{'form.sortedby'} eq "revsubject") {      if ($ENV{'form.sortedby'} eq "revsubject") {
  $r->print('<a href = "?sortedby=subject">'.&mt('Subject').'</a>');   $r->print('<a href = "?sortedby=subject'.$fsqs.'">'.&mt('Subject').'</a>');
     } else {      } else {
     $r->print('<a href = "?sortedby=revsubject">'.&mt('Subject').'</a>');      $r->print('<a href = "?sortedby=revsubject'.$fsqs.'">'.&mt('Subject').'</a>');
     }      }
     $r->print('</th><th>');      $r->print('</th><th>');
     if ($ENV{'form.sortedby'} eq "revstatus") {      if ($ENV{'form.sortedby'} eq "revstatus") {
  $r->print('<a href = "?sortedby=status">'.&mt('Status').'</th>');   $r->print('<a href = "?sortedby=status'.$fsqs.'">'.&mt('Status').'</th>');
     } else {      } else {
       $r->print('<a href = "?sortedby=revstatus">'.&mt('Status').'</th>');        $r->print('<a href = "?sortedby=revstatus'.$fsqs.'">'.&mt('Status').'</th>');
     }      }
     $r->print('</tr>');      $r->print('</tr>');
     my @temp=sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder);      for (my $n=$firstdis;$n<=$lastdis;$n++) {
     foreach (@temp){   my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$origID)= @{$temp[$n]};
  my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$origID)= @$_;  
  if (($status ne 'deleted') && defined($sendtime) && $sendtime!~/error/) {   if (($status ne 'deleted') && defined($sendtime) && $sendtime!~/error/) {
     if ($status eq 'new') {      if ($status eq 'new') {
  $r->print('<tr bgcolor="#FFBB77">');   $r->print('<tr bgcolor="#FFBB77">');
Line 841  ENDDISHEADER Line 865  ENDDISHEADER
                       $status.'</td></tr>');                        $status.'</td></tr>');
  } elsif ($status eq 'deleted') {   } elsif ($status eq 'deleted') {
 # purge  # purge
     &movemsg($origID,$folder,'trash');      &movemsg(&Apache::lonnet::unescape($origID),$folder,'trash');
  }   }
     }         }   
     $r->print('</table><p>'.      $r->print('</table><p>'.
Line 872  $r->print('<p><input type="submit" name= Line 896  $r->print('<p><input type="submit" name=
 # ============================================================== Compose output  # ============================================================== Compose output
   
 sub compout {  sub compout {
     my ($r,$forwarding,$replying,$broadcast,$replycrit)=@_;      my ($r,$forwarding,$replying,$broadcast,$replycrit,$folder)=@_;
   
     if ($broadcast eq 'individual') {      if ($broadcast eq 'individual') {
  &printheader($r,'/adm/email?compose=individual',   &printheader($r,'/adm/email?compose=individual',
Line 924  sub compout { Line 948  sub compout {
     my $defdom=$ENV{'user.domain'};      my $defdom=$ENV{'user.domain'};
     if ($forwarding) {      if ($forwarding) {
  %message=&Apache::lonnet::get('nohist_email',[$forwarding]);   %message=&Apache::lonnet::get('nohist_email',[$forwarding]);
  %content=&unpackagemsg($message{$forwarding});   %content=&unpackagemsg($message{$forwarding},$folder);
  $dispcrit.='<input type="hidden" name="forwid" value="'.   $dispcrit.='<input type="hidden" name="forwid" value="'.
     $forwarding.'" />';      $forwarding.'" />';
  $func=&mt('Forward');   $func=&mt('Forward');
Line 935  sub compout { Line 959  sub compout {
     }      }
     if ($replying) {      if ($replying) {
  %message=&Apache::lonnet::get('nohist_email',[$replying]);   %message=&Apache::lonnet::get('nohist_email',[$replying]);
  %content=&unpackagemsg($message{$replying});   %content=&unpackagemsg($message{$replying},$folder);
  $dispcrit.='<input type="hidden" name="replyid" value="'.   $dispcrit.='<input type="hidden" name="replyid" value="'.
     $replying.'" />';      $replying.'" />';
  $func=&mt('Replying to');   $func=&mt('Send Reply to');
   
  $dissub=&mt('Reply').': '.$content{'subject'};          $dissub=&mt('Reply').': '.$content{'subject'};       
  $dismsg='> '.$content{'message'};   $dismsg='> '.$content{'message'};
Line 946  sub compout { Line 970  sub compout {
  $dismsg=~s/\f/\n/g;   $dismsg=~s/\f/\n/g;
  $dismsg=~s/\n+/\n\> /g;   $dismsg=~s/\n+/\n\> /g;
     }      }
       my $citation=&displayresource(%content);
     if ($ENV{'form.recdom'}) { $defdom=$ENV{'form.recdom'}; }      if ($ENV{'form.recdom'}) { $defdom=$ENV{'form.recdom'}; }
       $r->print(        $r->print(
                 '<form action="/adm/email"  name="compemail" method="post"'.                  '<form action="/adm/email"  name="compemail" method="post"'.
Line 986  $latexHelp Line 1011  $latexHelp
 </textarea></p><br />  </textarea></p><br />
 $dispcrit  $dispcrit
 <input type="submit" name="send" value="$func $lt{'ma'}" />  <input type="submit" name="send" value="$func $lt{'ma'}" />
 <input type="submit" name="cancel" value="$lt{'ca'}" />  <input type="submit" name="cancel" value="$lt{'ca'}" /><hr />
   $citation
 ENDCOMP  ENDCOMP
     } else { # $broadcast is 'upload'      } else { # $broadcast is 'upload'
  $r->print(<<ENDUPLOAD);   $r->print(<<ENDUPLOAD);
Line 1594  sub displaymessage { Line 1620  sub displaymessage {
     }      }
     $r->print('</tr></table>');      $r->print('</tr></table>');
     $r->print('<br /><b>'.&mt('Subject').':</b> '.$content{'subject'}.      $r->print('<br /><b>'.&mt('Subject').':</b> '.$content{'subject'}.
       '<br /><b>'.&mt('From').':</b> '.        ($folder ne 'sent'?'<br /><b>'.&mt('From').':</b> '.
       &Apache::loncommon::aboutmewrapper(        &Apache::loncommon::aboutmewrapper(
  &Apache::loncommon::plainname($content{'sendername'},$content{'senderdomain'}),   &Apache::loncommon::plainname($content{'sendername'},$content{'senderdomain'}),
  $content{'sendername'},$content{'senderdomain'}).' ('.   $content{'sendername'},$content{'senderdomain'}).' ('.
       $content{'sendername'}.' at '.        $content{'sendername'}.' at '.
       $content{'senderdomain'}.') '.        $content{'senderdomain'}.') ':'<br /><b>'.&mt('To').':</b> '.
         &Apache::loncommon::aboutmewrapper(
    &Apache::loncommon::plainname($content{'recuser'},$content{'recdomain'}),
    $content{'recuser'},$content{'recdomain'}).' ('.
         $content{'recuser'}.' at '.
         $content{'recdomain'}.') ').
       ($content{'courseid'}?'<br /><b>'.&mt('Course').':</b> '.$courseinfo{'description'}.        ($content{'courseid'}?'<br /><b>'.&mt('Course').':</b> '.$courseinfo{'description'}.
        ($content{'coursesec'}?' ('.&mt('Group/Section').': '.$content{'coursesec'}.')':''):'').         ($content{'coursesec'}?' ('.&mt('Group/Section').': '.$content{'coursesec'}.')':''):'').
       '<br /><b>'.&mt('Time').':</b> '.$content{'time'}.        '<br /><b>'.&mt('Time').':</b> '.$content{'time'}.
       '<p><pre>'.        '<p><pre>'.
       &Apache::lontexconvert::msgtexconverted($content{'message'},1).        &Apache::lontexconvert::msgtexconverted($content{'message'},1).
       '</pre><hr />'.$content{'citation'}.'</p>');        '</pre><hr />'.&displayresource(%content).'</p>');
     return;         return;   
 }  }
   
   # =========================================================== Show the citation
   
   sub displayresource {
       my %content=@_;
   #
   # If the recipient is in the same course that the message was sent from and
   # has sufficient privileges, show "all details," else show citation
   #
       if (($ENV{'request.course.id'} eq $content{'courseid'})
        && (&Apache::lonnet::allowed('vgr',$content{'courseid'}))) {
    my $symb=&Apache::lonnet::symbread($content{'baseurl'});
   # Could not get a symb, give up
    unless ($symb) { return $content{'citation'}; }
   # Have a symb, can render
    return '<h2>'.&mt('Current attempts of student (if applicable)').'</h2>'.
       &Apache::loncommon::get_previous_attempt($symb,
        $content{'sendername'},
        $content{'senderdomain'},
        $content{'courseid'}).
       '<hr /><h2>'.&mt('Current screen output (if applicable)').'</h2>'.
       &Apache::loncommon::get_student_view($symb,
    $content{'sendername'},
    $content{'senderdomain'},
    $content{'courseid'}).
       '<h2>'.&mt('Correct Answer(s) (if applicable)').'</h2>'.
       &Apache::loncommon::get_student_answers($symb,
       $content{'sendername'},
       $content{'senderdomain'},
       $content{'courseid'});
       } else {
    return $content{'citation'};
       }
   }
   
 # ================================================================== The Header  # ================================================================== The Header
   
 sub header {  sub header {
Line 1651  sub handler { Line 1716  sub handler {
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
         ['display','replyto','forward','markread','markdel','markunread',          ['display','replyto','forward','markread','markdel','markunread',
          'sendreply','compose','sendmail','critical','recname','recdom',           'sendreply','compose','sendmail','critical','recname','recdom',
          'recordftf','sortedby','block','folder']);           'recordftf','sortedby','block','folder','startdis','interdis']);
     $sqs='&sortedby='.$ENV{'form.sortedby'};      $sqs='&sortedby='.$ENV{'form.sortedby'}.
    '&startdis='.$ENV{'form.startdis'}.
    '&interdis='.$ENV{'form.interdis'};
   
 # ------------------------------------------------------ They checked for email  # ------------------------------------------------------ They checked for email
     unless ($ENV{'form.block'}) {      unless ($ENV{'form.block'}) {
         &Apache::lonnet::put('email_status',{'recnewemail'=>0});          &Apache::lonnet::put('email_status',{'recnewemail'=>0});
Line 1675  sub handler { Line 1743  sub handler {
  $sqs='&folder='.&Apache::lonnet::escape($folder);   $sqs='&folder='.&Apache::lonnet::escape($folder);
     }      }
   
   # --------------------------------------------------------------------- Display
   
       $startdis=$ENV{'form.startdis'};
       unless ($startdis) { $startdis=0; }
       $interdis=$ENV{'form.interdis'};
       unless ($interdis) { $interdis=20; }
   
 # --------------------------------------------------------------- Render Output  # --------------------------------------------------------------- Render Output
   
     if ($ENV{'form.display'}) {      if ($ENV{'form.display'}) {
  &displaymessage($r,$ENV{'form.display'},$folder);   &displaymessage($r,$ENV{'form.display'},$folder);
     } elsif ($ENV{'form.replyto'}) {      } elsif ($ENV{'form.replyto'}) {
  &compout($r,'',$ENV{'form.replyto'});   &compout($r,'',$ENV{'form.replyto'},undef,undef,$folder);
     } elsif ($ENV{'form.confirm'}) {      } elsif ($ENV{'form.confirm'}) {
  &printheader($r,'','Confirmed Receipt');   &printheader($r,'','Confirmed Receipt');
  foreach (keys %ENV) {   foreach (keys %ENV) {
Line 1721  sub handler { Line 1796  sub handler {
  my $total=0;   my $total=0;
  foreach (keys %ENV) {   foreach (keys %ENV) {
     if ($_=~/^form\.delmark_(.*)$/) {      if ($_=~/^form\.delmark_(.*)$/) {
  &statuschange(&Apache::lonnet::unescape($1),'deleted');   &statuschange(&Apache::lonnet::unescape($1),'deleted',$folder);
  $total++;   $total++;
     }      }
  }   }

Removed from v.1.107  
changed lines
  Added in v.1.111


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>