Diff for /loncom/interface/lonmsgdisplay.pm between versions 1.56 and 1.61

version 1.56, 2006/12/23 06:19:10 version 1.61, 2007/01/04 02:02:36
Line 132  use LONCAPA; Line 132  use LONCAPA;
 # Querystring component with sorting type  # Querystring component with sorting type
 my $sqs;  my $sqs;
 my $startdis;  my $startdis;
 my $interdis;  
   
 # ============================================================ List all folders  # ============================================================ List all folders
   
Line 230  function folder_choice(targetform,caller Line 229  function folder_choice(targetform,caller
     }      }
 }  }
 </script>|;  </script>|;
       my %show = ('select_form_order' => [10,20,50,100,200],
    map {$_=>$_} (10,20,50,100,200));
   
      
     $output .= '      $output .= '
 <form method="post" action="/adm/email" name="folderlist">  <form method="post" action="/adm/email" name="folderlist">
 <table border="0" cellspacing="2" cellpadding="2">  <table border="0" cellspacing="2" cellpadding="2">
Line 240  function folder_choice(targetform,caller Line 243  function folder_choice(targetform,caller
      <td align="center"><b>'.$lt{'fold'}.'</b><br />'."\n".       <td align="center"><b>'.$lt{'fold'}.'</b><br />'."\n".
          &Apache::loncommon::select_form($folder,'folder',%formhash).'           &Apache::loncommon::select_form($folder,'folder',%formhash).'
      </td>       </td>
      <td align="center"><b>'.$lt{'show'}.'</b><br />       <td align="center"><b>'.$lt{'show'}.'</b><br />'."\n".
       <select name="interdis">'.           &Apache::loncommon::select_form($env{'form.interdis'},'interdis',
           join("\n",map { '<option value="'.$_.'"'.   %show).'
       ($_==$interdis?' selected="selected"':'').'>'.$_.'</option>'   
  }  
        (10,20,50,100,200)).'</select>  
      </td>       </td>
      <td align="center"><b>'.$lt{'status'}.'</b><br />'."\n".       <td align="center"><b>'.$lt{'status'}.'</b><br />'."\n".
        &Apache::loncommon::select_form($msgstatus,'msgstatus',%statushash).'         &Apache::loncommon::select_form($msgstatus,'msgstatus',%statushash).'
Line 774  sub sortedmessages { Line 774  sub sortedmessages {
     my ($blocked,$startblock,$endblock,$numblocked,$folder,$msgstatus) = @_;      my ($blocked,$startblock,$endblock,$numblocked,$folder,$msgstatus) = @_;
     my $suffix=&Apache::lonmsg::foldersuffix($folder);      my $suffix=&Apache::lonmsg::foldersuffix($folder);
     my @messages = &Apache::lonnet::getkeys('nohist_email'.$suffix);      my @messages = &Apache::lonnet::getkeys('nohist_email'.$suffix);
   
     #unpack the varibles and repack into temp for sorting      #unpack the varibles and repack into temp for sorting
     my @temp;      my @temp;
     my %descriptions;      my %descriptions;
Line 789  sub sortedmessages { Line 788  sub sortedmessages {
   
     foreach my $msgid (@messages) {      foreach my $msgid (@messages) {
  my $esc_msgid=&escape($msgid);   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,      &Apache::lonmsg::unpackmsgid($esc_msgid,$folder,undef,
  \%status_cache);   \%status_cache);
         next if ($msgstatus ne '' && $msgstatus ne $status);          next if ($msgstatus ne '' && $msgstatus ne $status);
Line 892  sub get_course_desc { Line 891  sub get_course_desc {
   
 sub disall {  sub disall {
     my ($r,$folder,$msgstatus)=@_;      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));      $r->print(&folderlist($folder,$msgstatus));
     if ($folder eq 'critical') {      if ($folder eq 'critical') {
  &discrit($r);   &discrit($r);
Line 974  ENDDISHEADER Line 984  ENDDISHEADER
         }          }
  return;   return;
     }      }
     unless ($interdis) {      my $interdis = $env{'form.interdis'};
  $interdis=20;  
     }  
     my $number=int($totalnumber/$interdis);      my $number=int($totalnumber/$interdis);
     if ($interdis) {      if ($totalnumber%$interdis == 0) {
         if ($totalnumber%$interdis == 0) {   $number--; 
             $number--;   
         }  
     }      }
   
     if (($startdis<0) || ($startdis>$number)) { $startdis=$number; }      if (($startdis<0) || ($startdis>$number)) { $startdis=$number; }
Line 1943  sub displaymessage { Line 1949  sub displaymessage {
         &build_block_table($r,$startblock,$endblock,\%setters);          &build_block_table($r,$startblock,$endblock,\%setters);
         return;          return;
     }      }
     &statuschange($msgid,'read',$folder);      if ($msgstatus eq '') {
           &statuschange($msgid,'read',$folder);
       }
     my %message=&Apache::lonnet::get('nohist_email'.$suffix,[$msgid]);      my %message=&Apache::lonnet::get('nohist_email'.$suffix,[$msgid]);
     my %content=&Apache::lonmsg::unpackagemsg($message{$msgid});      my %content=&Apache::lonmsg::unpackagemsg($message{$msgid});
   
Line 1982  sub displaymessage { Line 1990  sub displaymessage {
   '"><b>'.&mt('Next').'</b></a></td>');    '"><b>'.&mt('Next').'</b></a></td>');
     }      }
     $r->print('</tr></table>');      $r->print('</tr></table>');
       my $symb;
       if (defined($content{'symb'})) {
           $symb = $content{'symb'};
       } elsif (defined($content{'baseurl'})) {
           $symb=&Apache::lonnet::symbread($content{'baseurl'});
       }
     if ($env{'user.adv'}) {      if ($env{'user.adv'}) {
  $r->print('<table border="2" width="100%"><tr bgcolor="#FFAAAA"><td>'.&mt('Currently available actions (will open extra window)').':</td>');   $r->print('<table border="2" width="100%"><tr bgcolor="#FFAAAA"><td>'.&mt('Currently available actions (will open extra window)').':</td>');
  my $symb=&Apache::lonnet::symbread($content{'baseurl'});        
  if (&Apache::lonnet::allowed('vgr',$env{'request.course.id'})) {   if (&Apache::lonnet::allowed('vgr',$env{'request.course.id'})) {
  $r->print('<td><b>'.&Apache::loncommon::track_student_link(&mt('View recent activity'),$content{'sendername'},$content{'senderdomain'},'check').'</b></td>');   $r->print('<td><b>'.&Apache::loncommon::track_student_link(&mt('View recent activity'),$content{'sendername'},$content{'senderdomain'},'check').'</b></td>');
     }      }
Line 2006  sub displaymessage { Line 2019  sub displaymessage {
        ' ('.$content{'recuser'}[$i].' at '.$content{'recdomain'}[$i].') ';         ' ('.$content{'recuser'}[$i].' at '.$content{'recdomain'}[$i].') ';
     }      }
     $tolist = join(', ',@recipients);      $tolist = join(', ',@recipients);
       my ($restitle,$baseurl,$refers_to);
       if (defined($content{'resource_title'})) {
           $restitle = $content{'resource_title'};
       } else {
           if (defined($content{'baseurl'})) {
               $restitle = &Apache::lonnet::gettitle($content{'baseurl'});
           }
       }
       if (defined($content{'baseurl'})) {
           $baseurl = &Apache::lonenc::check_encrypt($content{'baseurl'});
       }
     $r->print('<br /><b>'.&mt('Subject').':</b> '.$content{'subject'}.      $r->print('<br /><b>'.&mt('Subject').':</b> '.$content{'subject'}.
       ($folder ne 'sent'?'<br /><b>'.&mt('From').':</b> '.        ($folder ne 'sent'?'<br /><b>'.&mt('From').':</b> '.
       &Apache::loncommon::aboutmewrapper(        &Apache::loncommon::aboutmewrapper(
Line 2016  sub displaymessage { Line 2040  sub displaymessage {
               $tolist).                $tolist).
       ($content{'courseid'}?'<br /><b>'.&mt($crstype).':</b> '.$courseinfo{'description'}.        ($content{'courseid'}?'<br /><b>'.&mt($crstype).':</b> '.$courseinfo{'description'}.
        ($content{'coursesec'}?' ('.&mt('Section').': '.$content{'coursesec'}.')':''):'').         ($content{'coursesec'}?' ('.&mt('Section').': '.$content{'coursesec'}.')':''):'').
       '<br /><b>'.&mt('Time').':</b> '.$content{'time'}.        '<br /><b>'.&mt('Time').':</b> '.$content{'time'});
       ($content{'baseurl'}?'<br /><b>'.&mt('Refers to').':</b> <a href="'.$content{'baseurl'}.'">'.      if ($baseurl) {
        $content{'baseurl'}.' ('.&Apache::lonnet::gettitle($content{'baseurl'}).')</a>':'').          if (defined($content{'courseid'}) && defined($env{'request.course.id'})) {
       '<p><pre>'.              if ($content{'courseid'} eq $env{'request.course.id'}) {
                   my $symblink;
                   if ($symb) {
                       &Apache::lonenc::check_decrypt(\$symb);
                       $symblink = '?symb='.$symb;
                   }
                   &Apache::lonenc::check_decrypt(\$baseurl);
                   $r->print('<br /><b>'.&mt('Refers to').':</b> <a href="'.$baseurl.$symblink.'">'.$restitle.'</a>');
                   $refers_to = 1;
               }
           }
           if (!$refers_to) {
               if ($baseurl =~ m-^/enc/-) {
                   if (defined($content{'courseid'})) {
                       my $unencurl = 
                          &Apache::lonenc::unencrypted($baseurl,
                                                       $content{'courseid'}); 
                       if (defined($unencurl)) {
                           if (&Apache::lonnet::allowed('bre',$unencurl)) {
                               $r->print('<br /><b>'.&mt('Refers to').
                                         ':</b> <a href="'.$unencurl.'">'.$restitle.'</a>');
                           }
                       }
                   }
               } else {
                   if (&Apache::lonnet::allowed('bre',$baseurl)) {
                       $r->print('<br /><b>'.&mt('Refers to').
                                 ':</b> <a href="'.$baseurl.
                                 '">'.$restitle.'</a>');
                   }
               }
           }
       }
       $r->print('<p><pre>'.
       &Apache::lontexconvert::msgtexconverted($content{'message'},1).        &Apache::lontexconvert::msgtexconverted($content{'message'},1).
       '</pre><hr />'.&displayresource(%content).'</p>');        '</pre><hr />'.&displayresource(%content).'</p>');
     return;         return;
 }  }
   
 # =========================================================== Show the citation  # =========================================================== Show the citation
Line 2035  sub displayresource { Line 2092  sub displayresource {
 #  #
     if (($env{'request.course.id'} eq $content{'courseid'})      if (($env{'request.course.id'} eq $content{'courseid'})
      && (&Apache::lonnet::allowed('vgr',$content{'courseid'}))) {       && (&Apache::lonnet::allowed('vgr',$content{'courseid'}))) {
  my $symb=&Apache::lonnet::symbread($content{'baseurl'});          my $symb;
           if (defined($content{'symb'})) {
               $symb = $content{'symb'};
           } else { 
       $symb=&Apache::lonnet::symbread($content{'baseurl'});
           }
 # Could not get a symb, give up  # Could not get a symb, give up
  unless ($symb) { return $content{'citation'}; }   unless ($symb) { return $content{'citation'}; }
 # Have a symb, can render  # Have a symb, can render
Line 2227  sub sendoffmail { Line 2289  sub sendoffmail {
             my $msgtxt = $savemsg;              my $msgtxt = $savemsg;
     if ($toaddr{$address}) { $msgtxt.='<hr />'.$toaddr{$address}; }      if ($toaddr{$address}) { $msgtxt.='<hr />'.$toaddr{$address}; }
     my @thismsg;      my @thismsg;
     if ((($env{'form.critmsg'}) || ($env{'form.sendbck'})) &&       if ($msgtype eq 'critical') {
  (&Apache::lonnet::allowed('srm',$env{'request.course.id'})   $r->print(&mt('Sending critical message').' '.
  || &Apache::lonnet::allowed('srm',$env{'request.course.id'}.                                $recuname.':'.$recdomain.': ');
      '/'.$env{'request.course.sec'}))) {  
  $r->print(&mt('Sending critical message').' '.$recuname.':'.$recdomain.': ');  
  @thismsg=   @thismsg=
     &Apache::lonmsg::user_crit_msg($recuname,$recdomain,      &Apache::lonmsg::user_crit_msg($recuname,$recdomain,
    $msgsubj,$msgtxt,     $msgsubj,$msgtxt,
Line 2253  sub sendoffmail { Line 2313  sub sendoffmail {
         $specialmsg_status{$recuname.':'.$recdomain} =          $specialmsg_status{$recuname.':'.$recdomain} =
     join(' ',@thismsg);      join(' ',@thismsg);
  foreach my $result (@thismsg) {   foreach my $result (@thismsg) {
     if ($result eq 'ok') {      if ($result eq 'ok' || $result eq 'con_delayed') {
  $numspecial++;   $numspecial++;
     }      }
  }   }
Line 2399  sub handler { Line 2459  sub handler {
     }      }
     unless ($startdis) { $startdis=0; }      unless ($startdis) { $startdis=0; }
   
     $interdis=$env{'form.interdis'};  
     unless ($interdis) { $interdis=20; }  
     $sqs.='&interdis='.$interdis;  
   
     if ($env{'form.firstview'}) {      if ($env{'form.firstview'}) {
  $startdis=0;   $startdis=0;
     }      }

Removed from v.1.56  
changed lines
  Added in v.1.61


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