Diff for /loncom/interface/lonmsgdisplay.pm between versions 1.114 and 1.128

version 1.114, 2009/02/14 00:27:08 version 1.128, 2009/07/25 23:16:04
Line 136  sub folderlist { Line 136  sub folderlist {
   
     );      );
   
    # set se lastvisit for the new mail check in the toplevel menu
    &Apache::lonnet::appenv({'user.mailcheck.lastvisit'=>time});
   
     my %actions = &Apache::lonlocal::texthash(      my %actions = &Apache::lonlocal::texthash(
                                 view => 'View Folder',                                  view => 'View Folder',
                                 rename => 'Rename Folder',                                  rename => 'Rename Folder',
Line 170  sub folderlist { Line 173  sub folderlist {
   
     $formhash{'select_form_order'} = ['','critical',@userorder,'sent','trash'];      $formhash{'select_form_order'} = ['','critical',@userorder,'sent','trash'];
     my $output = qq|<script type="text/javascript">      my $output = qq|<script type="text/javascript">
   // <![CDATA[
 function folder_choice(targetform,caller) {  function folder_choice(targetform,caller) {
     var permfolders_keys = new Array('$permlistkeys');      var permfolders_keys = new Array('$permlistkeys');
     var permfolders_vals = new Array('$permlistvals');      var permfolders_vals = new Array('$permlistvals');
Line 211  function folder_choice(targetform,caller Line 215  function folder_choice(targetform,caller
         }          }
     }      }
 }  }
   // ]]>
 </script>|;  </script>|;
     my %show = ('select_form_order' => [10,20,50,100,200],      my %show = ('select_form_order' => [10,20,50,100,200],
  map {$_=>$_} (10,20,50,100,200));   map {$_=>$_} (10,20,50,100,200));
Line 236  function folder_choice(targetform,caller Line 241  function folder_choice(targetform,caller
      <td align="center"><b>'.$lt{'actn'}.'</b><br />'.       <td align="center"><b>'.$lt{'actn'}.'</b><br />'.
          &Apache::loncommon::select_form('view','folderaction',%actions).'           &Apache::loncommon::select_form('view','folderaction',%actions).'
      </td><td><br />'.       </td><td><br />'.
     '<input type="button" value="'.$lt{'go'}.'" onClick="javascript:folder_choice(this.form,'."'change'".');" />      '<input type="button" value="'.$lt{'go'}.'" onclick="javascript:folder_choice(this.form,'."'change'".');" />
      </td>       </td>
     </tr>      </tr>
    </table>     </table>
Line 244  function folder_choice(targetform,caller Line 249  function folder_choice(targetform,caller
   <td align="right">    <td align="right">
    <table><tr><td><br />     <table><tr><td><br />
     <input type="button" value="'.&mt('New Folder').      <input type="button" value="'.&mt('New Folder').
     '" onClick="javascript:folder_choice(this.form,'."'new'".');" /></td>'.      '" onclick="javascript:folder_choice(this.form,'."'new'".');" /></td>'.
     '<td align="center"><b>'.&mt('Name').'</b><br />'.      '<td align="center"><b>'.&mt('Name').'</b><br />'.
     '<input type="text" size="15" name="newfolder" value="" />      '<input type="text" size="15" name="newfolder" value="" />
     </td></tr></table>      </td></tr></table>
Line 292  sub scrollbuttons { Line 297  sub scrollbuttons {
     }      }
     return      return
    '<b>'.&mt('Page').'</b>: '.      '<b>'.&mt('Page').'</b>: '. 
    '<input type="submit" name="firstview" value="'.&mt('First').'" />'.     '<input type="submit" name="firstview" value="|&lt;" />'.
    '<input type="submit" name="prevview" value="'.&mt('Previous').'" />'.     '<input type="submit" name="prevview" value="&lt;" />'.
    '<input type="text" size="5" name="startdis" value="'.$start.'" onChange="this.form.submit()" /> of '.$maxdis.     ' <input type="text" size="5" name="startdis" value="'.$start.'" onchange="this.form.submit()" /> / '.$maxdis.' '.
    '<input type="submit" name="nextview" value="'.&mt('Next').'" />'.     '<input type="submit" name="nextview" value="&gt;" />'.
    '<input type="submit" name="lastview" value="'.&mt('Last').'" /><br />'.     '<input type="submit" name="lastview" value="&gt;|" /><br />'.
    &mt('<b>[_1] messages</b>: showing messages [_2] through [_3] of [_4].',$status,$first,$finish,$total).'</form>';     &mt('<b>[_1] messages</b>: showing messages [_2] through [_3] of [_4].',$status,$first,$finish,$total).'</form>';
 }  }
 # =============================================================== Status Change  # =============================================================== Status Change
Line 519  sub discourse { Line 524  sub discourse {
                                                                \%defaultUsers,                                                                 \%defaultUsers,
                                                                1,"selectedusers",1,'email')                                                                 1,"selectedusers",1,'email')
        ) {         ) {
        $result .= '<fieldset id="LC_activeusers"><legend><b>'.&mt('Bcc: course members with current access').'</b></legend><form name="activeusers">';         $result .= '<fieldset id="LC_activeusers"><legend>'
                    .&mt('Bcc: course members with current access')
                    .'</legend>'
                    .'<form name="activeusers">';
        $result .= $tmptext.'</form></fieldset><br />';         $result .= $tmptext.'</form></fieldset><br />';
        if (ref($statushash) eq 'HASH') {         if (ref($statushash) eq 'HASH') {
            $statushash->{'active'} = 1;             $statushash->{'active'} = 1;
Line 531  sub discourse { Line 539  sub discourse {
                                                                \%defaultUsers,                                                                 \%defaultUsers,
                                                                1, "selectedusers",0,'email')                                                                 1, "selectedusers",0,'email')
        ) {         ) {
        $result .= '<fieldset id="LC_previoususers"><legend><b>'.&mt('Bcc: course members with expired access').'</b></legend><form name="previoususers">';         $result .= '<fieldset id="LC_previoususers"><legend>'
                    .&mt('Bcc: course members with expired access')
                    .'</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;
Line 544  sub discourse { Line 555  sub discourse {
                                                                \%defaultUsers,                                                                 \%defaultUsers,
                                                                1, "selectedusers",0,'email')                                                                 1, "selectedusers",0,'email')
        ) {         ) {
        $result .= '<fieldset id="LC_futureusers"><legend><b>'.&mt('Bcc: course members with future access').'</b></legend><form name="previoususers">';         $result .= '<fieldset id="LC_futureusers"><legend>'
                    .&mt('Bcc: course members with future access')
                    .'</legend>'
                    .'<form name="previoususers">';
        $result .= $tmptext.'</form></fieldset>';         $result .= $tmptext.'</form></fieldset>';
        if (ref($statushash) eq 'HASH') {         if (ref($statushash) eq 'HASH') {
            $statushash->{'future'} = 1;             $statushash->{'future'} = 1;
Line 619  sub disgroup { Line 633  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 667  sub disgroup { Line 682  sub disgroup {
 sub group_check_uncheck {  sub group_check_uncheck {
     my $output = qq|      my $output = qq|
 <script type="text/javascript">  <script type="text/javascript">
   // <![CDATA[
 function toggleAll(form,action) {  function toggleAll(form,action) {
     if (typeof(form.selectedusers_forminput.length)=="undefined") {      if (typeof(form.selectedusers_forminput.length)=="undefined") {
          if (action == 'check') {           if (action == 'check') {
Line 684  function toggleAll(form,action) { Line 700  function toggleAll(form,action) {
         }          }
     }      }
 }  }
   // ]]>
 </script>  </script>
     |;      |;
 }  }
Line 759  sub discrit { Line 776  sub discrit {
                 .'<div class="LC_warning">'                  .'<div class="LC_warning">'
                 .&mt('Access to other pages will be prevented until you have moved all critical messages to your inbox.')                  .&mt('Access to other pages will be prevented until you have moved all critical messages to your inbox.')
                 .'</div><br />'                  .'</div><br />'
                 .'<form action="/adm/email" method="POST">'                  .'<form action="/adm/email" method="post">'
                 .'<input type="hidden" name="confirm" value="true" />';                  .'<input type="hidden" name="confirm" value="true" />';
     my %what=&Apache::lonnet::dump('critical');      my %what=&Apache::lonnet::dump('critical');
     my $result = '';      my $result = '';
Line 978  sub disfolder { Line 995  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 1006  sub disfolder { Line 1024  sub disfolder {
         }          }
         document.disall.submit();          document.disall.submit();
     }      }
   // ]]>
 </script>  </script>
 ENDDISHEADER  ENDDISHEADER
   
     my $fsqs='&folder='.$folder;      my $fsqs='&amp;folder='.$folder;
     my @temp=&sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder,$msgstatus);      my @temp=&sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder,$msgstatus);
     my $totalnumber=$#temp+1;      my $totalnumber=$#temp+1;
     if ($totalnumber < 1) {      if ($totalnumber < 1) {
Line 1124  ENDDISHEADER Line 1142  ENDDISHEADER
             foreach my $item ($localsenttime,$dis_name,$dis_domain,$shortsubj) {              foreach my $item ($localsenttime,$dis_name,$dis_domain,$shortsubj) {
                 $r->print('<td>'.(($status eq 'new')?'<b>':'').                  $r->print('<td>'.(($status eq 'new')?'<b>':'').
                           '<a href="/adm/email?display='.$origID.$sqs.'">'.                            '<a href="/adm/email?display='.$origID.$sqs.'">'.
                           $item.(($status eq 'new')?'</b>':'').'</td>');                            $item.(($status eq 'new')?'</b>':'').'</a></td>');
             }              }
             my $showstatus;              my $showstatus;
             my %statushash = &get_msgstatus_types();              my %statushash = &get_msgstatus_types();
Line 1187  ENDDISHEADER Line 1205  ENDDISHEADER
               '" onclick="javascript:validate_checkedaction()"/></td>'."\n".                '" onclick="javascript:validate_checkedaction()"/></td>'."\n".
               '</tr></table>');                '</tr></table>');
     my $postedstartdis=$startdis+1;      my $postedstartdis=$startdis+1;
     $r->print('<input type="hidden" name="folder" value="'.$folder.'" /><input type="hidden" name="startdis" value="'.$postedstartdis.'" /><input type="hidden" name="interdis" value="'.$env{'form.interdis'}.'" /><input type="hidden" name="msgstatus" value="'.$msgstatus.'" ><input type="hidden" name="markedaction" value="" /></form>');      $r->print('<input type="hidden" name="folder" value="'.$folder.'" /><input type="hidden" name="startdis" value="'.$postedstartdis.'" /><input type="hidden" name="interdis" value="'.$env{'form.interdis'}.'" /><input type="hidden" name="msgstatus" value="'.$msgstatus.'" /><input type="hidden" name="markedaction" value="" /></form>');
     if ($numblocked > 0) {      if ($numblocked > 0) {
         $r->print(&blocked_in_folder($numblocked,$startblock,$endblock,          $r->print(&blocked_in_folder($numblocked,$startblock,$endblock,
                                      \%setters));                                       \%setters));
Line 1343  sub compout { Line 1361  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 1369  function courseRecipients() { Line 1388  function courseRecipients() {
         $broadcast_js .= qq|          $broadcast_js .= qq|
     return;      return;
 }  }
   // ]]>
 </script>  </script>
   
 |;  |;
Line 1412  function courseRecipients() { Line 1432  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 1578  $wysiwyglink); Line 1600  $wysiwyglink);
         $r->print(<<"ENDCOMP");          $r->print(<<"ENDCOMP");
 $attachrow  $attachrow
 </table><br />  </table><br />
 $latexHelp  $latexHelp<br />
 <textarea name="message" id="message" cols="80" rows="15" wrap="hard">$dismsg  <textarea name="message" id="message" cols="80" rows="15" wrap="hard">$dismsg
 </textarea>$wysiwyglink  </textarea>$wysiwyglink
 $sendmode  $sendmode
Line 1681  sub additional_rec_row { Line 1703  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 1864  sub facetoface { Line 1886  sub facetoface {
  return;   return;
     }      }
     my $crstype = &Apache::loncommon::course_type();      my $crstype = &Apache::loncommon::course_type();
     my $leaders = ($crstype eq 'Group') ? 'coordinators and leaders'      my $leaders = ($crstype eq 'Community') ? 'coordinators and leaders'
                                         : 'faculty and staff';                                              : 'faculty and staff';
     &printheader($r,      &printheader($r,
  '/adm/email?recordftf=query',   '/adm/email?recordftf=query',
  "User Notes, Face-to-Face, Critical Messages, Broadcast Messages, Archived Messages");   "User Notes, Face-to-Face, Critical Messages, Broadcast Messages, Archived Messages");
Line 1887  sub facetoface { Line 1909  sub facetoface {
        'subm' => 'Retrieve discussion and message records',         'subm' => 'Retrieve discussion and message records',
        'newr' => 'New Record (record is visible to '.lc($crstype).' '.$leaders.')',         'newr' => 'New Record (record is visible to '.lc($crstype).' '.$leaders.')',
        'post' => 'Post this Record');         'post' => 'Post this Record');
     $r->print(<<"ENDTREC");  
 <h3>$lt{'head'}</h3>      $r->print('<h2>'.$lt{'head'}.'</h2>'
 <form method="post" action="/adm/email" name="stdselect">               .'<form method="post" action="/adm/email" name="stdselect">'
 <input type="hidden" name="recordftf" value="retrieve" />               .'<input type="hidden" name="recordftf" value="retrieve" />'
 <table>               .&Apache::lonhtmlcommon::start_pick_box()
 <tr><td>$lt{'user'}:</td><td><input type="text" size="12" name="recuname" value="$env{'form.recuname'}" /></td>               .&Apache::lonhtmlcommon::row_title($lt{'user'})
 <td rowspan="2">               .'<input type="text" size="12" name="recuname" value="'.$env{'form.recuname'}.'" />'
 $stdbrws               .' '.$stdbrws
 <input type="submit" value="$lt{'subm'}" /></td>               .&Apache::lonhtmlcommon::row_closure()
 </tr>               .&Apache::lonhtmlcommon::row_title($lt{'dom'})
 <tr><td>$lt{'dom'}:</td>               .$domform
 <td>$domform</td></tr>               .&Apache::lonhtmlcommon::row_closure(1)
 </table>               .&Apache::lonhtmlcommon::end_pick_box()
 </form>               .'<br />'
 ENDTREC               .'<input type="submit" value="'.$lt{'subm'}.'" />'
       );
   
     if (($stage ne 'query') &&      if (($stage ne 'query') &&
         ($env{'form.recdomain'}) && ($env{'form.recuname'})) {          ($env{'form.recdomain'}) && ($env{'form.recuname'})) {
         chomp($env{'form.newrecord'});          chomp($env{'form.newrecord'});
Line 1910  ENDTREC Line 1934  ENDTREC
       $env{'form.recuname'},        $env{'form.recuname'},
       $env{'form.recdomain'});        $env{'form.recdomain'});
         }          }
         $r->print('<h3>'.&Apache::loncommon::plainname($env{'form.recuname'},          my $aboutmelink=&Apache::loncommon::aboutmewrapper(
      $env{'form.recdomain'}).'</h3>');                              &Apache::loncommon::plainname($env{'form.recuname'}
                                                            ,$env{'form.recdomain'})
                              ,$env{'form.recuname'},$env{'form.recdomain'});
           $r->print('<hr />'
                    .'<h2>'
                    .&mt('Discussion and message records for [_1] ([_2])'
                        ,$aboutmelink
                        ,$env{'form.recuname'}.':'.$env{'form.recdomain'})
                    .'<h2>'
          );
         &disfacetoface($r,$env{'form.recuname'},$env{'form.recdomain'});          &disfacetoface($r,$env{'form.recuname'},$env{'form.recdomain'});
  $r->print(<<ENDRHEAD);   $r->print(<<ENDRHEAD);
 <form method="post" action="/adm/email">  <form method="post" action="/adm/email">
Line 1940  sub examblock { Line 1973  sub examblock {
  $r->print('Not allowed');   $r->print('Not allowed');
  return;   return;
     }      }
     my $usertype = (&Apache::loncommon::course_type() eq 'Group') ? 'members'      my $usertype = (&Apache::loncommon::course_type() eq 'Community') ? 'members'
                                                           : 'students';                                                                : 'students';
     my %lt=&Apache::lonlocal::texthash(      my %lt=&Apache::lonlocal::texthash(
             'comb' => 'Communication Blocking',              'comb' => 'Communication Blocking',
             'cbds' => 'Communication blocking during scheduled exams',              'cbds' => 'Communication blocking during scheduled exams',
Line 2150  END Line 2183  END
         foreach my $block (@{$typeorder}) {          foreach my $block (@{$typeorder}) {
             my $blockstatus = '';              my $blockstatus = '';
             if ($blocks->{$block} eq 'on') {              if ($blocks->{$block} eq 'on') {
                 $blockstatus = 'checked="true"';                  $blockstatus = 'checked="checked"';
             }              }
             $r->print('<label><input type="checkbox" name="'.$block.'_'.$parmcount.'" '.$blockstatus.' value="1" />'.$types->{$block}.'</label><br />');              $r->print('<label><input type="checkbox" name="'.$block.'_'.$parmcount.'" '.$blockstatus.' value="1" />'.$types->{$block}.'</label><br />');
         }          }
Line 2217  END Line 2250  END
 sub blocktype_text {  sub blocktype_text {
     my %types = &Apache::lonlocal::texthash(      my %types = &Apache::lonlocal::texthash(
         'com' => 'Messaging',          'com' => 'Messaging',
         'chat' => 'Chat',          'chat' => 'Chat Room',
         'boards' => 'Discussion',          'boards' => 'Discussion',
         'port' => 'Portfolio',          'port' => 'Portfolio',
         'groups' => 'Groups',          'groups' => 'Groups',
Line 2280  sub displaymessage { Line 2313  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'}) {
         $functionlist.=$li_start          push(@functionlist,'<a href="/adm/email?replyto='.&escape($msgid).$sqs.'">'
                      .'<a href="/adm/email?replyto='.&escape($msgid).$sqs.'">'  
                      .&mt('Reply')                       .&mt('Reply')
                      .'</a>'                       .'</a>');
                      .$li_end;  
     }      }
     $functionlist.=$li_start      push(@functionlist,'<a href="/adm/email?forward='.&escape($msgid).$sqs.'">'
                   .'<a href="/adm/email?forward='.&escape($msgid).$sqs.'">'  
                   .&mt('Forward')                    .&mt('Forward')
                   .'</a>'                    .'</a>');
                   .$li_end;      push(@functionlist,'<a href="/adm/email?markunread='.&escape($msgid).$sqs.'">'
     $functionlist.=$li_start  
                   .'<a href="/adm/email?markunread='.&escape($msgid).$sqs.'">'  
                   .&mt('Mark Unread')                    .&mt('Mark Unread')
                   .'</a>'                    .'</a>');
                   .$li_end;      push(@functionlist,'<a href="/adm/email?markdel='.&escape($msgid).$sqs.'">'
     $functionlist.=$li_start  
                   .'<a href="/adm/email?markdel='.&escape($msgid).$sqs.'">'  
                   .&mt('Delete')                    .&mt('Delete')
                   .'</a>'                    .'</a>');
                   .$li_end;      push(@functionlist,'<a href="/adm/email?'.$sqs.'">'
     $functionlist.=$li_start  
                   .'<a href="/adm/email?'.$sqs.'">'  
                   .&mt('Back to Folder Display')                    .&mt('Back to Folder Display')
                   .'</a>'                    .'</a>');
                   .$li_end;  
     if ($counter > 0){      if ($counter > 0){
         $functionlist.=$li_start          push(@functionlist,'<a href="/adm/email?display='.$messages[$counter-1]->[5].$sqs.'">'
               .'<a href="/adm/email?display='.$messages[$counter-1]->[5].$sqs.'">'                            .&mt('Previous')
               .&mt('Previous')                            .'</a>');
               .'</a>'  
               .$li_end;  
     }      }
     if ($counter < $number_of_messages - 1){      if ($counter < $number_of_messages - 1){
         $functionlist.=$li_start          push(@functionlist,'<a href="/adm/email?display='.$messages[$counter+1]->[5].$sqs.'">'
               .'<a href="/adm/email?display='.$messages[$counter+1]->[5].$sqs.'">'                            .&mt('Next')
               .&mt('Next')                            .'</a>');
               .'</a>'      }
               .$li_end;  
     }  
 # Print functions  
     $r->print('<div class="LC_left_float">'  
              .'<fieldset>'  
              .'<legend><span class="LC_mail_functions">'  
              .&mt('Functions')  
              .'</span></legend>'  
              .$functionlist  
              .'</fieldset>'  
              .'</div>'  
     );  
   
 # Prepare available actions  # Prepare available actions
     my $symb;      my $symb;
Line 2345  sub displaymessage { Line 2350  sub displaymessage {
     } elsif (defined($content{'baseurl'})) {      } elsif (defined($content{'baseurl'})) {
         $symb=&Apache::lonnet::symbread($content{'baseurl'});          $symb=&Apache::lonnet::symbread($content{'baseurl'});
     }      }
           my @actionlist;
     if ($env{'user.adv'}) {      if ($env{'user.adv'}) {
         my $actionlist='';  
   
  if (&Apache::lonnet::allowed('vgr',$env{'request.course.id'})) {   if (&Apache::lonnet::allowed('vgr',$env{'request.course.id'})) {
  $actionlist.=$li_start   push(@actionlist,&Apache::loncommon::track_student_link(
                             .&Apache::loncommon::track_student_link(                                        &mt('View recent activity')
                                  &mt('View recent activity'),$content{'sendername'},$content{'senderdomain'},'check')                                       ,$content{'sendername'}
                             .$li_end;                                       ,$content{'senderdomain'}
                                        ,'check'));
  }   }
  if (&Apache::lonnet::allowed('opa',$env{'request.course.id'}) && $symb) {   if (&Apache::lonnet::allowed('opa',$env{'request.course.id'}) && $symb) {
     $actionlist.=$li_start      push(@actionlist,&Apache::loncommon::pprmlink(
                         .&Apache::loncommon::pprmlink(                                    &mt('Set/Change parameters')
                              &mt('Set/Change parameters'),$content{'sendername'},$content{'senderdomain'},$symb,'check')                                       ,$content{'sendername'}
                         .$li_end;                                       ,$content{'senderdomain'}
                                        ,$symb
                                        ,'check'));
  }   }
  if (&Apache::lonnet::allowed('mgr',$env{'request.course.id'}) && $symb) {   if (&Apache::lonnet::allowed('mgr',$env{'request.course.id'}) && $symb) {
     $actionlist.=$li_start      push(@actionlist,&Apache::loncommon::pgrdlink(
                        .&Apache::loncommon::pgrdlink(                                   &mt('Set/Change grades')
                             &mt('Set/Change grades'),$content{'sendername'},$content{'senderdomain'},$symb,'check')                                       ,$content{'sendername'}
                        .$li_end;                                       ,$content{'senderdomain'}
  }                                       ,$symb
                                        ,'check'));
 # Print actions   }
         if ($actionlist) {  
             $r->print('<div class="LC_left_float">'  
                      .'<fieldset>'  
                      .'<legend>'  
                      .&mt('[_1]Currently available actions[_2] (will open extra window):','<span class="LC_mail_functions">','</span>')  
                      .'</legend>'  
                      .$actionlist  
                      .'</fieldset>'  
                      .'</div>'  
             );  
         }  
     }      }
   
   # Print functionlist and actionlist in page header
           my $functions='<div class="LC_columnSection">';
   
           # 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) {
               my $legendtext=&mt('Currently available actions (will open extra window)');
               $functions.=&Apache::lonhtmlcommon::start_funclist($legendtext);
               foreach my $item (@actionlist) {
                   $functions.=&Apache::lonhtmlcommon::add_item_funclist($item);
               }
               $functions.=&Apache::lonhtmlcommon::end_funclist();
           }
   
           $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'}) {
         $tonum = &retrieve_recips('display',\%content,\%recipients);          $tonum = &retrieve_recips('display',\%content,\%recipients);
Line 2726  sub recipients_link { Line 2747  sub recipients_link {
             $body =~ s{\n}{}g;              $body =~ s{\n}{}g;
             $r->print(<<ENDJS);              $r->print(<<ENDJS);
 <script type="text/javascript">  <script type="text/javascript">
   // <![CDATA[
 function showBroadcastList() {  function showBroadcastList() {
     var caller = this;      var caller = this;
     var newWindow = null;      var newWindow = null;
Line 2748  function writeWin(caller) { Line 2770  function writeWin(caller) {
     caller.document.close();      caller.document.close();
     caller.focus();      caller.focus();
 }  }
   // ]]>
 </script>  </script>
   
 ENDJS  ENDJS
Line 2802  sub displayresource { Line 2824  sub displayresource {
   
 sub header {  sub header {
     my ($r,$title,$baseurl)=@_;      my ($r,$title,$baseurl)=@_;
       
     my $extra = &Apache::loncommon::studentbrowser_javascript();      my $extra = &Apache::loncommon::studentbrowser_javascript();
     if ($baseurl) {      if ($baseurl) {
  $extra .= "<base href=\"".&Apache::lonnet::absolute_url()."/$baseurl\" />";   $extra .= "<base href=\"".&Apache::lonnet::absolute_url()."/$baseurl\" />";
     }      }
     $r->print(&Apache::loncommon::start_page('Communication and Messages',      $r->print(&Apache::loncommon::start_page('Communication',
   $extra));    $extra));
     $r->print(&Apache::lonhtmlcommon::breadcrumbs      $r->print(&Apache::lonhtmlcommon::breadcrumbs
       (($title?$title:'Communication and Messages')));        (($title?$title:'Send and Receive Messages')));
 }  }
   
 # ---------------------------------------------------------------- Print header  # ---------------------------------------------------------------- Print header
Line 3181  sub sendoffmail { Line 3202  sub sendoffmail {
             &Apache::loncommunicate::menu($r);              &Apache::loncommunicate::menu($r);
         }          }
             } else {              } else {
         $r->print('<p><span class="LC_error">'.&mt('Could not deliver message').'</span> '.          $r->print('<p>'.&Apache::lonhtmlcommon::confirm_success(&mt('Could not deliver message'),1).'<br /> '.
           &mt('Please use the browser "Back" button and correct the recipient addresses ([_1]).',$sendstatus).'</p>');            &mt('Please use the browser "Back" button and correct the recipient addresses ([_1]).',$sendstatus).'</p>');
             }              }
         }          }
Line 3208  sub handler { Line 3229  sub handler {
          'recordftf','sortedby','block','folder','startdis','interdis',           'recordftf','sortedby','block','folder','startdis','interdis',
  'showcommentbaseurl','dismode','group','subject','text','ref',   'showcommentbaseurl','dismode','group','subject','text','ref',
          'msgstatus']);           'msgstatus']);
     $sqs='&sortedby='.$env{'form.sortedby'};      $sqs='&amp;sortedby='.$env{'form.sortedby'};
   
 # ------------------------------------------------------ They checked for email  # ------------------------------------------------------ They checked for email
     unless ($env{'form.block'}) {      unless ($env{'form.block'}) {
Line 3229  sub handler { Line 3250  sub handler {
     unless ($folder) {       unless ($folder) { 
  $folder='';    $folder=''; 
     } else {      } else {
  $sqs.='&folder='.&escape($folder);   $sqs.='&amp;folder='.&escape($folder);
     }      }
 # ------------------------------------------------------------ Get Display Mode  # ------------------------------------------------------------ Get Display Mode
   
Line 3261  sub handler { Line 3282  sub handler {
  $startdis++;   $startdis++;
     }      }
     my $postedstartdis=$startdis+1;      my $postedstartdis=$startdis+1;
     $sqs.='&startdis='.$postedstartdis;      $sqs.='&amp;startdis='.$postedstartdis;
   
 # --------------------------------------------------------------- Render Output  # --------------------------------------------------------------- Render Output
   

Removed from v.1.114  
changed lines
  Added in v.1.128


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.