Diff for /loncom/interface/lonmsgdisplay.pm between versions 1.124.4.12 and 1.126

version 1.124.4.12, 2010/11/20 13:19:49 version 1.126, 2009/06/11 16:48:33
Line 146  sub folderlist { Line 146  sub folderlist {
     );      );
     $actions{'select_form_order'} = ['view','rename','delete'];      $actions{'select_form_order'} = ['view','rename','delete'];
   
     my %statushash = &Apache::lonlocal::texthash(&get_msgstatus_types());      my %statushash = &get_msgstatus_types();
   
     $statushash{'select_form_order'} = ['','new','read','replied','forwarded'];      $statushash{'select_form_order'} = ['','new','read','replied','forwarded'];
   
Line 173  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 215  function folder_choice(targetform,caller Line 214  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));
   
      
     $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 239  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 248  function folder_choice(targetform,caller Line 247  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 272  sub get_permanent_folders { Line 271  sub get_permanent_folders {
 }  }
   
 sub get_msgstatus_types {  sub get_msgstatus_types {
     # Don't translate here!      my %statushash = &Apache::lonlocal::texthash(
     my %statushash = (                                  '' => 'Any',
         ''          => 'Any',                                  new => 'Unread',
         'new'       => 'Unread',                                  read => 'Read',
         'read'      => 'Read',                                  replied => 'Replied to',
         'replied'   => 'Replied to',                                  forwarded => 'Forwarded',
         'forwarded' => 'Forwarded',  
     );      );
     return %statushash;      return %statushash;
 }  }
