Diff for /loncom/interface/lonnotify.pm between versions 1.2 and 1.4

version 1.2, 2005/10/04 20:17:51 version 1.4, 2005/10/11 21:29:39
Line 151  sub print_display_option_form { Line 151  sub print_display_option_form {
                                                           'enddate',                                                            'enddate',
                                                           $now);                                                            $now);
     my $jscript;      my $jscript;
     my %totals = ();  
     my %personnel = ();  
     my $output = <<"ENDONE";      my $output = <<"ENDONE";
 $html  $html
 <head>  <head>
Line 174  ENDONE Line 172  ENDONE
                '</td></tr></table></td>';                 '</td></tr></table></td>';
     $output .= &Apache::lonhtmlcommon::row_closure();      $output .= &Apache::lonhtmlcommon::row_closure();
     $output .= &Apache::lonhtmlcommon::row_title($col_width,$tablecolor,&mt('Choose sender(s)'));      $output .= &Apache::lonhtmlcommon::row_title($col_width,$tablecolor,&mt('Choose sender(s)'));
 # FIXME - need to complete work on domain_roles_get      my %personnel = &Apache::lonnet::get_domain_roles($cdom,\@roles);
 #    &Apache::lonnet::domain_roles_get($cdom,\@roles,\%personnel,%totals);  
     $output .= '<td>';      $output .= '<td>';
     if ($totals{'dc'} > 0) {      my @domcc = ();
         foreach my $user (sort(keys(%{$personnel{'dc'}}))) {      foreach my $server (keys %personnel) {
             my ($uname,$udom) = split(/:/,$user);          print STDERR "key level 1 is $server\n"; 
             my %userinfo = &Apache::lonnet::get('environment',['lastname','firstname'],$udom,$uname);          foreach my $user (sort(keys %{$personnel{$server}})) {
             $output .= '<input type="checkbox" name="sender" value="'.$user.'" />&nbsp;'.$userinfo{firstname}.' '.$userinfo{lastname}.'&nbsp;&nbsp;('.$user.')';              print STDERR "key level 2 is $user\n";
               my ($trole,$uname,$udom,$runame,$rudom,$rsec) = split(/:/,$user);
               unless (grep/^$uname:$udom$/,@domcc) {
                   my %userinfo = &Apache::lonnet::get('environment',['lastname','firstname'],$udom,$uname);
                   $output .= '<input type="checkbox" name="sender" value="'.$uname.':'.$udom.'" />&nbsp;'.$userinfo{firstname}.' '.$userinfo{lastname}.'&nbsp;&nbsp;('.$uname.':'.$udom.')';
                   push (@domcc,$uname.':'.$udom);
               }
         }          }
     }      }
     $output .= '</td>';      $output .= '</td>';
Line 394  function initialize_codes() { Line 397  function initialize_codes() {
   
     my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs      my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs
             (undef,'Choose e-mail audience','Broadcast_system_email');              (undef,'Choose e-mail audience','Broadcast_system_email');
     my $cb_jscript = &Apache::loncommon::coursebrowser_javascript($cdom,$cdom);      my $cb_jscript = &Apache::loncommon::coursebrowser_javascript($cdom);
     my $output = <<"ENDONE";      my $output = <<"ENDONE";
 $html  $html
 <head>  <head>
Line 500  ENDONE Line 503  ENDONE
     my $col_width = '200';      my $col_width = '200';
   
     &form_elements(\%longtypes,\%authtypes);      &form_elements(\%longtypes,\%authtypes);
     foreach my $auth (%authtypes) {      foreach my $auth (keys(%authtypes)) {
         if (exists($env{'form.'.$auth})) {          if (exists($env{'form.'.$auth})) {
              my $default = $env{'form.'.$auth};               my $default = $env{'form.'.$auth};
              $default =~ s/^,+//;               $default =~ s/^,+//;
Line 695  sub broadcast_email { Line 698  sub broadcast_email {
 sub get_user_info {  sub get_user_info {
     my ($user,%email_defaults,$ltext) = @_;      my ($user,%email_defaults,$ltext) = @_;
     my ($uname,$udom) = split(/:/,$user);      my ($uname,$udom) = split(/:/,$user);
     my %userinfo = &Apache::lonnet::get('environment',['permanenetemail','notification','critnotification',],$udom,$uname);  
     my @emailtypes = ('permanentemail','critnotification','notification');      my @emailtypes = ('permanentemail','critnotification','notification');
       my %userinfo = &Apache::lonnet::get('environment',\@emailtypes,$udom,$uname);
     my $email = '';      my $email = '';
     foreach my $type (@emailtypes) {      foreach my $type (@emailtypes) {
         $email = $userinfo{$type};          $email = $userinfo{$type};
Line 739  sub form_elements { Line 742  sub form_elements {
   
 sub store_mail {  sub store_mail {
     my ($subject,$message,$domain,$recipients,$attachmenturl,$ltext) = @_;      my ($subject,$message,$domain,$recipients,$attachmenturl,$ltext) = @_;
     my %status = ();  
     my %servers = ();      my %servers = ();
     my $msgid=&packagemail($subject,$message,$domain,      my $msgid=&packagemail($subject,$message,$domain,
                            $recipients,\%servers,$attachmenturl);                             $recipients,\%servers,$attachmenturl);
 # Store in dc email db files on appropriate servers.  # Store in dc email db files on appropriate servers.
     foreach my $server (keys(%servers)) {      foreach my $server (keys(%servers)) {
 # FIXME This needs to be via a subroutine in lonnet          unless (&Apache::lonnet::dcmailput($domain,$msgid,\%servers,$server) eq 'ok') {
         $status{$server} = &Apache::lonnet::critical(              &logthis('Storage of dc mail failed for domain'.$domain.' for server: '.
            'dcmailput:'.$domain.':'.&Apache::lonnet::escape($msgid).'='.                        $server.'.  Message ID was '.$msgid);
            &Apache::lonnet::escape($servers{$server}),$server);          }
     }      }
 }  }
   
Line 811  sub unpackagemail { Line 813  sub unpackagemail {
             my $value=$parser->get_text('/'.$entry);              my $value=$parser->get_text('/'.$entry);
             my ($username,$email);              my ($username,$email);
             if ($entry eq 'recipient') {              if ($entry eq 'recipient') {
                 my $attr = $token->[2];                  $username = $token->[2]{'username'};
                 $username = $$attr{'username'};  
                 $username = &HTML::Entities::decode($username,'<>&"');                  $username = &HTML::Entities::decode($username,'<>&"');
                 $content{recipients}{$username} =                   $content{recipients}{$username} = 
                       &HTML::Entities::decode($value,'<>&"');                        &HTML::Entities::decode($value,'<>&"');

Removed from v.1.2  
changed lines
  Added in v.1.4


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