Diff for /loncom/interface/lonmsgdisplay.pm between versions 1.110 and 1.124.4.2

version 1.110, 2009/01/15 17:21:25 version 1.124.4.2, 2009/08/20 04:15:39
Line 136  sub folderlist { Line 136  sub folderlist {
   
     );      );
   
    # set se lastvisit for the new mail check in the toplevel menu
    &Apache::lonnet::appenv({'user.mailcheck.lastvisit'=>time});
   
     my %actions = &Apache::lonlocal::texthash(      my %actions = &Apache::lonlocal::texthash(
                                 view => 'View Folder',                                  view => 'View Folder',
                                 rename => 'Rename Folder',                                  rename => 'Rename Folder',
Line 170  sub folderlist { Line 173  sub folderlist {
   
     $formhash{'select_form_order'} = ['','critical',@userorder,'sent','trash'];      $formhash{'select_form_order'} = ['','critical',@userorder,'sent','trash'];
     my $output = qq|<script type="text/javascript">      my $output = qq|<script type="text/javascript">
   // <![CDATA[
 function folder_choice(targetform,caller) {  function folder_choice(targetform,caller) {
     var permfolders_keys = new Array('$permlistkeys');      var permfolders_keys = new Array('$permlistkeys');
     var permfolders_vals = new Array('$permlistvals');      var permfolders_vals = new Array('$permlistvals');
Line 211  function folder_choice(targetform,caller Line 215  function folder_choice(targetform,caller
         }          }
     }      }
 }  }
   // ]]>
 </script>|;  </script>|;
     my %show = ('select_form_order' => [10,20,50,100,200],      my %show = ('select_form_order' => [10,20,50,100,200],
  map {$_=>$_} (10,20,50,100,200));   map {$_=>$_} (10,20,50,100,200));
Line 236  function folder_choice(targetform,caller Line 241  function folder_choice(targetform,caller
      <td align="center"><b>'.$lt{'actn'}.'</b><br />'.       <td align="center"><b>'.$lt{'actn'}.'</b><br />'.
          &Apache::loncommon::select_form('view','folderaction',%actions).'           &Apache::loncommon::select_form('view','folderaction',%actions).'
      </td><td><br />'.       </td><td><br />'.
     '<input type="button" value="'.$lt{'go'}.'" onClick="javascript:folder_choice(this.form,'."'change'".');" />      '<input type="button" value="'.$lt{'go'}.'" onclick="javascript:folder_choice(this.form,'."'change'".');" />
      </td>       </td>
     </tr>      </tr>
    </table>     </table>
Line 244  function folder_choice(targetform,caller Line 249  function folder_choice(targetform,caller
   <td align="right">    <td align="right">
    <table><tr><td><br />     <table><tr><td><br />
     <input type="button" value="'.&mt('New Folder').      <input type="button" value="'.&mt('New Folder').
     '" onClick="javascript:folder_choice(this.form,'."'new'".');" /></td>'.      '" onclick="javascript:folder_choice(this.form,'."'new'".');" /></td>'.
     '<td align="center"><b>'.&mt('Name').'</b><br />'.      '<td align="center"><b>'.&mt('Name').'</b><br />'.
     '<input type="text" size="15" name="newfolder" value="" />      '<input type="text" size="15" name="newfolder" value="" />
     </td></tr></table>      </td></tr></table>
Line 292  sub scrollbuttons { Line 297  sub scrollbuttons {
     }      }
     return      return
    '<b>'.&mt('Page').'</b>: '.      '<b>'.&mt('Page').'</b>: '. 
    '<input type="submit" name="firstview" value="'.&mt('First').'" />'.     '<input type="submit" name="firstview" value="|&lt;" />'.
    '<input type="submit" name="prevview" value="'.&mt('Previous').'" />'.     '<input type="submit" name="prevview" value="&lt;" />'.
    '<input type="text" size="5" name="startdis" value="'.$start.'" onChange="this.form.submit()" /> of '.$maxdis.     '<input type="text" size="5" name="startdis" value="'.$start.'" onchange="this.form.submit()" /> of '.$maxdis.
    '<input type="submit" name="nextview" value="'.&mt('Next').'" />'.     '<input type="submit" name="nextview" value="&gt;" />'.
    '<input type="submit" name="lastview" value="'.&mt('Last').'" /><br />'.     '<input type="submit" name="lastview" value="&gt;|" /><br />'.
    &mt('<b>[_1] messages</b>: showing messages [_2] through [_3] of [_4].',$status,$first,$finish,$total).'</form>';     &mt('<b>[_1] messages</b>: showing messages [_2] through [_3] of [_4].',$status,$first,$finish,$total).'</form>';
 }  }
 # =============================================================== Status Change  # =============================================================== Status Change
Line 667  sub disgroup { Line 672  sub disgroup {
 sub group_check_uncheck {  sub group_check_uncheck {
     my $output = qq|      my $output = qq|
 <script type="text/javascript">  <script type="text/javascript">
   / <![CDATA[
 function toggleAll(form,action) {  function toggleAll(form,action) {
     if (typeof(form.selectedusers_forminput.length)=="undefined") {      if (typeof(form.selectedusers_forminput.length)=="undefined") {
          if (action == 'check') {           if (action == 'check') {
Line 684  function toggleAll(form,action) { Line 690  function toggleAll(form,action) {
         }          }
     }      }
 }  }
   // ]]>
 </script>  </script>
     |;      |;
 }  }
Line 759  sub discrit { Line 766  sub discrit {
                 .'<div class="LC_warning">'                  .'<div class="LC_warning">'
                 .&mt('Access to other pages will be prevented until you have moved all critical messages to your inbox.')                  .&mt('Access to other pages will be prevented until you have moved all critical messages to your inbox.')
                 .'</div><br />'                  .'</div><br />'
                 .'<form action="/adm/email" method="POST">'                  .'<form action="/adm/email" method="post">'
                 .'<input type="hidden" name="confirm" value="true" />';                  .'<input type="hidden" name="confirm" value="true" />';
     my %what=&Apache::lonnet::dump('critical');      my %what=&Apache::lonnet::dump('critical');
     my $result = '';      my $result = '';
Line 838  sub sortedmessages { Line 845  sub sortedmessages {
     }      }
   
     foreach my $msgid (@messages) {      foreach my $msgid (@messages) {
           next if ($msgid eq '');
  my $esc_msgid=&escape($msgid);   my $esc_msgid=&escape($msgid);
  my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid,$processid,$symb,$error) =   my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid,$processid,$symb,$error) =
     &Apache::lonmsg::unpackmsgid($esc_msgid,$folder,undef,      &Apache::lonmsg::unpackmsgid($esc_msgid,$folder,undef,
Line 977  sub disfolder { Line 985  sub disfolder {
     my $jscript = &Apache::loncommon::check_uncheck_jscript();      my $jscript = &Apache::loncommon::check_uncheck_jscript();
     $r->print(<<ENDDISHEADER);      $r->print(<<ENDDISHEADER);
 <script type="text/javascript">  <script type="text/javascript">
   // <![CDATA[
     $jscript      $jscript
   
     function validate_checkedaction() {      function validate_checkedaction() {
Line 1005  sub disfolder { Line 1014  sub disfolder {
         }          }
         document.disall.submit();          document.disall.submit();
     }      }
   // ]]>
 </script>  </script>
 ENDDISHEADER  ENDDISHEADER
   
     my $fsqs='&folder='.$folder;      my $fsqs='&amp;folder='.$folder;
     my @temp=&sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder,$msgstatus);      my @temp=&sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder,$msgstatus);
     my $totalnumber=$#temp+1;      my $totalnumber=$#temp+1;
     if ($totalnumber < 1) {      if ($totalnumber < 1) {
Line 1078  ENDDISHEADER Line 1087  ENDDISHEADER
     $r->print("</tr>\n");      $r->print("</tr>\n");
   
     my $suffix = &Apache::lonmsg::foldersuffix($folder);      my $suffix = &Apache::lonmsg::foldersuffix($folder);
       my $count = 0;
     for (my $n=$firstdis;$n<=$lastdis;$n++) {      for (my $n=$firstdis;$n<=$lastdis;$n++) {
  my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$origID,   my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$origID,
     $description,$recv_name,$recv_domain)=       $description,$recv_name,$recv_domain)= 
  @{$temp[$n]};   @{$temp[$n]};
  if (($status ne 'deleted') && defined($sendtime) && $sendtime!~/error/) {   if (($status ne 'deleted') && defined($sendtime) && $sendtime!~/error/) {
               $count ++;
     if ($status eq 'new') {      if ($status eq 'new') {
  $r->print('<tr class="LC_mail_new">');   $r->print('<tr class="LC_mail_new">');
     } elsif ($status eq 'read') {      } elsif ($status eq 'read') {
Line 1114  ENDDISHEADER Line 1125  ENDDISHEADER
  }   }
     }      }
             my $localsenttime = &Apache::lonlocal::locallocaltime($sendtime);              my $localsenttime = &Apache::lonlocal::locallocaltime($sendtime);
             my $count = $n +1;  
     $r->print('<td align="right"><span class="LC_nobreak">'.(($status eq 'new')?'<b>':'').      $r->print('<td align="right"><span class="LC_nobreak">'.(($status eq 'new')?'<b>':'').
                       $count.'.'.(($status eq 'new')?'</b>':'').'&nbsp;'.                        $count.'.'.(($status eq 'new')?'</b>':'').'&nbsp;'.
                       '<input type="checkbox" name="delmark"'.                         '<input type="checkbox" name="delmark"'. 
Line 1122  ENDDISHEADER Line 1132  ENDDISHEADER
             foreach my $item ($localsenttime,$dis_name,$dis_domain,$shortsubj) {              foreach my $item ($localsenttime,$dis_name,$dis_domain,$shortsubj) {
                 $r->print('<td>'.(($status eq 'new')?'<b>':'').                  $r->print('<td>'.(($status eq 'new')?'<b>':'').
                           '<a href="/adm/email?display='.$origID.$sqs.'">'.                            '<a href="/adm/email?display='.$origID.$sqs.'">'.
                           $item.(($status eq 'new')?'</b>':'').'</td>');                            $item.(($status eq 'new')?'</b>':'').'</a></td>');
             }              }
             my $showstatus;              my $showstatus;
             my %statushash = &get_msgstatus_types();              my %statushash = &get_msgstatus_types();
Line 1185  ENDDISHEADER Line 1195  ENDDISHEADER
               '" onclick="javascript:validate_checkedaction()"/></td>'."\n".                '" onclick="javascript:validate_checkedaction()"/></td>'."\n".
               '</tr></table>');                '</tr></table>');
     my $postedstartdis=$startdis+1;      my $postedstartdis=$startdis+1;
     $r->print('<input type="hidden" name="folder" value="'.$folder.'" /><input type="hidden" name="startdis" value="'.$postedstartdis.'" /><input type="hidden" name="interdis" value="'.$env{'form.interdis'}.'" /><input type="hidden" name="msgstatus" value="'.$msgstatus.'" ><input type="hidden" name="markedaction" value="" /></form>');      $r->print('<input type="hidden" name="folder" value="'.$folder.'" /><input type="hidden" name="startdis" value="'.$postedstartdis.'" /><input type="hidden" name="interdis" value="'.$env{'form.interdis'}.'" /><input type="hidden" name="msgstatus" value="'.$msgstatus.'" /><input type="hidden" name="markedaction" value="" /></form>');
     if ($numblocked > 0) {      if ($numblocked > 0) {
         $r->print(&blocked_in_folder($numblocked,$startblock,$endblock,          $r->print(&blocked_in_folder($numblocked,$startblock,$endblock,
                                      \%setters));                                       \%setters));
Line 1341  sub compout { Line 1351  sub compout {
             $sendmode = '<input type="hidden" name="sendmode" value="group" />'."\n";              $sendmode = '<input type="hidden" name="sendmode" value="group" />'."\n";
             $broadcast_js = qq|              $broadcast_js = qq|
 <script type="text/javascript">  <script type="text/javascript">
   // <![CDATA[
 function courseRecipients() {  function courseRecipients() {
 |;  |;
         foreach my $type (keys(%access_status)) {          foreach my $type (keys(%access_status)) {
Line 1367  function courseRecipients() { Line 1378  function courseRecipients() {
         $broadcast_js .= qq|          $broadcast_js .= qq|
     return;      return;
 }  }
   // ]]>
 </script>  </script>
   
 |;  |;
Line 1410  function courseRecipients() { Line 1422  function courseRecipients() {
         my $jscript = &Apache::loncommon::check_uncheck_jscript();          my $jscript = &Apache::loncommon::check_uncheck_jscript();
         $r->print(<<"ENDREPSCRIPT");          $r->print(<<"ENDREPSCRIPT");
 <script type="text/javascript">  <script type="text/javascript">
   // <![CDATA[
 $jscript  $jscript
   // ]]>
 </script>  </script>
 ENDREPSCRIPT  ENDREPSCRIPT
     }      }
Line 1576  $wysiwyglink); Line 1590  $wysiwyglink);
         $r->print(<<"ENDCOMP");          $r->print(<<"ENDCOMP");
 $attachrow  $attachrow
 </table><br />  </table><br />
 $latexHelp  $latexHelp<br />
 <textarea name="message" id="message" cols="80" rows="15" wrap="hard">$dismsg  <textarea name="message" id="message" cols="80" rows="15" wrap="hard">$dismsg
 </textarea>$wysiwyglink  </textarea>$wysiwyglink
 $sendmode  $sendmode
Line 1862  sub facetoface { Line 1876  sub facetoface {
  return;   return;
     }      }
     my $crstype = &Apache::loncommon::course_type();      my $crstype = &Apache::loncommon::course_type();
     my $leaders = ($crstype eq 'Group') ? 'coordinators and leaders'      my $leaders = ($crstype eq 'Community') ? 'coordinators and leaders'
                                         : 'faculty and staff';                                          : 'faculty and staff';
     &printheader($r,      &printheader($r,
  '/adm/email?recordftf=query',   '/adm/email?recordftf=query',
Line 1885  sub facetoface { Line 1899  sub facetoface {
        'subm' => 'Retrieve discussion and message records',         'subm' => 'Retrieve discussion and message records',
        'newr' => 'New Record (record is visible to '.lc($crstype).' '.$leaders.')',         'newr' => 'New Record (record is visible to '.lc($crstype).' '.$leaders.')',
        'post' => 'Post this Record');         'post' => 'Post this Record');
     $r->print(<<"ENDTREC");  
 <h3>$lt{'head'}</h3>      $r->print('<h2>'.$lt{'head'}.'</h2>'
 <form method="post" action="/adm/email" name="stdselect">               .'<form method="post" action="/adm/email" name="stdselect">'
 <input type="hidden" name="recordftf" value="retrieve" />               .'<input type="hidden" name="recordftf" value="retrieve" />'
 <table>               .&Apache::lonhtmlcommon::start_pick_box()
 <tr><td>$lt{'user'}:</td><td><input type="text" size="12" name="recuname" value="$env{'form.recuname'}" /></td>               .&Apache::lonhtmlcommon::row_title($lt{'user'})
 <td rowspan="2">               .'<input type="text" size="12" name="recuname" value="'.$env{'form.recuname'}.'" />'
 $stdbrws               .' '.$stdbrws
 <input type="submit" value="$lt{'subm'}" /></td>               .&Apache::lonhtmlcommon::row_closure()
 </tr>               .&Apache::lonhtmlcommon::row_title($lt{'dom'})
 <tr><td>$lt{'dom'}:</td>               .$domform
 <td>$domform</td></tr>               .&Apache::lonhtmlcommon::row_closure(1)
 </table>               .&Apache::lonhtmlcommon::end_pick_box()
 </form>               .'<br />'
 ENDTREC               .'<input type="submit" value="'.$lt{'subm'}.'" />'
       );
   
     if (($stage ne 'query') &&      if (($stage ne 'query') &&
         ($env{'form.recdomain'}) && ($env{'form.recuname'})) {          ($env{'form.recdomain'}) && ($env{'form.recuname'})) {
         chomp($env{'form.newrecord'});          chomp($env{'form.newrecord'});
Line 1908  ENDTREC Line 1924  ENDTREC
       $env{'form.recuname'},        $env{'form.recuname'},
       $env{'form.recdomain'});        $env{'form.recdomain'});
         }          }
         $r->print('<h3>'.&Apache::loncommon::plainname($env{'form.recuname'},          my $aboutmelink=&Apache::loncommon::aboutmewrapper(
      $env{'form.recdomain'}).'</h3>');                              &Apache::loncommon::plainname($env{'form.recuname'}
                                                            ,$env{'form.recdomain'})
                              ,$env{'form.recuname'},$env{'form.recdomain'});
           $r->print('<hr />'
                    .'<h2>'
                    .&mt('Discussion and message records for [_1] ([_2])'
                        ,$aboutmelink
                        ,$env{'form.recuname'}.':'.$env{'form.recdomain'})
                    .'<h2>'
          );
         &disfacetoface($r,$env{'form.recuname'},$env{'form.recdomain'});          &disfacetoface($r,$env{'form.recuname'},$env{'form.recdomain'});
  $r->print(<<ENDRHEAD);   $r->print(<<ENDRHEAD);
 <form method="post" action="/adm/email">  <form method="post" action="/adm/email">
Line 1938  sub examblock { Line 1963  sub examblock {
  $r->print('Not allowed');   $r->print('Not allowed');
  return;   return;
     }      }
     my $usertype = (&Apache::loncommon::course_type() eq 'Group') ? 'members'      my $usertype = (&Apache::loncommon::course_type() eq 'Community') ? 'members'
                                                           : 'students';                                                            : 'students';
     my %lt=&Apache::lonlocal::texthash(      my %lt=&Apache::lonlocal::texthash(
             'comb' => 'Communication Blocking',              'comb' => 'Communication Blocking',
Line 2148  END Line 2173  END
         foreach my $block (@{$typeorder}) {          foreach my $block (@{$typeorder}) {
             my $blockstatus = '';              my $blockstatus = '';
             if ($blocks->{$block} eq 'on') {              if ($blocks->{$block} eq 'on') {
                 $blockstatus = 'checked="true"';                  $blockstatus = 'checked="checked"';
             }              }
             $r->print('<label><input type="checkbox" name="'.$block.'_'.$parmcount.'" '.$blockstatus.' value="1" />'.$types->{$block}.'</label><br />');              $r->print('<label><input type="checkbox" name="'.$block.'_'.$parmcount.'" '.$blockstatus.' value="1" />'.$types->{$block}.'</label><br />');
         }          }
Line 2215  END Line 2240  END
 sub blocktype_text {  sub blocktype_text {
     my %types = &Apache::lonlocal::texthash(      my %types = &Apache::lonlocal::texthash(
         'com' => 'Messaging',          'com' => 'Messaging',
         'chat' => 'Chat',          'chat' => 'Chat Room',
         'boards' => 'Discussion',          'boards' => 'Discussion',
         'port' => 'Portfolio',          'port' => 'Portfolio',
         'groups' => 'Groups',          'groups' => 'Groups',
Line 2283  sub displaymessage { Line 2308  sub displaymessage {
     my $li_end='</span> ';      my $li_end='</span> ';
   
 # Prepare available functions  # Prepare available functions
     my $functionlist='';      my @functionlist;
     if (!$content{'noreplies'}) {      if (!$content{'noreplies'}) {
         $functionlist.=$li_start          push(@functionlist,'<a href="/adm/email?replyto='.&escape($msgid).$sqs.'">'
                      .'<a href="/adm/email?replyto='.&escape($msgid).$sqs.'">'  
                      .&mt('Reply')                       .&mt('Reply')
                      .'</a>'                       .'</a>');
                      .$li_end;  
     }      }
     $functionlist.=$li_start      push(@functionlist,'<a href="/adm/email?forward='.&escape($msgid).$sqs.'">'
                   .'<a href="/adm/email?forward='.&escape($msgid).$sqs.'">'  
                   .&mt('Forward')                    .&mt('Forward')
                   .'</a>'                    .'</a>');
                   .$li_end;      push(@functionlist,'<a href="/adm/email?markunread='.&escape($msgid).$sqs.'">'
     $functionlist.=$li_start  
                   .'<a href="/adm/email?markunread='.&escape($msgid).$sqs.'">'  
                   .&mt('Mark Unread')                    .&mt('Mark Unread')
                   .'</a>'                    .'</a>');
                   .$li_end;      push(@functionlist,'<a href="/adm/email?markdel='.&escape($msgid).$sqs.'">'
     $functionlist.=$li_start  
                   .'<a href="/adm/email?markdel='.&escape($msgid).$sqs.'">'  
                   .&mt('Delete')                    .&mt('Delete')
                   .'</a>'                    .'</a>');
                   .$li_end;      push(@functionlist,'<a href="/adm/email?'.$sqs.'">'
     $functionlist.=$li_start  
                   .'<a href="/adm/email?'.$sqs.'">'  
                   .&mt('Back to Folder Display')                    .&mt('Back to Folder Display')
                   .'</a>'                    .'</a>');
                   .$li_end;  
     if ($counter > 0){      if ($counter > 0){
         $functionlist.=$li_start          push(@functionlist,'<a href="/adm/email?display='.$messages[$counter-1]->[5].$sqs.'">'
               .'<a href="/adm/email?display='.$messages[$counter-1]->[5].$sqs.'">'                            .&mt('Previous')
               .&mt('Previous')                            .'</a>');
               .'</a>'  
               .$li_end;  
     }      }
     if ($counter < $number_of_messages - 1){      if ($counter < $number_of_messages - 1){
         $functionlist.=$li_start          push(@functionlist,'<a href="/adm/email?display='.$messages[$counter+1]->[5].$sqs.'">'
               .'<a href="/adm/email?display='.$messages[$counter+1]->[5].$sqs.'">'                            .&mt('Next')
               .&mt('Next')                            .'</a>');
               .'</a>'  
               .$li_end;  
     }      }
 # Print functions  # Print functions
       my $legendtext='<span class="LC_mail_functions">'
                      .&mt('Functions')
                      .'</span>';
       my $showfunctionlist = $li_start.join($li_end.$li_start,@functionlist).$li_end;
     $r->print('<div class="LC_left_float">'      $r->print('<div class="LC_left_float">'
              .'<fieldset>'               .'<fieldset>'
              .'<legend><span class="LC_mail_functions">'               .'<legend>'
              .&mt('Functions')               .$legendtext
              .'</span></legend>'               .'</legend>'
              .$functionlist               .$showfunctionlist
              .'</fieldset>'               .'</fieldset>'
              .'</div>'               .'</div>'
     );      );
Line 2344  sub displaymessage { Line 2359  sub displaymessage {
         $symb=&Apache::lonnet::symbread($content{'baseurl'});          $symb=&Apache::lonnet::symbread($content{'baseurl'});
     }      }
     if ($env{'user.adv'}) {      if ($env{'user.adv'}) {
         my $actionlist='';          my @actionlist;
   
  if (&Apache::lonnet::allowed('vgr',$env{'request.course.id'})) {   if (&Apache::lonnet::allowed('vgr',$env{'request.course.id'})) {
  $actionlist.=$li_start   push(@actionlist,&Apache::loncommon::track_student_link(
                             .&Apache::loncommon::track_student_link(                                        &mt('View recent activity')
                                  &mt('View recent activity'),$content{'sendername'},$content{'senderdomain'},'check')                                       ,$content{'sendername'}
                             .$li_end;                                       ,$content{'senderdomain'}
                                        ,'check'));
  }   }
  if (&Apache::lonnet::allowed('opa',$env{'request.course.id'}) && $symb) {   if (&Apache::lonnet::allowed('opa',$env{'request.course.id'}) && $symb) {
     $actionlist.=$li_start      push(@actionlist,&Apache::loncommon::pprmlink(
                         .&Apache::loncommon::pprmlink(                                    &mt('Set/Change parameters')
                              &mt('Set/Change parameters'),$content{'sendername'},$content{'senderdomain'},$symb,'check')                                       ,$content{'sendername'}
                         .$li_end;                                       ,$content{'senderdomain'}
                                        ,$symb
                                        ,'check'));
  }   }
  if (&Apache::lonnet::allowed('mgr',$env{'request.course.id'}) && $symb) {   if (&Apache::lonnet::allowed('mgr',$env{'request.course.id'}) && $symb) {
     $actionlist.=$li_start      push(@actionlist,&Apache::loncommon::pgrdlink(
                        .&Apache::loncommon::pgrdlink(                                   &mt('Set/Change grades')
                             &mt('Set/Change grades'),$content{'sendername'},$content{'senderdomain'},$symb,'check')                                       ,$content{'sendername'}
                        .$li_end;                                       ,$content{'senderdomain'}
                                        ,$symb
                                        ,'check'));
  }   }
   
 # Print actions  # Print actions
         if ($actionlist) {          if (@actionlist) {
               my $showactionlist = $li_start.join($li_end.$li_start,@actionlist).$li_end;
               $legendtext=&mt('[_1]Currently available actions[_2] (will open extra window):'
                              ,'<span class="LC_mail_functions">','</span>');
             $r->print('<div class="LC_left_float">'              $r->print('<div class="LC_left_float">'
                      .'<fieldset>'                       .'<fieldset>'
                      .'<legend>'                       .'<legend>'
                      .&mt('[_1]Currently available actions[_2] (will open extra window):','<span class="LC_mail_functions">','</span>')                       .$legendtext
                      .'</legend>'                       .'</legend>'
                      .$actionlist                       .$showactionlist
                      .'</fieldset>'                       .'</fieldset>'
                      .'</div>'                       .'</div>'
             );              );
Line 2724  sub recipients_link { Line 2747  sub recipients_link {
             $body =~ s{\n}{}g;              $body =~ s{\n}{}g;
             $r->print(<<ENDJS);              $r->print(<<ENDJS);
 <script type="text/javascript">  <script type="text/javascript">
   // <![CDATA[
 function showBroadcastList() {  function showBroadcastList() {
     var caller = this;      var caller = this;
     var newWindow = null;      var newWindow = null;
Line 2746  function writeWin(caller) { Line 2770  function writeWin(caller) {
     caller.document.close();      caller.document.close();
     caller.focus();      caller.focus();
 }  }
   // ]]>
 </script>  </script>
   
 ENDJS  ENDJS
Line 2800  sub displayresource { Line 2824  sub displayresource {
   
 sub header {  sub header {
     my ($r,$title,$baseurl)=@_;      my ($r,$title,$baseurl)=@_;
       
     my $extra = &Apache::loncommon::studentbrowser_javascript();      my $extra = &Apache::loncommon::studentbrowser_javascript();
     if ($baseurl) {      if ($baseurl) {
  $extra .= "<base href=\"".&Apache::lonnet::absolute_url()."/$baseurl\" />";   $extra .= "<base href=\"".&Apache::lonnet::absolute_url()."/$baseurl\" />";
     }      }
     $r->print(&Apache::loncommon::start_page('Communication and Messages',      $r->print(&Apache::loncommon::start_page('Communication',
   $extra));    $extra));
     $r->print(&Apache::lonhtmlcommon::breadcrumbs      $r->print(&Apache::lonhtmlcommon::breadcrumbs
       (($title?$title:'Communication and Messages')));        (($title?$title:'Send and Receive Messages')));
 }  }
   
 # ---------------------------------------------------------------- Print header  # ---------------------------------------------------------------- Print header
Line 3179  sub sendoffmail { Line 3202  sub sendoffmail {
             &Apache::loncommunicate::menu($r);              &Apache::loncommunicate::menu($r);
         }          }
             } else {              } else {
         $r->print('<p><span class="LC_error">'.&mt('Could not deliver message').'</span> '.          $r->print('<p>'.&Apache::lonhtmlcommon::confirm_success(&mt('Could not deliver message'),1).'<br /> '.
           &mt('Please use the browser "Back" button and correct the recipient addresses ([_1]).',$sendstatus).'</p>');            &mt('Please use the browser "Back" button and correct the recipient addresses ([_1]).',$sendstatus).'</p>');
             }              }
         }          }
Line 3206  sub handler { Line 3229  sub handler {
          'recordftf','sortedby','block','folder','startdis','interdis',           'recordftf','sortedby','block','folder','startdis','interdis',
  'showcommentbaseurl','dismode','group','subject','text','ref',   'showcommentbaseurl','dismode','group','subject','text','ref',
          'msgstatus']);           'msgstatus']);
     $sqs='&sortedby='.$env{'form.sortedby'};      $sqs='&amp;sortedby='.$env{'form.sortedby'};
   
 # ------------------------------------------------------ They checked for email  # ------------------------------------------------------ They checked for email
     unless ($env{'form.block'}) {      unless ($env{'form.block'}) {
Line 3227  sub handler { Line 3250  sub handler {
     unless ($folder) {       unless ($folder) { 
  $folder='';    $folder=''; 
     } else {      } else {
  $sqs.='&folder='.&escape($folder);   $sqs.='&amp;folder='.&escape($folder);
     }      }
 # ------------------------------------------------------------ Get Display Mode  # ------------------------------------------------------------ Get Display Mode
   
Line 3259  sub handler { Line 3282  sub handler {
  $startdis++;   $startdis++;
     }      }
     my $postedstartdis=$startdis+1;      my $postedstartdis=$startdis+1;
     $sqs.='&startdis='.$postedstartdis;      $sqs.='&amp;startdis='.$postedstartdis;
   
 # --------------------------------------------------------------- Render Output  # --------------------------------------------------------------- Render Output
   
Line 3483  sub handler { Line 3506  sub handler {
         my $showfolder = $env{'form.newfolder'};          my $showfolder = $env{'form.newfolder'};
  my ($makeresult,$warning) = &makefolder($env{'form.newfolder'});   my ($makeresult,$warning) = &makefolder($env{'form.newfolder'});
         if ($makeresult eq 'ok') {          if ($makeresult eq 'ok') {
             $r->print(&mt('Mail folder "[_1]" created.',$showfolder).'<br />');              $r->print(&mt('Folder "[_1]" created.',$showfolder).'<br />');
         } else {          } else {
             $r->print(&mt('Creation failed.').' '.$makeresult.'<br />'.              $r->print(&mt('Creation failed.').' '.$makeresult.'<br />'.
                       $warning);                        $warning);
Line 3498  sub handler { Line 3521  sub handler {
         my $showfolder = '';          my $showfolder = '';
         my $delresult = &deletefolder($folder);          my $delresult = &deletefolder($folder);
         if ($delresult eq 'ok') {          if ($delresult eq 'ok') {
             $r->print(&mt('Mail folder "[_1]" deleted.',$folder).'<br />');              $r->print(&mt('Folder "[_1]" deleted.',$folder).'<br />');
             $env{'form.folder'} = '';              $env{'form.folder'} = '';
         } else {          } else {
             $r->print(&mt('Deletion failed.').' '.$delresult.'<br />');              $r->print(&mt('Deletion failed.').' '.$delresult.'<br />');
Line 3511  sub handler { Line 3534  sub handler {
         my $showfolder = $env{'form.renamed'};          my $showfolder = $env{'form.renamed'};
         my $renresult = &renamefolder($folder);          my $renresult = &renamefolder($folder);
         if ($renresult eq 'ok') {          if ($renresult eq 'ok') {
             $r->print(&mt('Mail folder "[_1]" renamed "[_2]".',$folder,$showfolder).'<br />');              $r->print(&mt('Folder "[_1]" renamed to "[_2]".',$folder,$showfolder).'<br />');
         } else {          } else {
             $r->print(&mt('Renaming failed.').' '.$renresult.'<br />');              $r->print(&mt('Renaming failed.').' '.$renresult.'<br />');
             $showfolder = $folder;              $showfolder = $folder;

Removed from v.1.110  
changed lines
  Added in v.1.124.4.2


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