Diff for /loncom/interface/lonmsgdisplay.pm between versions 1.144 and 1.157.4.1

version 1.144, 2010/01/25 16:46:12 version 1.157.4.1, 2012/02/14 17:28:25
Line 110  use Apache::lonfeedback; Line 110  use Apache::lonfeedback;
 use Apache::lonrss();  use Apache::lonrss();
 use Apache::lonselstudent();  use Apache::lonselstudent();
 use lib '/home/httpd/lib/perl/';  use lib '/home/httpd/lib/perl/';
 use LONCAPA;  use LONCAPA qw(:DEFAULT :match);
   
 # Querystring component with sorting type  # Querystring component with sorting type
 my $sqs='';  my $sqs='';
Line 222  function folder_choice(targetform,caller Line 222  function folder_choice(targetform,caller
   
     $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="8">
  <tr>  
   <td align="left">  
    <table border="0" cellspacing="2" cellpadding="2">  
     <tr>      <tr>
      <td align="center"><b>'.$lt{'fold'}.'</b><br />'."\n".       <td><b>'.$lt{'fold'}.'</b><br />'."\n".
          &Apache::loncommon::select_form($folder,'folder',%formhash).'           &Apache::loncommon::select_form($folder,'folder',\%formhash).'
      </td>       </td>
      <td align="center"><b>'.$lt{'show'}.'</b><br />'."\n".       <td><b>'.$lt{'show'}.'</b><br />'."\n".
          &Apache::loncommon::select_form($env{'form.interdis'},'interdis',           &Apache::loncommon::select_form($env{'form.interdis'},'interdis',
  %show).'   \%show).'
        </td>
        <td><b>'.$lt{'status'}.'</b><br />'."\n".
          &Apache::loncommon::select_form($msgstatus,'msgstatus',\%statushash).'
      </td>       </td>
      <td align="center"><b>'.$lt{'status'}.'</b><br />'."\n".       <td><b>'.$lt{'actn'}.'</b><br />'."\n".'
        &Apache::loncommon::select_form($msgstatus,'msgstatus',%statushash).'           <span class="LC_nobreak">'.
            &Apache::loncommon::select_form('view','folderaction',\%actions).
            ' <input type="button" value="'.$lt{'go'}.
            '" onclick="javascript:folder_choice(this.form,'."'change'".');" />
            </span>
      </td>       </td>
      <td align="center"><b>'.$lt{'actn'}.'</b><br />'.       <td><b>'.&mt('New Folder').'</b><br />'."\n".'
          &Apache::loncommon::select_form('view','folderaction',%actions).'           <span class="LC_nobreak">
      </td><td><br />'.           <input type="text" size="15" name="newfolder" value="" />
     '<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,'."'new'".');" />
            </span>
      </td>       </td>
     </tr>      </tr>
    </table>     </table>
   </td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>  '."\n".
   <td align="right">  
    <table><tr><td><br />  
     <input type="button" value="'.&mt('New Folder').  
     '" onclick="javascript:folder_choice(this.form,'."'new'".');" /></td>'.  
     '<td align="center"><b>'.&mt('Name').'</b><br />'.  
     '<input type="text" size="15" name="newfolder" value="" />  
     </td></tr></table>  
   </td>  
  </tr>  
 </table>'."\n".  
     '<input type="hidden" name="sortedby" value="'.$env{'form.sortedby'}.'" />'.      '<input type="hidden" name="sortedby" value="'.$env{'form.sortedby'}.'" />'.
     '<input type="hidden" name="renamed" value="" />'.      '<input type="hidden" name="renamed" value="" />'.
         ($folder=~/^critical/?'</form>':'');          ($folder=~/^critical/?'</form>':'');
Line 308  sub scrollbuttons { Line 304  sub scrollbuttons {
            '<input type="submit" name="lastview" value="&gt;|" />';             '<input type="submit" name="lastview" value="&gt;|" />';
     }      }
     $output .=      $output .=
         '<br />'          '<p>'
        .'<b>'.&mt($status.' messages:').'</b> '         .'<b>'.&mt($status.' messages:').'</b> '
        .&mt('showing messages [_1] through [_2] of [_3].',         .&mt('showing messages [_1] through [_2] of [_3].',
             $first,$finish,$total)              $first,$finish,$total)
          .'</p>'
        .'</form>';         .'</form>';
   
     return $output;      return $output;
Line 381  sub deletefolder { Line 378  sub deletefolder {
     my ($folder)=@_;      my ($folder)=@_;
     my %permfolders = &get_permanent_folders();      my %permfolders = &get_permanent_folders();
     if (defined($permfolders{$folder})) {      if (defined($permfolders{$folder})) {
         return &mt('The folder "[_1]" may not be deleted',$folder);           return &mt('The folder "[_1]" may not be deleted.',$folder); 
     }      }
     my %userfolders = &Apache::lonmsg::get_user_folders();      my %userfolders = &Apache::lonmsg::get_user_folders();
     if (!defined($userfolders{$folder})) {      if (!defined($userfolders{$folder})) {
Line 629  sub disgroup { Line 626  sub disgroup {
         return;          return;
     } else {      } else {
         $hasfloat = 1;          $hasfloat = 1;
         unless($env{'environment.wysiwygeditor'} eq 'on') {          $r->print('<div class="LC_left_float">');
             $r->print('<div class="LC_left_float">');  
         }  
         my %Sortby = (          my %Sortby = (
                          active   => {},                           active   => {},
                          previous => {},                           previous => {},
Line 704  sub disgroup { Line 699  sub disgroup {
                 }                  }
             }              }
         }          }
         unless($env{'environment.wysiwygeditor'} eq 'on') {          $r->print('</div>');
             $r->print('</div>');  
         }  
     }      }
     return $hasfloat;      return $hasfloat;
 }  }
Line 821  sub discrit { Line 814  sub discrit {
     foreach my $key (sort(keys(%what))) {      foreach my $key (sort(keys(%what))) {
         my %content=&Apache::lonmsg::unpackagemsg($what{$key});          my %content=&Apache::lonmsg::unpackagemsg($what{$key});
         next if ($content{'senderdomain'} eq '');          next if ($content{'senderdomain'} eq '');
           my $description;
           if ($content{'courseid'} ne '') {
               if ($content{'courseid'} =~ m{/^$match_domain\_$match_courseid$}) {
                   my %courseinfo=&Apache::lonnet::coursedescription($content{'courseid'},{'one_time' => 1});
                   if ($courseinfo{'description'} ne '') {
                       $description = $courseinfo{'description'};
                   }
               }
           }
         $result .= &Apache::lonhtmlcommon::start_pick_box()          $result .= &Apache::lonhtmlcommon::start_pick_box()
                   .&Apache::lonhtmlcommon::row_title(&mt('From'),undef,'LC_oddrow_value')                    .&Apache::lonhtmlcommon::row_title(&mt('From'),undef,'LC_oddrow_value')
                   .'<b>'.&Apache::loncommon::aboutmewrapper(                    .'<b>'.&Apache::loncommon::aboutmewrapper(
Line 832  sub discrit { Line 834  sub discrit {
                   .&Apache::lonhtmlcommon::row_closure(1)                    .&Apache::lonhtmlcommon::row_closure(1)
                   .&Apache::lonhtmlcommon::row_title(&mt('Subject'),undef,'LC_oddrow_value')                    .&Apache::lonhtmlcommon::row_title(&mt('Subject'),undef,'LC_oddrow_value')
                   .$content{'subject'}                    .$content{'subject'}
                   .&Apache::lonhtmlcommon::row_closure(1)                    .&Apache::lonhtmlcommon::row_closure(1);
                   .&Apache::lonhtmlcommon::row_title(&mt('Message'),undef,'LC_evenrow_value')          if ($description ne '') {
               $result .= &Apache::lonhtmlcommon::row_title(&mt('Course'),undef,'LC_oddrow_value')
                         .$description
                         .&Apache::lonhtmlcommon::row_closure(1);
           }
           $result .= &Apache::lonhtmlcommon::row_title(&mt('Message'),undef,'LC_evenrow_value')
                   .'<pre>'.&Apache::lontexconvert::msgtexconverted($content{'message'}).'</pre>'                    .'<pre>'.&Apache::lontexconvert::msgtexconverted($content{'message'}).'</pre>'
                   .&Apache::lonhtmlcommon::row_closure()                    .&Apache::lonhtmlcommon::row_closure()
                   .&Apache::lonhtmlcommon::row_title('',undef,'LC_oddrow_value')                    .&Apache::lonhtmlcommon::row_title('',undef,'LC_oddrow_value')
Line 988  sub get_course_desc { Line 995  sub get_course_desc {
             if (defined($env{'course.'.$fromcid.'.description'})) {              if (defined($env{'course.'.$fromcid.'.description'})) {
                 $description = $env{'course.'.$fromcid.'.description'};                  $description = $env{'course.'.$fromcid.'.description'};
             } else {              } else {
                 my %courseinfo=&Apache::lonnet::coursedescription($fromcid);                  if ($fromcid =~ m{/^$match_domain\_$match_courseid$}) {
                 $description = $courseinfo{'description'};                      my %courseinfo=&Apache::lonnet::coursedescription($fromcid,
                                                                         {'one_time' => 1});
                       $description = $courseinfo{'description'};
                   }
               }
               if ($description ne '') {
                   $$descriptions{$fromcid} = $description;
             }              }
             $$descriptions{$fromcid} = $description;  
         }          }
         return $description;          return $description;
     }      }
Line 1030  sub disfolder { Line 1042  sub disfolder {
     my ($startblock,$endblock) = &Apache::loncommon::blockcheck(\%setters,'com');      my ($startblock,$endblock) = &Apache::loncommon::blockcheck(\%setters,'com');
     my %lt = &Apache::lonlocal::texthash(      my %lt = &Apache::lonlocal::texthash(
                       sede => 'Select a destination folder to which the messages will be moved.',                        sede => 'Select a destination folder to which the messages will be moved.',
                       nome => 'No messages have been selected to apply ths action to.',                        nome => 'No messages have been selected to apply this action to.',
                       chec => 'Check the checkbox for at least one message.',                          chec => 'Check the checkbox for at least one message.',  
     );      );
     my $jscript = &Apache::loncommon::check_uncheck_jscript();      my $jscript = &Apache::loncommon::check_uncheck_jscript();
Line 1101  ENDDISHEADER Line 1113  ENDDISHEADER
     if ($lastdis>$#temp) { $lastdis=$#temp; }      if ($lastdis>$#temp) { $lastdis=$#temp; }
     $r->print(&scrollbuttons($startdis,$number,$firstdis,$lastdis,$totalnumber,$msgstatus));      $r->print(&scrollbuttons($startdis,$number,$firstdis,$lastdis,$totalnumber,$msgstatus));
     $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>');        &Apache::loncommon::start_data_table().
             &Apache::loncommon::start_data_table_row().
             '<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 = "/adm/email?sortedby=date'.$fsqs.'">'.&mt('Date').'</a></th>');
     } else {      } else {
Line 1131  ENDDISHEADER Line 1145  ENDDISHEADER
     } else {      } else {
         $r->print('<a href = "/adm/email?sortedby=revcourse'.$fsqs.'">'.&mt('Course').'</a>');          $r->print('<a href = "/adm/email?sortedby=revcourse'.$fsqs.'">'.&mt('Course').'</a>');
     }      }
     $r->print('</th><th>');      $r->print('</th><th colspan="2">');
     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 = "/adm/email?sortedby=status'.$fsqs.'">'.&mt('Status').'</a></th>');
     } else {      } else {
Line 1145  ENDDISHEADER Line 1159  ENDDISHEADER
  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/) {
               my $class_msgstatus = '';
             $count ++;              $count ++;
     if ($status eq 'new') {              if ($status eq 'new') {
  $r->print('<tr class="LC_mail_new">');                  $class_msgstatus = 'LC_mail_new';
     } elsif ($status eq 'read') {              } elsif ($status eq 'read') {
  $r->print('<tr class="LC_mail_read">');                  $class_msgstatus = 'LC_mail_read';
     } elsif ($status eq 'replied') {              } elsif ($status eq 'replied') {
  $r->print('<tr class="LC_mail_replied">');                   $class_msgstatus = 'LC_mail_replied'; 
     } else {              } else {
  $r->print('<tr class="LC_mail_other">');                  $class_msgstatus = 'LC_mail_other';
     }              }
               $r->print(&Apache::loncommon::start_data_table_row($class_msgstatus));
     my ($dis_name,$dis_domain) = ($fromname,$fromdomain);      my ($dis_name,$dis_domain) = ($fromname,$fromdomain);
     if ($folder eq 'sent') {      if ($folder eq 'sent') {
                 if (defined($recv_name) && defined($recv_domain)) {                  if (defined($recv_name) && defined($recv_domain)) {
Line 1187  ENDDISHEADER Line 1203  ENDDISHEADER
                           '<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>':'').'</a></td>');
             }              }
               # Description and Status
             my $showstatus;              my $showstatus;
             my %statushash = &get_msgstatus_types();              my %statushash = &get_msgstatus_types();
             if ($status eq '') {              if ($status eq '') {
Line 1194  ENDDISHEADER Line 1211  ENDDISHEADER
             } else {              } else {
                 $showstatus = $statushash{$status};                  $showstatus = $statushash{$status};
             }              }
     $r->print('<td>'.(($status eq 'new')?'<b>':'').$description.              $r->print('<td>'.(($status eq 'new')?'<b>':'').$description.
                       (($status eq 'new')?'</b>':'').'</td><td>'.                        (($status eq 'new')?'</b>':'').
                       (($status eq 'new')?'<b>':'').$showstatus.                        '</td>');
                       (($status eq 'new')?'</b>':'').'</td></tr>'."\n");              $r->print('<td class="'.$class_msgstatus.'">&nbsp;&nbsp;</td>'.
  } elsif ($status eq 'deleted') {                        '<td>'.
                         (($status eq 'new')?'<b>':'').&mt($showstatus).
                         (($status eq 'new')?'</b>':'').
                         '</td>');
   
               $r->print(&Apache::loncommon::end_data_table_row());
   
           } elsif ($status eq 'deleted') {
 # purge  # purge
     my ($result,$msg) =               my ($result,$msg) = 
  &movemsg(&unescape($origID),$folder,'trash');          &movemsg(&unescape($origID),$folder,'trash');
               }
  }  
     }         }   
     $r->print("</table>\n");      $r->print(&Apache::loncommon::end_data_table());
     $r->print('<table border="0" cellspacing="2" cellpadding="2">  
   
       # Bottom Functions
       $r->print('<table border="0" cellspacing="2" cellpadding="8">
  <tr>   <tr>
   <td>'.    <td>
   '<input type="button" onclick="javascript:checkAll(document.disall.delmark)" value="'.&mt('Check All').'" /><br />'."\n".     <fieldset>
   '<input type="button" onclick="javascript:uncheckAll(document.disall.delmark)" value="'.&mt('Uncheck All').'" />'."\n".     <legend>'.&mt('Select').'</legend>
   '<input type="hidden" name="sortedby" value="'.$env{'form.sortedby'}.'" /></td><td>&nbsp;</td>'."\n".     <span class="LC_nobreak">
   '<td align="center"><b>'.&mt('Action').'</b><br />'."\n".     <input type="button" onclick="javascript:checkAll(document.disall.delmark)" value="'.&mt('Check All').'" />'."\n".
     ' <input type="button" onclick="javascript:uncheckAll(document.disall.delmark)" value="'.&mt('Uncheck All').'" />'."\n".
     '<input type="hidden" name="sortedby" value="'.$env{'form.sortedby'}.'" />
     </span>
     </fieldset>
     </td>'."\n".
     '<td><b>'.&mt('Action').'</b><br />'."\n".
   '  <select name="checkedaction">'."\n");    '  <select name="checkedaction">'."\n");
   
     if ($folder ne 'trash') {      if ($folder ne 'trash') {
Line 1234  ENDDISHEADER Line 1266  ENDDISHEADER
     $r->print("\n".'</select></td>'."\n");      $r->print("\n".'</select></td>'."\n");
   
     if (keys(%gotfolders) > 0) {      if (keys(%gotfolders) > 0) {
         $r->print('<td align="center"><b>'.&mt('Destination folder').'<b><br />');          $r->print('<td><b>'.&mt('Destination folder').'<b><br />');
  my %userfolders;   my %userfolders;
         foreach my $key (keys(%gotfolders)) {          foreach my $key (keys(%gotfolders)) {
             $userfolders{$key} = $key;              $userfolders{$key} = $key;
         }          }
         $userfolders{''} = "";          $userfolders{''} = "";
         $r->print(&Apache::loncommon::select_form('','movetofolder',%userfolders).          $r->print(&Apache::loncommon::select_form('','movetofolder',\%userfolders).
                   '</td>');                    '</td>');
     }      }
     $r->print('<td>&nbsp;</td><td>&nbsp;&nbsp;'.      $r->print('<td>'.
               '<input type="button" name="go" value="'.&mt('Go').                '<input type="button" name="go" value="'.&mt('Go').
               '" onclick="javascript:validate_checkedaction()"/></td>'."\n".                '" onclick="javascript:validate_checkedaction()"/></td>'."\n".
               '</tr></table>');                '</tr></table>');
Line 1406  sub compout { Line 1438  sub compout {
         if ($group eq '') {          if ($group eq '') {
             my $studentsel = &discourse(\%access_status);              my $studentsel = &discourse(\%access_status);
             if ($studentsel) {              if ($studentsel) {
                 if ($env{'environment.wysiwygeditor'} eq 'on') {                  $r->print('<div class="LC_left_float">'.$studentsel.'</div>');
                     $r->print($studentsel);  
                 } else {  
                     $r->print('<div class="LC_left_float">'.$studentsel.'</div>');  
                 }  
                 $hasfloat = 1;                  $hasfloat = 1;
             }              }
         } else {          } else {
Line 1506  ENDREPSCRIPT Line 1534  ENDREPSCRIPT
     if ($env{'form.text'}) { $dismsg=$env{'form.text'}; }      if ($env{'form.text'}) { $dismsg=$env{'form.text'}; }
     if ($env{'form.subject'}) { $dissub=$env{'form.subject'}; }      if ($env{'form.subject'}) { $dissub=$env{'form.subject'}; }
     if ($hasfloat) {      if ($hasfloat) {
         if ($env{'environment.wysiwygeditor'} eq 'on') {          $r->print($broadcast_js.'<div class="LC_left_float">');
             $r->print($broadcast_js);  
         } else {  
             $r->print($broadcast_js.'<div class="LC_left_float">');  
         }  
         $onsubmit = ' onsubmit="javascript:courseRecipients();" ';          $onsubmit = ' onsubmit="javascript:courseRecipients();" ';
     }      }
     $r->print(      $r->print(
Line 1620  ENDREPSCRIPT Line 1644  ENDREPSCRIPT
         }          }
     }      }
     my $latexHelp = &Apache::loncommon::helpLatexCheatsheet(undef,undef,1);      my $latexHelp = &Apache::loncommon::helpLatexCheatsheet(undef,undef,1);
     my $wysiwyglink=&Apache::lonhtmlcommon::htmlareaselectactive('message').'<br />';      my $textareaclass;
       if (&Apache::lonhtmlcommon::htmlareabrowser()) {
           $r->print(&Apache::lonhtmlcommon::htmlareaselectactive());
           $textareaclass = 'class="LC_richDefaultOff"';
       }
     my $subj_size;      my $subj_size;
     if ($multiforward) {      if ($multiforward) {
         $r->print(&additional_rec_row(\%lt));          $r->print(&additional_rec_row(\%lt));
Line 1642  ENDREPSCRIPT Line 1670  ENDREPSCRIPT
 <tr><td align="left">'."\n".  <tr><td align="left">'."\n".
 $latexHelp."<br />\n".  $latexHelp."<br />\n".
 &mt("Any new text to display before the text of the original messages:").'<br />'."\n".  &mt("Any new text to display before the text of the original messages:").'<br />'."\n".
 '<textarea name="message" id="message" cols="80" rows="5" wrap="hard"></textarea>'.  '<textarea name="message" id="message" cols="80" rows="5" wrap="hard" $textareaclass></textarea>');
 $wysiwyglink);  
         my @to_forward = &Apache::loncommon::get_env_multiple('form.delmark');          my @to_forward = &Apache::loncommon::get_env_multiple('form.delmark');
         foreach my $msg (@to_forward) {          foreach my $msg (@to_forward) {
             $r->print('<input type="hidden" name="delmark" value="'.$msg.'" />');              $r->print('<input type="hidden" name="delmark" value="'.$msg.'" />');
Line 1663  $wysiwyglink); Line 1690  $wysiwyglink);
 $attachrow  $attachrow
 </table><br />  </table><br />
 $latexHelp<br />  $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" $textareaclass>$dismsg
 </textarea>$wysiwyglink  </textarea>
   <br />
 $sendmode  $sendmode
 $dispcrit  $dispcrit
 $disbase  $disbase
Line 1689  ENDCOMP Line 1717  ENDCOMP
 Subject: <input type="text" size="50" name="subject" />  Subject: <input type="text" size="50" name="subject" />
 </p>  </p>
 <p>$lt{'gmt'}:<br />  <p>$lt{'gmt'}:<br />
 <textarea name="message" id="message" cols="60" rows="10" wrap="hard">$dismsg  <textarea name="message" id="message" cols="60" rows="10" wrap="hard" $textareaclass>$dismsg
 </textarea>$wysiwyglink</p>  </textarea></p>
 <p>  <p>
 $lt{'tff'}:  $lt{'tff'}:
 ENDBLOCK  ENDBLOCK
Line 1716  ENDUPLOAD Line 1744  ENDUPLOAD
     }      }
     $r->print('</form>');      $r->print('</form>');
     if ($hasfloat) {      if ($hasfloat) {
         unless($env{'environment.wysiwygeditor'} eq 'on') {          $r->print('</div><div class="LC_clear_float_footer"></div>');
             $r->print('</div><div class="LC_clear_float_footer"></div>');  
         }  
     }      }
     $r->print(&generate_preview_form);      $r->print(&generate_preview_form);
 }  }
Line 1739  sub check_group_priv { Line 1765  sub check_group_priv {
   
 sub recipient_input_row {  sub recipient_input_row {
     my ($dom,%lt) = @_;      my ($dom,%lt) = @_;
     my $domform = &Apache::loncommon::select_dom_form($dom,'recdomain');      my $domform;
       if (($dom eq 'relate') && (!$env{'user.adv'})) {
           $domform = '<span class="LC_cusr_emph">'.$dom.'</span>'.
                      '<input type="hidden" name="recdomain" value="'.$dom.'" />';  
       } else {
           $domform = &Apache::loncommon::select_dom_form($dom,'recdomain');
       }
     my $selectlink=      my $selectlink=
       &Apache::loncommon::selectstudent_link('compemail','recuname',        &Apache::loncommon::selectstudent_link('compemail','recuname',
                                              'recdomain');                                               'recdomain');
     my $output = <<"ENDREC";      my $output = <<"ENDREC";
 <tr><td colspan="3"><span class="LC_nobreak"><b>$lt{'to'}</b> $lt{'us'}:&nbsp;<input type="text" size="12" name="recuname" value="$env{'form.recname'}" />&nbsp;$lt{'do'}:&nbsp;$domform&nbsp;&nbsp;$selectlink</span></td></tr>  <tr><td colspan="3"><span class="LC_nobreak"><b>$lt{'to'}</b> $lt{'us'}:&nbsp;<input type="text" size="15" name="recuname" value="$env{'form.recname'}" />&nbsp;$lt{'do'}:&nbsp;$domform&nbsp;&nbsp;$selectlink</span></td></tr>
 ENDREC  ENDREC
     return $output;      return $output;
 }  }
Line 1844  sub retrieve_instructor_comments { Line 1876  sub retrieve_instructor_comments {
   
 sub disfacetoface {  sub disfacetoface {
     my ($r,$user,$domain,$target)=@_;      my ($r,$user,$domain,$target)=@_;
  if ($target eq '') {      if ($target eq '') {
     my $target=$env{'form.grade_target'};          $target=$env{'form.grade_target'};
  }      }
     unless ($env{'request.course.id'}) { return; }      unless ($env{'request.course.id'}) { return; }
     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'}.
Line 1992  sub facetoface { Line 2024  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 2249  END Line 2282  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 2259  END Line 2292  END
             if ($blocks->{$block} eq 'on') {              if ($blocks->{$block} eq 'on') {
                 $blockstatus = 'checked="checked"';                  $blockstatus = 'checked="checked"';
             }              }
             $r->print('<label><input type="checkbox" name="'.$block.'_'.$parmcount.'" '.$blockstatus.' value="1" />'.$types->{$block}.'</label><br />');              $r->print('<span class="LC_nobreak"><label><input type="checkbox" name="'.$block.'_'.$parmcount.'" '.$blockstatus.' value="1" />'.$types->{$block}.'</label></span><br />');
         }          }
         $r->print(<<"END");          $r->print(<<"END");
         </td>                </td>      
         <td><span class="LC_nobreak"><label>          <td><span class="LC_nobreak"><label>
         <input type="checkbox" name="modify_$parmcount" />$lt{'modi'}          <input type="checkbox" name="modify_$parmcount" />$lt{'modi'}
         </label><br />          </label></span><br /><span class="LC_nobreak">
         <label>          <label>
         <input type="checkbox" name="cancel_$parmcount" />$lt{'canc'}          <input type="checkbox" name="cancel_$parmcount" />$lt{'canc'}
         </label></span>          </label></span>
Line 2315  END Line 2348  END
      <td>       <td>
 END  END
     foreach my $block (@{$typeorder}) {      foreach my $block (@{$typeorder}) {
         $r->print('<label><input type="checkbox" name="'.$block.'_'.$parmcount.'" value="1" />'.$types->{$block}.'</label><br />');          $r->print('<span class="LC_nobreak"><label><input type="checkbox" name="'.$block.'_'.$parmcount.'" value="1" />'.$types->{$block}.'</label></span><br />');
      }       }
      $r->print(<<"END");       $r->print(<<"END");
      </td>        </td>
      <td><label>       <td><span class="LC_nobreak"><label>
      <input type="checkbox" name="add_$parmcount" value="1" />$lt{'addb'}       <input type="checkbox" name="add_$parmcount" value="1" />$lt{'addb'}
      </label></td>       </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 2394  sub displaymessage { Line 2427  sub displaymessage {
     my $number_of_messages = scalar(@messages); #subtract 1 for last index      my $number_of_messages = scalar(@messages); #subtract 1 for last index
 # start output  # start output
     &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'});  
   
 # Prepare available functions  # Prepare available functions
     my @functionlist;      my @functionlist;
Line 2638  sub displaymessage { Line 2670  sub displaymessage {
             }              }
             if ($content{'group'} ne '') {              if ($content{'group'} ne '') {
                 if (&check_group_priv($content{'group'})) {                  if (&check_group_priv($content{'group'})) {
                     $groupcclist = join(', ',@{$recipients{'group_cc_broadcast'}});                      if (ref($recipients{'group_cc_broadcast'}) eq 'ARRAY') { 
                     if ($groupcclist) {                          $groupcclist = join(', ',@{$recipients{'group_cc_broadcast'}});
                         $r->print(&Apache::lonhtmlcommon::row_title(&mt('Group Cc'))                          if ($groupcclist) {
                                  .$groupcclist                              $r->print(&Apache::lonhtmlcommon::row_title(&mt('Group Cc'))
                                  .&Apache::lonhtmlcommon::row_closure()                                       .$groupcclist
                         );                                       .&Apache::lonhtmlcommon::row_closure()
                               );
                           }
                     }                      }
                 }                  }
             }              }
Line 2651  sub displaymessage { Line 2685  sub displaymessage {
     }      }
   
     # Course      # Course
     if ($content{'courseid'}) {      if ($content{'courseid'} ne '') {
         $r->print(&Apache::lonhtmlcommon::row_title(&mt($crstype))          if ($content{'courseid'} =~ m{^$match_domain\_$match_courseid$}) {
                  .$courseinfo{'description'}              my %courseinfo;
         );              %courseinfo=&Apache::lonnet::coursedescription($content{'courseid'},
         if ($content{'coursesec'}) {                                                             {'one_time' => 1});
             $r->print(' ('.&mt('Section').': '.$content{'coursesec'}.')');              my $description = $courseinfo{'description'};
               if ($description ne '') {
                   $r->print(&Apache::lonhtmlcommon::row_title(&mt($crstype))
                            .$description
                   );
                   if ($content{'coursesec'}) {
                       $r->print(' ('.&mt('Section').': '.$content{'coursesec'}.')');
                   }
                   $r->print(&Apache::lonhtmlcommon::row_closure());
               }
         }          }
         $r->print(&Apache::lonhtmlcommon::row_closure());  
     }      }
     $r->print(&Apache::lonhtmlcommon::row_title(&mt('Time'))      $r->print(&Apache::lonhtmlcommon::row_title(&mt('Time'))
              .$content{'time'}               .$content{'time'}
Line 3167  sub sendoffmail { Line 3209  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.='<hr />'.$toaddr{$address};          $msgtxt.="\n".'<hr />'."\n".$toaddr{$address};
             }              }
     my @thismsg;      my @thismsg;
     if ($msgtype eq 'critical') {      if ($msgtype eq 'critical') {
Line 3287  sub sendoffmail { Line 3329  sub sendoffmail {
         }          }
             } else {              } else {
                 my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Could not deliver message'),1);                  my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Could not deliver message'),1);
                 $message .= '<br/>'.&mt('Please use the browser "Back" button and correct the recipient addresses ([_1]).',$sendstatus);                  $message .= '<br />'.&mt('Please use the browser "Back" button and correct the recipient addresses ([_1]).',$sendstatus);
                 $message = &Apache::loncommon::confirmwrapper($message);                  $message = &Apache::loncommon::confirmwrapper($message);
                 $r->print($message);                  $r->print($message);
             }              }
         }          }
       } else {
           &printheader($r,'','Messages cancelled.');
           return 'cancelled';
     }      }
     return $sendstatus;      return $sendstatus;
 }  }
Line 3409  sub handler { Line 3454  sub handler {
     &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);              my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Failed to delete the message.'),1);
             $message .= '<p class="LC_error">'.$msg.'</p>';              $message .= '<p class="LC_error" style="font-size: inherit;">'.$msg.'</p>';
             $message = &Apache::loncommon::confirmwrapper($message);              $message = &Apache::loncommon::confirmwrapper($message);
             $r->print($message);              $r->print($message);
  }   }
Line 3459  sub handler { Line 3504  sub handler {
         &printheader($r,'','Moved Messages');          &printheader($r,'','Moved Messages');
         if (!defined($gotfolders{$destfolder})) {          if (!defined($gotfolders{$destfolder})) {
             $r->print(&mt('Destination folder [_1] is not a valid folder',              $r->print(&mt('Destination folder [_1] is not a valid folder',
                       $destfolder));                            '<span class="LC_filename">'.$destfolder.'</span>'));
         } else {          } else {
     my ($total,$failed,@failed_msg)=(0,0);      my ($total,$failed,@failed_msg)=(0,0);
             my @to_move = &Apache::loncommon::get_env_multiple('form.delmark');              my @to_move = &Apache::loncommon::get_env_multiple('form.delmark');
Line 3476  sub handler { Line 3521  sub handler {
             my $message = '';              my $message = '';
             if ($failed) {              if ($failed) {
                 $message .= &Apache::lonhtmlcommon::confirm_success(&mt('Failed to move [quant,_1,message]',$failed),1);                  $message .= &Apache::lonhtmlcommon::confirm_success(&mt('Failed to move [quant,_1,message]',$failed),1);
                 $message .= '<p class="LC_error">'.                  $message .= '<p class="LC_error" style="font-size: inherit;">'.
             join("</p>\n<p class=\"LC_error\">",@failed_msg).              join("</p>\n<p class=\"LC_error\" style=\"font-size: inherit;\">",@failed_msg).
             "</p>\n";              "</p>\n";
             }              }
             $message .= &Apache::lonhtmlcommon::confirm_success(&mt('Moved [quant,_1,message]',$total));              $message .= &Apache::lonhtmlcommon::confirm_success(&mt('Moved [quant,_1,message]',$total));
Line 3504  sub handler { Line 3549  sub handler {
         my $message = '';          my $message = '';
  if ($failed) {   if ($failed) {
             $message .= &Apache::lonhtmlcommon::confirm_success(&mt('Failed to delete [quant,_1,message]',$failed),1);              $message .= &Apache::lonhtmlcommon::confirm_success(&mt('Failed to delete [quant,_1,message]',$failed),1);
             $message .= '<p class="LC_error">'.              $message .= '<p class="LC_error" style="font-size: inherit;">'.
       join("</p>\n<p class=\"LC_error\">",@failed_msg).        join("</p>\n<p class=\"LC_error\" style=\"font-size: inherit;\">",@failed_msg).
       "</p>\n";        "</p>\n";
  }   }
         $message .= &Apache::lonhtmlcommon::confirm_success(&mt('Deleted [quant,_1,message]',$total));          $message .= &Apache::lonhtmlcommon::confirm_success(&mt('Deleted [quant,_1,message]',$total));
Line 3575  sub handler { Line 3620  sub handler {
                 my $count = keys(%forwardfail);                  my $count = keys(%forwardfail);
                 my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Could not forward [quant,_1,message].',$count),1);                  my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Could not forward [quant,_1,message].',$count),1);
                 foreach my $key (keys(%forwardfail)) {                  foreach my $key (keys(%forwardfail)) {
                     $message .= '<br/>'.&mt('Could not deliver forwarded message.').'</span> '.                      $message .= '<br />'.&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}.')';
                 }                  }
                 $message = &Apache::loncommon::confirmwrapper($message);                  $message = &Apache::loncommon::confirmwrapper($message);

Removed from v.1.144  
changed lines
  Added in v.1.157.4.1


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