Diff for /loncom/interface/lonmsgdisplay.pm between versions 1.19 and 1.27

version 1.19, 2006/04/26 14:43:03 version 1.27, 2006/05/17 14:58:28
Line 125  use Apache::lonlocal; Line 125  use Apache::lonlocal;
 use Apache::loncommunicate;  use Apache::loncommunicate;
 use Apache::lonfeedback;  use Apache::lonfeedback;
 use Apache::lonrss();  use Apache::lonrss();
   use Apache::lonselstudent();
   
 # Querystring component with sorting type  # Querystring component with sorting type
 my $sqs;  my $sqs;
Line 259  sub movemsg { Line 260  sub movemsg {
 # ======================================================= Display a course list  # ======================================================= Display a course list
   
 sub discourse {  sub discourse {
     my $r=shift;      my $result;
     my $classlist = &Apache::loncoursedata::get_classlist();      my ($course_personnel,
     my $now=time;   $current_members,
     my %lt=&Apache::lonlocal::texthash('cfa' => 'Check All',   $expired_members,
             'cfs' => 'Check Section/Group',   $future_members) = &Apache::lonselstudent::get_people_in_class();
             'cfn' => 'Uncheck All');      unshift @$current_members, (@$course_personnel);
     $r->print(<<ENDDISHEADER);      my %defaultUsers;
 <input type="hidden" name="sendmode" value="group" />  
 <script pe="text/javascript">      $result = &Apache::lonselstudent::render_student_list($current_members,
     function checkall() {    "compemail",
  for (i=0; i<document.forms.compemail.elements.length; i++) {    "current",
             if     \%defaultUsers,
           (document.forms.compemail.elements[i].name.indexOf('send_to_')==0) {    1,"selectedusers",1);
       document.forms.compemail.elements[i].checked=true;  
             }  
         }  
     }  
   
     function checksec() {      return $result;
  for (i=0; i<document.forms.compemail.elements.length; i++) {  
             if   
           (document.forms.compemail.elements[i].name.indexOf  
            ('send_to_&&&'+document.forms.compemail.chksec.value+'&&&')==0) {  
       document.forms.compemail.elements[i].checked=true;  
             }  
         }  
     }  
   
     function uncheckall() {  
  for (i=0; i<document.forms.compemail.elements.length; i++) {  
             if   
           (document.forms.compemail.elements[i].name.indexOf('send_to_')==0) {  
       document.forms.compemail.elements[i].checked=false;  
             }  
         }  
     }  
 </script>  
 <input type="button" onClick="checkall()" value="$lt{'cfa'}" />&nbsp;  
 <input type="button" onClick="checksec()" value="$lt{'cfs'}" />  
 <input type="text" size="5" name="chksec" />&nbsp;  
 <input type="button" onClick="uncheckall()" value="$lt{'cfn'}" />  
 <p>  
 ENDDISHEADER  
     my %coursepersonnel=&Apache::lonnet::get_course_adv_roles();  
     $r->print('<table>');  
     foreach my $role (sort keys %coursepersonnel) {  
         foreach (split(/\,/,$coursepersonnel{$role})) {  
             my ($puname,$pudom)=split(/\:/,$_);  
             $r->print('<tr><td><label>'.  
                       '<input type="checkbox" name="send_to_&&&&&&_'.  
                       $puname.':'.$pudom.'" /> '.  
                       &Apache::loncommon::plainname($puname,$pudom).  
                       '</label></td>'.  
                       '<td>('.$_.'),</td><td><i>'.$role.'</i></td></tr>');  
         }  
     }  
     $r->print('</table><table>');  
     my $sort = sub {  
  my $aname=lc($classlist->{$a}[&Apache::loncoursedata::CL_FULLNAME()]);  
  if (!$aname) { $aname=$a; }  
  my $bname=lc($classlist->{$b}[&Apache::loncoursedata::CL_FULLNAME()]);  
  if (!$bname) { $bname=$b; }  
  return $aname cmp $bname;  
     };  
     foreach my $student (sort $sort (keys(%{$classlist}))) {  
  my $info=$classlist->{$student};  
         my ($sname,$sdom,$status,$fullname,$section) =  
             (@{$info}[&Apache::loncoursedata::CL_SNAME(),  
                       &Apache::loncoursedata::CL_SDOM(),  
                       &Apache::loncoursedata::CL_STATUS(),  
                       &Apache::loncoursedata::CL_FULLNAME(),  
                       &Apache::loncoursedata::CL_SECTION()]);  
         next if ($status ne 'Active');  
  next if ($env{'request.course.sec'} &&  
  $section ne $env{'request.course.sec'});  
         my $key = 'send_to_&&&'.$section.'&&&_'.$student;  
         if (! defined($fullname) || $fullname eq '') { $fullname = $sname; }  
         $r->print('<tr><td><label>'.  
                   qq{<input type="checkbox" name="$key" />}.('&nbsp;'x2).  
                   $fullname.'</label></td><td>'.$sname.':'.$sdom.'</td><td>'.$section.  
                   '</td></tr>');  
     }  
     $r->print('</table>');  
 }  }
   
 # ==================================================== Display Critical Message  # ==================================================== Display Critical Message
Line 857  sub compout { Line 790  sub compout {
     }      }
     my $citation=&displayresource(%content);      my $citation=&displayresource(%content);
     if ($env{'form.recdom'}) { $defdom=$env{'form.recdom'}; }      if ($env{'form.recdom'}) { $defdom=$env{'form.recdom'}; }
       $r->print(      if ($env{'form.text'}) { $dismsg=$env{'form.text'}; }
       if ($env{'form.subject'}) { $dissub=$env{'form.subject'}; }
       $r->print(
                 '<form action="/adm/email"  name="compemail" method="post"'.                  '<form action="/adm/email"  name="compemail" method="post"'.
                 ' enctype="multipart/form-data">'."\n".                  ' enctype="multipart/form-data">'."\n".
                 '<input type="hidden" name="sendmail" value="on" />'."\n".                  '<input type="hidden" name="sendmail" value="on" />'."\n".
Line 932  ENDUPLOAD Line 867  ENDUPLOAD
     }      }
     if ($broadcast eq 'group') {      if ($broadcast eq 'group') {
        &discourse($r);         &discourse($r);
          my $studentsel = &discourse();
          $r->print($studentsel);
     }      }
     $r->print('</form>'.      $r->print('</form>'.
       &Apache::lonfeedback::generate_preview_button('compemail','message').        &Apache::lonfeedback::generate_preview_button('compemail','message').
Line 1310  END Line 1247  END
   
  my ($setuname,$setudom,$title) =    my ($setuname,$setudom,$title) = 
     &parse_block_record($$records{$record});      &parse_block_record($$records{$record});
  $title = &HTML::Entities::encode($title,'"<>');   $title = &HTML::Entities::encode($title,'"<>&');
         my $settername = &Apache::loncommon::plainname($setuname,$setudom);          my $settername = &Apache::loncommon::plainname($setuname,$setudom);
         $r->print(&Apache::loncommon::start_data_table_row());          $r->print(&Apache::loncommon::start_data_table_row());
         $r->print(<<"END");          $r->print(<<"END");
Line 1610  sub header { Line 1547  sub header {
     $r->print(&Apache::loncommon::start_page('Communication and Messages',      $r->print(&Apache::loncommon::start_page('Communication and Messages',
      $extra));       $extra));
     $r->print(&Apache::lonhtmlcommon::breadcrumbs      $r->print(&Apache::lonhtmlcommon::breadcrumbs
       (undef,($title?$title:'Communication and Messages')));        (($title?$title:'Communication and Messages')));
   
 }  }
   
Line 1687  sub sendoffmail { Line 1624  sub sendoffmail {
     &statuschange($msgid,'replied',$folder);      &statuschange($msgid,'replied',$folder);
  }   }
   
    my $to = $env{'form.selectedusers.forminput'};
    my $mode = $env{'form.sendmode'};
   
  my %toaddr;   my %toaddr;
  if ($env{'form.sendmode'} eq 'group') {   if ($to) {
     foreach my $address (keys(%env)) {      foreach my $dest (@$to) {
  if ($address=~/^form\.send\_to\_\&\&\&[^\&]*\&\&\&\_(.+)$/) {   my ($user,$domain) = split(/:/, $dest);
     $toaddr{$1}='';   if (($user ne '') && ($domain ne '')) {
       my $address = $user.":".$domain; # How the code below expects it.
       $toaddr{$address} = '';
  }   }
     }      }
    }
   
    if ($env{'form.sendmode'} eq 'group') {
        foreach my $address (keys(%env)) {
    if ($address=~/^form\.send\_to\_\&\&\&[^\&]*\&\&\&\_(.+)$/) {
       $toaddr{$1}='';
    }
       }
  } elsif ($env{'form.sendmode'} eq 'upload') {   } elsif ($env{'form.sendmode'} eq 'upload') {
     foreach my $line (split(/[\n\r\f]+/,$env{'form.upfile'})) {      foreach my $line (split(/[\n\r\f]+/,$env{'form.upfile'})) {
  my ($rec,$txt)=split(/\s*\:\s*/,$line);   my ($rec,$txt)=split(/\s*\:\s*/,$line);
Line 1703  sub sendoffmail { Line 1653  sub sendoffmail {
  }   }
     }      }
  } else {   } else {
     $toaddr{$env{'form.recuname'}.':'.$env{'form.recdomain'}}='';      if (($env{'form.recuname'} ne '') && ($env{'form.recdomain'} ne '')) {
    $toaddr{$env{'form.recuname'}.':'.$env{'form.recdomain'}}='';
       }
  }   }
  if ($env{'form.additionalrec'}) {   if ($env{'form.additionalrec'}) {
     foreach (split(/\,/,$env{'form.additionalrec'})) {      foreach (split(/\,/,$env{'form.additionalrec'})) {
  my ($auname,$audom)=split(/\@/,$_);   my ($auname,$audom)=split(/\@/,$_);
  $toaddr{$auname.':'.$audom}='';   if (($auname ne "") && ($audom ne "")) {
       $toaddr{$auname.':'.$audom}='';
    }
     }      }
  }   }
   
Line 1837  sub sendoffmail { Line 1791  sub sendoffmail {
  }   }
     } else {      } else {
  $r->print('<p><span class="LC_error">'.&mt('Could not deliver message').'</span> '.   $r->print('<p><span class="LC_error">'.&mt('Could not deliver message').'</span> '.
   &mt('Please use the browser "Back" button and correct the recipient addresses').'</p>');    &mt('Please use the browser "Back" button and correct the recipient addresses '."($sendstatus)").'</p>');
     }      }
 }  }
   
Line 1858  sub handler { Line 1812  sub handler {
         ['display','replyto','forward','markread','markdel','markunread',          ['display','replyto','forward','markread','markdel','markunread',
          'sendreply','compose','sendmail','critical','recname','recdom',           'sendreply','compose','sendmail','critical','recname','recdom',
          'recordftf','sortedby','block','folder','startdis','interdis',           'recordftf','sortedby','block','folder','startdis','interdis',
  'showcommentbaseurl','dismode']);   'showcommentbaseurl','dismode','group','subject','text']);
     $sqs='&sortedby='.$env{'form.sortedby'};      $sqs='&sortedby='.$env{'form.sortedby'};
   
 # ------------------------------------------------------ They checked for email  # ------------------------------------------------------ They checked for email

Removed from v.1.19  
changed lines
  Added in v.1.27


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.