Line 291  sub scrollbuttons { Line 289  sub scrollbuttons {
     my %statushash = &get_msgstatus_types();      my %statushash = &get_msgstatus_types();
     my $status;      my $status;
     if ($msgstatus eq '') {      if ($msgstatus eq '') {
         $status = 'All'; # Don't translate here!          $status = &mt('All');
     } else {      } else {
         $status = $statushash{$msgstatus};          $status = $statushash{$msgstatus};
     }      }
     return      return
    '<b>'.&mt('Page').'</b>: '.      '<b>'.&mt('Page').'</b>: '. 
    '<input type="submit" name="firstview" value="|&lt;" />'.     '<input type="submit" name="firstview" value="'.&mt('First').'" />'.
    '<input type="submit" name="prevview" value="&lt;" />'.     '<input type="submit" name="prevview" value="'.&mt('Previous').'" />'.
    '<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="&gt;" />'.     '<input type="submit" name="nextview" value="'.&mt('Next').'" />'.
    '<input type="submit" name="lastview" value="&gt;|" /><br />'.     '<input type="submit" name="lastview" value="'.&mt('Last').'" /><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 509  sub movemsg { Line 507  sub movemsg {
 sub discourse {  sub discourse {
     my ($statushash) = @_;      my ($statushash) = @_;
     my ($result,$active,$previous,$future);      my ($result,$active,$previous,$future);
     my $crstype = &Apache::loncommon::course_type();  
     my ($course_personnel,      my ($course_personnel,
  $current_members,   $current_members,
  $expired_members,   $expired_members,
Line 525  sub discourse { Line 522  sub discourse {
                                                                \%defaultUsers,                                                                 \%defaultUsers,
                                                                1,"selectedusers",1,'email')                                                                 1,"selectedusers",1,'email')
        ) {         ) {
         my $bcc_curr_hdr;         $result .= '<fieldset id="LC_activeusers"><legend>'
         if ($crstype eq 'Community') {                   .&mt('Bcc: course members with current access')
             $bcc_curr_hdr = &mt('Bcc: community participants with current access');                   .'</legend>'
         } else {                   .'<form name="activeusers">';
             $bcc_curr_hdr = &mt('Bcc: course members with current access');         $result .= $tmptext.'</form></fieldset><br />';
         }         if (ref($statushash) eq 'HASH') {
         $result .= '<fieldset id="LC_activeusers"><legend>'             $statushash->{'active'} = 1;
                    .'<b>'.$bcc_curr_hdr.'</b>'         }
                    .'</legend>'  
                    .'<form name="activeusers">';  
         $result .= $tmptext.'</form></fieldset><br />';  
         if (ref($statushash) eq 'HASH') {  
             $statushash->{'active'} = 1;  
         }  
     }      }
     if ($tmptext = &Apache::lonselstudent::render_student_list($expired_members,      if ($tmptext = &Apache::lonselstudent::render_student_list($expired_members,
                                                                "previoususers",                                                                 "previoususers",
Line 546  sub discourse { Line 537  sub discourse {
                                                                \%defaultUsers,                                                                 \%defaultUsers,
                                                                1, "selectedusers",0,'email')                                                                 1, "selectedusers",0,'email')
        ) {         ) {
         my $bcc_prev_hdr;         $result .= '<fieldset id="LC_previoususers"><legend>'
         if ($crstype eq 'Community') {                   .&mt('Bcc: course members with expired access')
             $bcc_prev_hdr = &mt('Bcc: community participants with expired access');                   .'</legend>'
         } else {                   .'<form name="previoususers">';
             $bcc_prev_hdr = &mt('Bcc: course members with expired access');  
         }  
         $result .= '<fieldset id="LC_previoususers"><legend>'  
                    .'<b>'.$bcc_prev_hdr.'</b>'  
                    .'</legend>'  
                    .'<form name="previoususers">';  
        $result .= $tmptext.'</form></fieldset><br />';         $result .= $tmptext.'</form></fieldset><br />';
        if (ref($statushash) eq 'HASH') {         if (ref($statushash) eq 'HASH') {
            $statushash->{'previous'} = 1;             $statushash->{'previous'} = 1;
        }         }
   
     }      }
     if ($tmptext = &Apache::lonselstudent::render_student_list($future_members,      if ($tmptext = &Apache::lonselstudent::render_student_list($future_members,
                                                                "futureusers",                                                                 "futureusers",
Line 567  sub discourse { Line 553  sub discourse {
                                                                \%defaultUsers,                                                                 \%defaultUsers,
                                                                1, "selectedusers",0,'email')                                                                 1, "selectedusers",0,'email')
        ) {         ) {
         my $bcc_future_hdr;         $result .= '<fieldset id="LC_futureusers"><legend>'
         if ($crstype eq 'Community') {                   .&mt('Bcc: course members with future access')
             $bcc_future_hdr = &mt('Bcc: community participants with future access');                   .'</legend>'
         } else {                   .'<form name="previoususers">';
             $bcc_future_hdr = &mt('Bcc: course members with future access');  
         }  
         $result .= '<fieldset id="LC_futureusers"><legend>'  
                    .'<b>'.$bcc_future_hdr.'</b>'  
                    .'</legend>'  
                    .'<form name="futureusers">';  
        $result .= $tmptext.'</form></fieldset>';         $result .= $tmptext.'</form></fieldset>';
        if (ref($statushash) eq 'HASH') {         if (ref($statushash) eq 'HASH') {
            $statushash->{'future'} = 1;             $statushash->{'future'} = 1;
        }         }
   
     }      }
     return $result;      return $result;
 }  }
Line 650  sub disgroup { Line 631  sub disgroup {
                     if (ref($access_status) eq 'HASH') {                      if (ref($access_status) eq 'HASH') {
                         $access_status->{$status} = $$numitems{$status};                          $access_status->{$status} = $$numitems{$status};
                     }                      }
                     $r->print('<fieldset><legend><b>'.$lt{$status}.                      $r->print('<fieldset>'.
                               '</b></legend><form name="'.$formname.'">'.                                '<legend>'.$lt{$status}.'</legend>'.
                                 '<form name="'.$formname.'">'.
                               '<span class="LC_nobreak">'.                                '<span class="LC_nobreak">'.
                               '<input type="button" value="'.&mt('Check All').'" '.                                '<input type="button" value="'.&mt('Check All').'" '.
                               'onclick="javascript:toggleAll('."this.form,'check'".')" />'.                                'onclick="javascript:toggleAll('."this.form,'check'".')" />'.
Line 698  sub disgroup { Line 680  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 716  function toggleAll(form,action) { Line 697  function toggleAll(form,action) {
         }          }
     }      }
 }  }
 // ]]>  
 </script>  </script>
     |;      |;
 }  }
Line 746  sub groupmail_header { Line 726  sub groupmail_header {
     }      }
     &Apache::lonhtmlcommon::clear_breadcrumbs();      &Apache::lonhtmlcommon::clear_breadcrumbs();
     if ($refarg) {      if ($refarg) {
         my $brtitle;  
         if (&Apache::loncommon::course_type() eq 'Community') {  
             $brtitle = 'View community groups';    
         } else {  
             $brtitle = 'View course groups';  
         }  
         &Apache::lonhtmlcommon::add_breadcrumb          &Apache::lonhtmlcommon::add_breadcrumb
             ({href=>"/adm/coursegroups",              ({href=>"/adm/coursegroups",
               text=>"Groups",                text=>"Groups",
               title=>$brtitle});                title=>"View course groups"});
     }      }
     &Apache::lonhtmlcommon::add_breadcrumb      &Apache::lonhtmlcommon::add_breadcrumb
         ({href=>"/adm/$cdom/$cnum/$group/smppg?$refarg",          ({href=>"/adm/$cdom/$cnum/$group/smppg?$refarg",
Line 850  sub discrit { Line 824  sub discrit {
     }      }
     # Check to see if there were any messages.      # Check to see if there were any messages.
     if ($result eq '') {      if ($result eq '') {
         $result =          $result = "<h2>".&mt('You have no critical messages.')."</h2>".
             '<p class="LC_info">'.      '<a href="/adm/roles">'.&mt('Select a course').'</a><br />'.
             &mt('You have no critical messages.').  
             '</p>'.  
             '<a href="/adm/roles">'.&mt('Select a course').'</a><br />'.  
             '<a href="/adm/email">'.&mt('Communicate').'</a>';              '<a href="/adm/email">'.&mt('Communicate').'</a>';
     } else {      } else {
         $r->print($header);          $r->print($header);
Line 1020  sub disfolder { Line 991  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 1049  sub disfolder { Line 1019  sub disfolder {
         }          }
         document.disall.submit();          document.disall.submit();
     }      }
 // ]]>  
 </script>  </script>
 ENDDISHEADER  ENDDISHEADER
   
     my $fsqs='&amp;folder='.$folder;      my $fsqs='&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) {
         $r->print('<p class="LC_info">');  
         if ($msgstatus eq '') {          if ($msgstatus eq '') {
             $r->print(&mt('There are no messages in this folder.'));      $r->print('<h2>'.&mt('Empty Folder').'</h2>');
         } elsif ($msgstatus eq 'replied') {          } elsif ($msgstatus eq 'replied') {
             $r->print(&mt('You have not replied to any messages in this folder.'));              $r->print('<h2>'.&mt('You have not replied to any messages in this folder.').'</h2>');
         } else {           } else { 
             $r->print(&mt('There are no '.lc($statushash{$msgstatus}).' messages in this folder.'));              $r->print('<h2>'.&mt('There are no '.lc($statushash{$msgstatus}).' messages in this folder.').'</h2>');
         }          }
         $r->print('</p>');  
         if ($numblocked > 0) {          if ($numblocked > 0) {
             $r->print(&blocked_in_folder($numblocked,$startblock,$endblock,              $r->print(&blocked_in_folder($numblocked,$startblock,$endblock,
                                          \%setters));                                           \%setters));
         }          }
         return;   return;
     }      }
     my $interdis = $env{'form.interdis'};      my $interdis = $env{'form.interdis'};
     my $number=int($totalnumber/$interdis);      my $number=int($totalnumber/$interdis);
Line 1088  ENDDISHEADER Line 1055  ENDDISHEADER
     $r->print('<form method="post" name="disall" action="/adm/email">'.      $r->print('<form method="post" name="disall" action="/adm/email">'.
       '<table class="LC_mail_list"><tr><th colspan="1">&nbsp;</th><th>');        '<table class="LC_mail_list"><tr><th colspan="1">&nbsp;</th><th>');
     if ($env{'form.sortedby'} eq "revdate") {      if ($env{'form.sortedby'} eq "revdate") {
  $r->print('<a href = "/adm/email?sortedby=date'.$fsqs.'">'.&mt('Date').'</a></th>');   $r->print('<a href = "?sortedby=date'.$fsqs.'">'.&mt('Date').'</a></th>');
     } else {      } else {
  $r->print('<a href = "/adm/email?sortedby=revdate'.$fsqs.'">'.&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 = "/adm/email?sortedby=user'.$fsqs.'">'.&mt('Username').'</a>');   $r->print('<a href = "?sortedby=user'.$fsqs.'">'.&mt('Username').'</a>');
     } else {      } else {
  $r->print('<a href = "/adm/email?sortedby=revuser'.$fsqs.'">'.&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 = "/adm/email?sortedby=domain'.$fsqs.'">'.&mt('Domain').'</a>');   $r->print('<a href = "?sortedby=domain'.$fsqs.'">'.&mt('Domain').'</a>');
     } else {      } else {
  $r->print('<a href = "/adm/email?sortedby=revdomain'.$fsqs.'">'.&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 = "/adm/email?sortedby=subject'.$fsqs.'">'.&mt('Subject').'</a>');   $r->print('<a href = "?sortedby=subject'.$fsqs.'">'.&mt('Subject').'</a>');
     } else {      } else {
     $r->print('<a href = "/adm/email?sortedby=revsubject'.$fsqs.'">'.&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 "revcourse") {      if ($env{'form.sortedby'} eq "revcourse") {
         $r->print('<a href = "/adm/email?sortedby=course'.$fsqs.'">'.&mt('Course').'</a>');          $r->print('<a href = "?sortedby=course'.$fsqs.'">'.&mt('Course').'</a>');
     } else {      } else {
         $r->print('<a href = "/adm/email?sortedby=revcourse'.$fsqs.'">'.&mt('Course').'</a>');          $r->print('<a href = "?sortedby=revcourse'.$fsqs.'">'.&mt('Course').'</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 = "/adm/email?sortedby=status'.$fsqs.'">'.&mt('Status').'</a></th>');   $r->print('<a href = "?sortedby=status'.$fsqs.'">'.&mt('Status').'</a></th>');
     } else {      } else {
       $r->print('<a href = "/adm/email?sortedby=revstatus'.$fsqs.'">'.&mt('Status').'</a></th>');        $r->print('<a href = "?sortedby=revstatus'.$fsqs.'">'.&mt('Status').'</a></th>');
     }      }
     $r->print("</tr>\n");      $r->print("</tr>\n");
   
     my $suffix = &Apache::lonmsg::foldersuffix($folder);      my $suffix = &Apache::lonmsg::foldersuffix($folder);
     my $count = $firstdis;      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)= 
Line 1170  ENDDISHEADER Line 1137  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>':'').'</a></td>');                            $item.(($status eq 'new')?'</b>':'').'</td>');
             }              }
             my $showstatus;              my $showstatus;
             my %statushash = &get_msgstatus_types();              my %statushash = &get_msgstatus_types();
Line 1292  sub compout { Line 1259  sub compout {
         &printheader($r,'/adm/email?compose=multiforward',          &printheader($r,'/adm/email?compose=multiforward',
              'Forwarding Multiple Messages');               'Forwarding Multiple Messages');
         if ($multiforward > 1) {          if ($multiforward > 1) {
             $r->print(&mt('Each of the[_1] [quant,_2,message] [_3]you checked'              $r->print(&mt('Each of the <b>[quant,_1,message]</b> you checked'
                          .' will be forwarded to the recipient(s) you select below.','<b>',$multiforward,'</b>')                           .' will be forwarded to the recipient(s) you select below.',$multiforward)
                     .'<br />');                      .'<br />');
         } else {          } else {
             $r->print(&mt('The message you checked will be forwarded to the recipient(s) you select below.').'<br />');              $r->print(&mt('The message you checked will be forwarded to the recipient(s) you select below.').'<br />');
Line 1338  sub compout { Line 1305  sub compout {
     if (&Apache::lonnet::allowed('srm',$env{'request.course.id'})      if (&Apache::lonnet::allowed('srm',$env{'request.course.id'})
  || &Apache::lonnet::allowed('srm',$env{'request.course.id'}.   || &Apache::lonnet::allowed('srm',$env{'request.course.id'}.
     '/'.$env{'request.course.sec'})) {      '/'.$env{'request.course.sec'})) {
          my $crstype = &Apache::loncommon::course_type();  
  my $crithelp = Apache::loncommon::help_open_topic("Course_Critical_Message");   my $crithelp = Apache::loncommon::help_open_topic("Course_Critical_Message");
          my $rsstxt;  
          if (&Apache::loncommon::course_type() eq 'Community') {  
              $rsstxt = &mt('Include in community RSS newsfeed');  
          } else {  
              $rsstxt = &mt('Include in course RSS newsfeed');  
          }  
          $dispcrit=           $dispcrit=
  '<span class="LC_nobreak"><label><input type="checkbox" name="critmsg" /> '.&mt('Send as critical message').'.</label>'.$crithelp.'&nbsp;&nbsp;'.&mt('Require return receipt?').'<label><input type="radio" name="sendbck" value="1" />'.&mt('Yes').'</label>&nbsp;&nbsp;<label><input type="radio" name="sendbck" value="" checked="checked" />'.&mt('No').'</label></span><br />'.   '<span class="LC_nobreak"><label><input type="checkbox" name="critmsg" /> '.&mt('Send as critical message').'.</label>'.$crithelp.'&nbsp;&nbsp;'.&mt('Require return receipt?').'<label><input type="radio" name="sendbck" value="1" />'.&mt('Yes').'</label>&nbsp;&nbsp;<label><input type="radio" name="sendbck" value="" checked="checked" />'.&mt('No').'</label></span><br />'.
  '<label><input type="checkbox" name="permanent" /> '.   '<label><input type="checkbox" name="permanent" /> '.
 &mt('Send copy to permanent e-mail address (if known)').'</label><br />'.  &mt('Send copy to permanent e-mail address (if known)').'</label><br />'.
 '<label><input type="checkbox" name="rsspost" /> '.  '<label><input type="checkbox" name="rsspost" /> '.
   $rsstxt.'</label><br />';    &mt('Include in course RSS newsfeed').'</label><br />';
     }      }
     if ($broadcast ne 'group') {      if ($broadcast ne 'group') {
         if (&Apache::lonnet::allowed('dff',$env{'request.course.id'}) ||          if (&Apache::lonnet::allowed('dff',$env{'request.course.id'}) ||
             &Apache::lonnet::allowed('dff',$env{'request.course.id'}.              &Apache::lonnet::allowed('dff',$env{'request.course.id'}.
                                      '/'.$env{'request.course.sec'})) {                                       '/'.$env{'request.course.sec'})) {
             my $rectxt;  
             if (&Apache::loncommon::course_type() eq 'Community') {  
                 $rectxt = &mt("Include in community's 'User records' for recipient(s)");  
             } else {  
                 $rectxt = &mt("Include in course's 'User records' for recipient(s)");  
             }  
             $dispcrit.='<label>'.              $dispcrit.='<label>'.
                        '<input type="checkbox" name="courserecord" value="1" /> '.                         '<input type="checkbox" name="courserecord" value="1" /> '.
                        $rectxt.                         &mt("Include in course's 'User records' for recipient(s)").
                        '</label><br />';                         '</label><br />';
         }          }
     }      }
Line 1401  sub compout { Line 1356  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 1428  function courseRecipients() { Line 1382  function courseRecipients() {
         $broadcast_js .= qq|          $broadcast_js .= qq|
     return;      return;
 }  }
 // ]]>  
 </script>  </script>
   
 |;  |;
Line 1472  function courseRecipients() { Line 1425  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 1743  sub additional_rec_row { Line 1694  sub additional_rec_row {
     my $bcc = &mt('Bcc:');      my $bcc = &mt('Bcc:');
     my $exmpl = &mt('username:domain,username:domain,...');       my $exmpl = &mt('username:domain,username:domain,...'); 
     my $output = <<"ENDADD";      my $output = <<"ENDADD";
 <tr><td colspan="3"><fieldset id="LC_additionalrecips"><legend><b>$lt->{'ad'}</b> <tt>($exmpl)</tt>:</legend><table>  <tr><td colspan="3"><fieldset id="LC_additionalrecips"><legend>$lt->{'ad'} <tt>($exmpl)</tt></legend><table>
 <tr><td>&nbsp;</td><td>$lt->{'to'}</td><td><input type="text" size="50" name="additionalrec_to" /></td></tr>  <tr><td>&nbsp;</td><td>$lt->{'to'}</td><td><input type="text" size="50" name="additionalrec_to" /></td></tr>
 <tr><td>&nbsp;</td><td>$cc</td><td><input type="text" size="50" name="additionalrec_cc" /></td></tr>   <tr><td>&nbsp;</td><td>$cc</td><td><input type="text" size="50" name="additionalrec_cc" /></td></tr> 
 <tr><td>&nbsp;</td><td>$bcc</td><td><input type="text" size="50" name="additionalrec_bcc" /></td></tr></table></fieldset></td></tr>  <tr><td>&nbsp;</td><td>$bcc</td><td><input type="text" size="50" name="additionalrec_bcc" /></td></tr></table></fieldset></td></tr>
Line 1838  sub disfacetoface { Line 1789  sub disfacetoface {
     foreach my $key (sort(keys(%records))) {      foreach my $key (sort(keys(%records))) {
         my %content=&Apache::lonmsg::unpackagemsg($records{$key});          my %content=&Apache::lonmsg::unpackagemsg($records{$key});
         next if ($content{'senderdomain'} eq '');          next if ($content{'senderdomain'} eq '');
         if (!&Apache::lonfeedback::contains_block_html($content{'message'})) {   &Apache::lonfeedback::newline_to_br(\$content{'message'});
             &Apache::lonfeedback::newline_to_br(\$content{'message'});  
         }  
         if ($content{'subject'}=~/^Record/) {          if ($content{'subject'}=~/^Record/) {
     $result.='<h3>'.&mt('Record').'</h3>';      $result.='<h3>'.&mt('Record').'</h3>';
         } elsif ($content{'subject'}=~/^Broadcast/) {          } elsif ($content{'subject'}=~/^Broadcast/) {
Line 1928  sub facetoface { Line 1877  sub facetoface {
  return;   return;
     }      }
     my $crstype = &Apache::loncommon::course_type();      my $crstype = &Apache::loncommon::course_type();
     my $leaders = ($crstype eq 'Community') ? 'coordinators and leaders'      my $leaders = ($crstype eq 'Group') ? 'coordinators and leaders'
                                         : 'faculty and staff';                                          : 'faculty and staff';
     &printheader($r,      &printheader($r,
  '/adm/email?recordftf=query',   '/adm/email?recordftf=query',
Line 1966  sub facetoface { Line 1915  sub facetoface {
              .&Apache::lonhtmlcommon::end_pick_box()               .&Apache::lonhtmlcommon::end_pick_box()
              .'<br />'               .'<br />'
              .'<input type="submit" value="'.$lt{'subm'}.'" />'               .'<input type="submit" value="'.$lt{'subm'}.'" />'
              .'</form>'  
     );      );
   
     if (($stage ne 'query') &&      if (($stage ne 'query') &&
Line 2016  sub examblock { Line 1964  sub examblock {
  $r->print('Not allowed');   $r->print('Not allowed');
  return;   return;
     }      }
     my $usertype;      my $usertype = (&Apache::loncommon::course_type() eq 'Group') ? 'members'
     my $crstype = &Apache::loncommon::course_type();                                                            : 'students';
     if ($crstype eq 'Community') {  
         $usertype = 'members';  
     } else {  
  $usertype = 'students';  
     }  
     my $lctype = lc($crstype);  
     my %lt=&Apache::lonlocal::texthash(      my %lt=&Apache::lonlocal::texthash(
             'comb' => 'Communication Blocking',              'comb' => 'Communication Blocking',
             'cbds' => 'Communication blocking during scheduled exams',              'cbds' => 'Communication blocking during scheduled exams',
             'desc' => "You can use communication blocking to prevent $usertype enrolled in this $lctype from displaying LON-CAPA messages sent by other $usertype during an online exam. As blocking of communication could potentially interrupt legitimate communication between $usertype who are also both enrolled in a different LON-CAPA course or community, please be careful that you select the correct start and end times for your scheduled exam when setting or modifying these parameters.",              'desc' => "You can use communication blocking to prevent $usertype enrolled in this course from displaying LON-CAPA messages sent by other $usertype during an online exam. As blocking of communication could potentially interrupt legitimate communication between $usertype who are also both enrolled in a different LON-CAPA course, please be careful that you select the correct start and end times for your scheduled exam when setting or modifying these parameters.",
              'mecb' => 'Modify existing communication blocking periods',               'mecb' => 'Modify existing communication blocking periods',
              'ncbc' => 'No communication blocks currently saved',               'ncbc' => 'No communication blocks currently saved',
              'stor' => 'Save',               'stor' => 'Save',
Line 2204  sub display_blocker_status { Line 2146  sub display_blocker_status {
     <th>$ltext->{'setb'}</th>      <th>$ltext->{'setb'}</th>
     <th>$ltext->{'even'}</th>      <th>$ltext->{'even'}</th>
     <th>$ltext->{'blck'}</th>      <th>$ltext->{'blck'}</th>
     <th>$ltext->{'actn'}</th>      <th>$ltext->{'actn'}?</th>
   </tr>    </tr>
 END  END
     foreach my $record (sort(keys(%{$records}))) {      foreach my $record (sort(keys(%{$records}))) {
Line 2224  END Line 2166  END
                            $setuname,$setudom);                             $setuname,$setudom);
         $r->print(&Apache::loncommon::start_data_table_row());          $r->print(&Apache::loncommon::start_data_table_row());
         $r->print(<<"END");          $r->print(<<"END");
         <td>$ltext->{'star'}:&nbsp;$startform<br />$ltext->{'endd'}:&nbsp;&nbsp;$endform</td>          <td>$ltext->{'star'}:&nbsp;$startform<br/>$ltext->{'endd'}:&nbsp;&nbsp;$endform</td>
         <td>$settername</td>          <td>$settername</td>
         <td><input type="text" name="title_$parmcount" size="15" value="$title" /><input type="hidden" name="key_$parmcount" value="$record" /></td>          <td><input type="text" name="title_$parmcount" size="15" value="$title" /><input type="hidden" name="key_$parmcount" value="$record" /></td>
         <td>          <td>
Line 2234  END Line 2176  END
             if ($blocks->{$block} eq 'on') {              if ($blocks->{$block} eq 'on') {
                 $blockstatus = 'checked="checked"';                  $blockstatus = 'checked="checked"';
             }              }
             $r->print('<span class="LC_nobreak"><label><input type="checkbox" name="'.$block.'_'.$parmcount.'" '.$blockstatus.' value="1" />'.$types->{$block}.'</label></span><br />');              $r->print('<label><input type="checkbox" name="'.$block.'_'.$parmcount.'" '.$blockstatus.' value="1" />'.$types->{$block}.'</label><br />');
         }          }
         $r->print(<<"END");          $r->print(<<"END");
         </td>          </td>      
         <td><span class="LC_nobreak"><label>          <td><label>$lt{'modi'}?&nbsp;<input type="checkbox" name="modify_$parmcount" /></label><br /><label>$lt{'canc'}?&nbsp;&nbsp;<input type="checkbox" name="cancel_$parmcount" /></label>
         <input type="checkbox" name="modify_$parmcount" />$lt{'modi'}  
         </label></span><br /><span class="LC_nobreak">  
         <label>  
         <input type="checkbox" name="cancel_$parmcount" />$lt{'canc'}  
         </label></span>  
 END  END
         $r->print(&Apache::loncommon::end_data_table_row());          $r->print(&Apache::loncommon::end_data_table_row());
         $parmcount++;          $parmcount++;
Line 2280  END Line 2217  END
      <th>$ltext->{'dura'}</th>       <th>$ltext->{'dura'}</th>
      <th>$ltext->{'even'} $lt{'exam'}</th>       <th>$ltext->{'even'} $lt{'exam'}</th>
      <th>$ltext->{'blck'}</th>       <th>$ltext->{'blck'}</th>
      <th>$ltext->{'actn'}</th>       <th>$ltext->{'actn'}?</th>
    </tr>     </tr>
 END  END
     $r->print(&Apache::loncommon::start_data_table_row());      $r->print(&Apache::loncommon::start_data_table_row());
Line 2290  END Line 2227  END
      <td>       <td>
 END  END
     foreach my $block (@{$typeorder}) {      foreach my $block (@{$typeorder}) {
         $r->print('<span class="LC_nobreak"><label><input type="checkbox" name="'.$block.'_'.$parmcount.'" value="1" />'.$types->{$block}.'</label></span><br />');          $r->print('<label><input type="checkbox" name="'.$block.'_'.$parmcount.'" value="1" />'.$types->{$block}.'</label><br />');
      }       }
      $r->print(<<"END");       $r->print(<<"END");
      </td>       </td> 
      <td><span class="LC_nobreak"><label>       <td><label>$lt{'addb'}?&nbsp;<input type="checkbox" name="add_$parmcount" value="1" /></label></td>
      <input type="checkbox" name="add_$parmcount" value="1" />$lt{'addb'}  
      </label></span></td>  
 END  END
     $r->print(&Apache::loncommon::end_data_table_row());      $r->print(&Apache::loncommon::end_data_table_row());
     $r->print(&Apache::loncommon::end_data_table());      $r->print(&Apache::loncommon::end_data_table());
Line 2332  sub displaymessage { Line 2267  sub displaymessage {
     if ( $blocked{$msgid} eq 'ON' ) {      if ( $blocked{$msgid} eq 'ON' ) {
         &printheader($r,'/adm/email',&mt('Display a Message'));          &printheader($r,'/adm/email',&mt('Display a Message'));
         $r->print(&mt('You attempted to display a message that is currently blocked because you are enrolled in one or more courses for which there is an ongoing online exam.'));          $r->print(&mt('You attempted to display a message that is currently blocked because you are enrolled in one or more courses for which there is an ongoing online exam.'));
         $r->print(&Apache::loncommon::build_block_table($startblock,$endblock,\%setters));          &build_block_table($r,$startblock,$endblock,\%setters);
         return;          return;
     }      }
     if ($msgstatus eq '') {      if ($msgstatus eq '') {
Line 2369  sub displaymessage { Line 2304  sub displaymessage {
     &printheader($r,'/adm/email?display='.&escape($msgid),'Display a Message','',$content{'baseurl'});      &printheader($r,'/adm/email?display='.&escape($msgid),'Display a Message','',$content{'baseurl'});
     my %courseinfo=&Apache::lonnet::coursedescription($content{'courseid'});      my %courseinfo=&Apache::lonnet::coursedescription($content{'courseid'});
   
 # Functions and Actions  
     my $li_start='<span class="LC_nobreak">&bull; ';  
     my $li_end='</span> ';  
   
 # Prepare available functions  # Prepare available functions
     my @functionlist;      my @functionlist;
     if (!$content{'noreplies'}) {      if (!$content{'noreplies'}) {
Line 2402  sub displaymessage { Line 2333  sub displaymessage {
                           .&mt('Next')                            .&mt('Next')
                           .'</a>');                            .'</a>');
     }      }
 # 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">'  
              .'<fieldset>'  
              .'<legend>'  
              .$legendtext  
              .'</legend>'  
              .$showfunctionlist  
              .'</fieldset>'  
              .'</div>'  
     );  
   
 # Prepare available actions  # Prepare available actions
     my $symb;      my $symb;
Line 2424  sub displaymessage { Line 2341  sub displaymessage {
     } elsif (defined($content{'baseurl'})) {      } elsif (defined($content{'baseurl'})) {
         $symb=&Apache::lonnet::symbread($content{'baseurl'});          $symb=&Apache::lonnet::symbread($content{'baseurl'});
     }      }
     if ($env{'user.adv'}) {  
         my @actionlist;          my @actionlist;
       if ($env{'user.adv'}) {
   
  if (&Apache::lonnet::allowed('vgr',$env{'request.course.id'})) {   if (&Apache::lonnet::allowed('vgr',$env{'request.course.id'})) {
  push(@actionlist,&Apache::loncommon::track_student_link(   push(@actionlist,&Apache::loncommon::track_student_link(
Line 2450  sub displaymessage { Line 2367  sub displaymessage {
                                      ,$symb                                       ,$symb
                                      ,'check'));                                       ,'check'));
  }   }
       }
   
   # Print functionlist and actionlist in page header
           my $functions='<div class="LC_columnSection">';
   
 # Print actions          # Functionlist
           $functions.=&Apache::lonhtmlcommon::start_funclist();
           foreach my $item (@functionlist) {
               $functions.=&Apache::lonhtmlcommon::add_item_funclist($item);
           }
           $functions .= &Apache::lonhtmlcommon::end_funclist();
   
           # Actionlist
         if (@actionlist) {          if (@actionlist) {
             my $showactionlist = $li_start.join($li_end.$li_start,@actionlist).$li_end;              my $legendtext=&mt('Currently available actions (will open extra window)');
             $legendtext=&mt('[_1]Currently available actions[_2] (will open extra window):'              $functions.=&Apache::lonhtmlcommon::start_funclist($legendtext);
                            ,'<span class="LC_mail_functions">','</span>');              foreach my $item (@actionlist) {
             $r->print('<div class="LC_left_float">'                  $functions.=&Apache::lonhtmlcommon::add_item_funclist($item);
                      .'<fieldset>'              }
                      .'<legend>'              $functions.=&Apache::lonhtmlcommon::end_funclist();
                      .$legendtext  
                      .'</legend>'  
                      .$showactionlist  
                      .'</fieldset>'  
                      .'</div>'  
             );  
         }          }
     }  
           $functions.='</div>';
           $r->print(&Apache::loncommon::head_subbox($functions));
   
   
     my ($tonum,$tolist,$cclist,$bcclist,$groupcclist,%recipients);      my ($tonum,$tolist,$cclist,$bcclist,$groupcclist,%recipients);
     if ($content{'recipid'}) {      if ($content{'recipid'}) {
Line 2621  sub displaymessage { Line 2546  sub displaymessage {
             }              }
             if ($content{'group'} ne '') {              if ($content{'group'} ne '') {
                 if (&check_group_priv($content{'group'})) {                  if (&check_group_priv($content{'group'})) {
                     if (ref($recipients{'group_cc_broadcast'}) eq 'ARRAY') {                      $groupcclist = join(', ',@{$recipients{'group_cc_broadcast'}});
                         $groupcclist = join(', ',@{$recipients{'group_cc_broadcast'}});                      if ($groupcclist) {
                         if ($groupcclist) {                          $r->print(&Apache::lonhtmlcommon::row_title(&mt('Group Cc'))
                             $r->print(&Apache::lonhtmlcommon::row_title(&mt('Group Cc'))                                   .$groupcclist
                                      .$groupcclist                                   .&Apache::lonhtmlcommon::row_closure()
                                      .&Apache::lonhtmlcommon::row_closure()                          );
                             );  
                         }  
                     }                      }
                 }                  }
             }              }
Line 2815  sub recipients_link { Line 2738  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 2838  function writeWin(caller) { Line 2760  function writeWin(caller) {
     caller.document.close();      caller.document.close();
     caller.focus();      caller.focus();
 }  }
 // ]]>  
 </script>  </script>
   
 ENDJS  ENDJS
Line 2896  sub header { Line 2818  sub header {
     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('Messages',      $r->print(&Apache::loncommon::start_page('Communication',
   $extra));    $extra));
     $r->print(&Apache::lonhtmlcommon::breadcrumbs      $r->print(&Apache::lonhtmlcommon::breadcrumbs
       (($title?$title:'Send and display messages')));        (($title?$title:'Send and Receive Messages')));
 }  }
   
 # ---------------------------------------------------------------- Print header  # ---------------------------------------------------------------- Print header
Line 3152  sub sendoffmail { Line 3074  sub sendoffmail {
     my ($recuname,$recdomain)=split(/\:/,$address);      my ($recuname,$recdomain)=split(/\:/,$address);
             my $msgtxt = $savemsg;              my $msgtxt = $savemsg;
             if ($toaddr{$address}) {              if ($toaddr{$address}) {
         $msgtxt.="\n".'<hr />'."\n".$toaddr{$address};          $msgtxt.='<hr />'.$toaddr{$address};
             }              }
     my @thismsg;      my @thismsg;
     if ($msgtype eq 'critical') {      if ($msgtype eq 'critical') {
Line 3259  sub sendoffmail { Line 3181  sub sendoffmail {
         }          }
         if (!$env{'form.multiforward'}) {           if (!$env{'form.multiforward'}) { 
             if ($sendstatus=~/^(\s*(?:ok|con_delayed)\s*)*$/) {              if ($sendstatus=~/^(\s*(?:ok|con_delayed)\s*)*$/) {
                 my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Completed.'));          $r->print('<br /><span class="LC_success">'.&mt('Completed.').
                 $message = &Apache::loncommon::confirmwrapper($message);                            '</span>');
                 $r->print($message);  
         if ($env{'form.displayedcrit'}) {          if ($env{'form.displayedcrit'}) {
             &discrit($r);              &discrit($r);
                 }                  }
Line 3271  sub sendoffmail { Line 3192  sub sendoffmail {
             &Apache::loncommunicate::menu($r);              &Apache::loncommunicate::menu($r);
         }          }
             } else {              } else {
                 my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Could not deliver message'),1);          $r->print('<p>'.&Apache::lonhtmlcommon::confirm_success(&mt('Could not deliver message'),1).'<br /> '.
                 $message .= '<br />'.&mt('Please use the browser "Back" button and correct the recipient addresses ([_1]).',$sendstatus);            &mt('Please use the browser "Back" button and correct the recipient addresses ([_1]).',$sendstatus).'</p>');
                 $message = &Apache::loncommon::confirmwrapper($message);  
                 $r->print($message);  
             }              }
         }          }
     } else {  
         &printheader($r,'','Messages cancelled.');  
         return 'cancelled';  
     }      }
     return $sendstatus;      return $sendstatus;
 }  }
Line 3303  sub handler { Line 3219  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='&amp;sortedby='.$env{'form.sortedby'};      $sqs='&sortedby='.$env{'form.sortedby'};
   
 # ------------------------------------------------------ They checked for email  # ------------------------------------------------------ They checked for email
     unless ($env{'form.block'}) {      unless ($env{'form.block'}) {
Line 3315  sub handler { Line 3231  sub handler {
     &Apache::lonhtmlcommon::clear_breadcrumbs();      &Apache::lonhtmlcommon::clear_breadcrumbs();
     &Apache::lonhtmlcommon::add_breadcrumb      &Apache::lonhtmlcommon::add_breadcrumb
         ({href=>"/adm/communicate",          ({href=>"/adm/communicate",
           text=>"Messages",            text=>"Communication/Messages",
           faq=>12,bug=>'Communication Tools',});            faq=>12,bug=>'Communication Tools',});
   
 # ------------------------------------------------------------------ Get Folder  # ------------------------------------------------------------------ Get Folder
Line 3324  sub handler { Line 3240  sub handler {
     unless ($folder) {       unless ($folder) { 
  $folder='';    $folder=''; 
     } else {      } else {
  $sqs.='&amp;folder='.&escape($folder);   $sqs.='&folder='.&escape($folder);
     }      }
 # ------------------------------------------------------------ Get Display Mode  # ------------------------------------------------------------ Get Display Mode
   
Line 3356  sub handler { Line 3272  sub handler {
  $startdis++;   $startdis++;
     }      }
     my $postedstartdis=$startdis+1;      my $postedstartdis=$startdis+1;
     $sqs.='&amp;startdis='.$postedstartdis;      $sqs.='&startdis='.$postedstartdis;
   
 # --------------------------------------------------------------- Render Output  # --------------------------------------------------------------- Render Output
   
Line 3396  sub handler { Line 3312  sub handler {
  my ($result,$msg) =    my ($result,$msg) = 
     &statuschange($env{'form.markdel'},'deleted',$folder);      &statuschange($env{'form.markdel'},'deleted',$folder);
  if (!$result) {   if (!$result) {
             my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Failed to delete the message.'),1);      $r->print('<p class="LC_error">'.
             $message .= '<p class="LC_error">'.$msg.'</p>';        &mt('Failed to delete the message.').'</p>'.
             $message = &Apache::loncommon::confirmwrapper($message);        '<p class="LC_error">'.$msg."</p>\n");
             $r->print($message);  
  }   }
  &Apache::loncommunicate::menu($r);   &Apache::loncommunicate::menu($r);
  &disall($r,($folder?$folder:$dismode),$msgstatus);   &disall($r,($folder?$folder:$dismode),$msgstatus);
Line 3421  sub handler { Line 3336  sub handler {
             $total ++;              $total ++;
         }          }
         &printheader($r,'','Marked Messages Read');          &printheader($r,'','Marked Messages Read');
         my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Marked [quant,_1,message] read',$total));          $r->print(&mt('Marked [_1] message(s) read',$total).'<p>');
         $message = &Apache::loncommon::confirmwrapper($message);  
         $r->print($message);  
         &Apache::loncommunicate::menu($r);          &Apache::loncommunicate::menu($r);
         &disall($r,($folder?$folder:$dismode),$msgstatus);          &disall($r,($folder?$folder:$dismode),$msgstatus);
     } elsif ($env{'form.markedaction'} eq 'markedunread') {      } elsif ($env{'form.markedaction'} eq 'markedunread') {
Line 3434  sub handler { Line 3347  sub handler {
             $total ++;              $total ++;
         }          }
         &printheader($r,'','Marked Messages Unread');          &printheader($r,'','Marked Messages Unread');
         my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Marked [quant,_1,message] unread',$total));          $r->print(&mt('Marked [_1] message(s) unread',$total).'<p>');
         $message = &Apache::loncommon::confirmwrapper($message);  
         $r->print($message);  
         &Apache::loncommunicate::menu($r);          &Apache::loncommunicate::menu($r);
         &disall($r,($folder?$folder:$dismode),$msgstatus);          &disall($r,($folder?$folder:$dismode),$msgstatus);
     } elsif ($env{'form.markedaction'} eq 'markedmove') {      } elsif ($env{'form.markedaction'} eq 'markedmove') {
Line 3459  sub handler { Line 3370  sub handler {
     push(@failed_msg,$msg);      push(@failed_msg,$msg);
         }          }
     }      }
             my $message;      if ($failed) {
             if ($failed) {          $r->print('<p class="LC_error">
                 $message = &Apache::lonhtmlcommon::confirm_success(&mt('Failed to move [quant,_1,message]',$failed),1);                            '.&mt('Failed to move [_1] message(s)',$failed).
                 $message .= '<p class="LC_error">'.        '</p>');
             join("</p>\n<p class=\"LC_error\">",@failed_msg).          $r->print('<p class="LC_error">'.
             "</p>\n";              join("</p>\n<p class=\"LC_error\">",@failed_msg).
             }            "</p>\n");
             $message .= &Apache::lonhtmlcommon::confirm_success(&mt('Moved [quant,_1,message]',$total));      }
             $message = &Apache::loncommon::confirmwrapper($message);      $r->print(&mt('Moved [_1] message(s)',$total).'<p>');
             $r->print($message);  
         }          }
  &Apache::loncommunicate::menu($r);   &Apache::loncommunicate::menu($r);
  &disall($r,($folder?$folder:$dismode),$msgstatus);   &disall($r,($folder?$folder:$dismode),$msgstatus);
Line 3486  sub handler { Line 3396  sub handler {
     }      }
  }   }
  &printheader($r,'','Deleted Messages');   &printheader($r,'','Deleted Messages');
         my $message;  
  if ($failed) {   if ($failed) {
             $message = &Apache::lonhtmlcommon::confirm_success(&mt('Failed to delete [quant,_1,message]',$failed),1);      $r->print('<p class="LC_error">
             $message .= '<p class="LC_error">'.                            '.&mt('Failed to delete [_1] message(s)',$failed).
         '</p>');
       $r->print('<p class="LC_error">'.
       join("</p>\n<p class=\"LC_error\">",@failed_msg).        join("</p>\n<p class=\"LC_error\">",@failed_msg).
       "</p>\n";        "</p>\n");
  }   }
         $message .= &Apache::lonhtmlcommon::confirm_success(&mt('Deleted [quant,_1,message]',$total));   $r->print(&mt('Deleted [_1] message(s)',$total).'<p>');
         $message = &Apache::loncommon::confirmwrapper($message);  
         $r->print($message);  
  &Apache::loncommunicate::menu($r);   &Apache::loncommunicate::menu($r);
  &disall($r,($folder?$folder:$dismode),$msgstatus);   &disall($r,($folder?$folder:$dismode),$msgstatus);
     } elsif ($env{'form.markunread'}) {      } elsif ($env{'form.markunread'}) {
Line 3551  sub handler { Line 3460  sub handler {
             }              }
             if (keys(%forwardok) > 0) {              if (keys(%forwardok) > 0) {
                 my $count = keys(%forwardok);                  my $count = keys(%forwardok);
                 my $message = &Apache::lonhtmlcommon::confirm_success(&mt('[quant,_1,message] forwarded.',$count));                  $r->print('<br /><span class="LC_success">'.
                 $message = &Apache::loncommon::confirmwrapper($message);                            &mt('[quant,_1,message] forwarded.',$count).
                 $r->print($message);                            '</span>');
             }              }
             if (keys(%forwardfail) > 0) {              if (keys(%forwardfail) > 0) {
                 my $count = keys(%forwardfail);                  my $count = keys(%forwardfail);
                 my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Could not forward [quant,_1,message].',$count),1);                  $r->print('<p><span class="LC_error">'.
                             &mt('Could not forward [quant,_1,message].',$count).
                             '</span> ');
                 foreach my $key (keys(%forwardfail)) {                  foreach my $key (keys(%forwardfail)) {
                     $message .= '<br />'.&mt('Could not deliver forwarded message.').'</span> '.                      $r->print(&mt('Could not deliver forwarded message.').'</span> '.
                                 &mt('The recipient addresses may need to be corrected').' ('.$forwardfail{$key}.')';                                &mt('The recipient addresses may need to be corrected').' ('.$forwardfail{$key}.').<br /><br />');
                 }                  }
                 $message = &Apache::loncommon::confirmwrapper($message);  
                 $r->print($message);  
             }              }
             &Apache::loncommunicate::menu($r);              &Apache::loncommunicate::menu($r);
         } else {          } else {
Line 3587  sub handler { Line 3496  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') {
             my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Folder "[_1]" created.',$showfolder));              $r->print(&mt('Folder "[_1]" created.',$showfolder).'<br />');
             $message = &Apache::loncommon::confirmwrapper($message);  
             $r->print($message);  
         } else {          } else {
             my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Creation failed.').' '.$makeresult.'<br />'.$warning,1);              $r->print(&mt('Creation failed.').' '.$makeresult.'<br />'.
             $message = &Apache::loncommon::confirmwrapper($message);                        $warning);
             $r->print($message);  
             $showfolder = $folder;              $showfolder = $folder;
         }          }
         &Apache::loncommunicate::menu($r);          &Apache::loncommunicate::menu($r);
Line 3605  sub handler { Line 3511  sub handler {
         my $showfolder = '';          my $showfolder = '';
         my $delresult = &deletefolder($folder);          my $delresult = &deletefolder($folder);
         if ($delresult eq 'ok') {          if ($delresult eq 'ok') {
             my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Folder "[_1]" deleted.',$folder));              $r->print(&mt('Folder "[_1]" deleted.',$folder).'<br />');
             $message = &Apache::loncommon::confirmwrapper($message);  
             $r->print($message);  
             $env{'form.folder'} = '';              $env{'form.folder'} = '';
         } else {          } else {
             my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Deletion failed.').' '.$delresult,1);              $r->print(&mt('Deletion failed.').' '.$delresult.'<br />');
             $message = &Apache::loncommon::confirmwrapper($message);  
             $r->print($message);  
             $showfolder = $folder;              $showfolder = $folder;
         }          }
         &Apache::loncommunicate::menu($r);          &Apache::loncommunicate::menu($r);
Line 3622  sub handler { Line 3524  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') {
             my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Folder "[_1]" renamed to "[_2]".',$folder,$showfolder));              $r->print(&mt('Folder "[_1]" renamed to "[_2]".',$folder,$showfolder).'<br />');
             $message = &Apache::loncommon::confirmwrapper($message);  
             $r->print($message);  
         } else {          } else {
             my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Renaming failed.').' '.$renresult,1);              $r->print(&mt('Renaming failed.').' '.$renresult.'<br />');
             $message = &Apache::loncommon::confirmwrapper($message);  
             $r->print($message);  
             $showfolder = $folder;              $showfolder = $folder;
         }          }
         &Apache::loncommunicate::menu($r);          &Apache::loncommunicate::menu($r);

Removed from v.1.124.4.12  
changed lines
  Added in v.1.126


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