Diff for /loncom/interface/loncommon.pm between versions 1.618 and 1.619

version 1.618, 2007/12/03 22:58:46 version 1.619, 2007/12/04 04:43:21
Line 7649  sub restore_settings { Line 7649  sub restore_settings {
   
 Build recipient lists for three types of e-mail:  Build recipient lists for three types of e-mail:
 (a) Error Reports, (b) Package Updates, (c) Help requests, generated by  (a) Error Reports, (b) Package Updates, (c) Help requests, generated by
 lonerrorhandler.pm, CHECKRPMS and lonhelpdesk.pm respectively.  lonerrorhandler.pm, CHECKRPMS and lonsupportreq.pm respectively.
   
 Inputs:  Inputs:
 Request object, defmail (scalar - email address of default recipient),   defmail (scalar - email address of default recipient), 
 mailing type (scalar - errormail, packagesmail, or helpdeskmail),   mailing type (scalar - errormail, packagesmail, or helpdeskmail), 
 defdom (domain for which to retrieve configuration settings).  defdom (domain for which to retrieve configuration settings),
   origmail (scalar - email address of recipient from loncapa.conf, 
   i.e., predates configuration by DC via domainprefs.pm 
   
 Returns: comma separated list of addresses to which to send e-mail.     Returns: comma separated list of addresses to which to send e-mail.   
   
Line 7663  Returns: comma separated list of address Line 7665  Returns: comma separated list of address
 ############################################################  ############################################################
 ############################################################  ############################################################
 sub build_recipient_list {  sub build_recipient_list {
     my ($r,$defmail,$mailing,$defdom) = @_;      my ($defmail,$mailing,$defdom,$origmail) = @_;
     my @recipients;      my @recipients;
     my $otheremails;      my $otheremails;
     my $defdom = $r->dir_config('lonDefDomain');  
     my %domconfig =      my %domconfig =
          &Apache::lonnet::get_dom('configuration',['contacts'],$defdom);           &Apache::lonnet::get_dom('configuration',['contacts'],$defdom);
     if (ref($domconfig{'contacts'}) eq 'HASH') {      if (ref($domconfig{'contacts'}) eq 'HASH') {
Line 7674  sub build_recipient_list { Line 7675  sub build_recipient_list {
             my @contacts = ('adminemail','supportemail');              my @contacts = ('adminemail','supportemail');
             foreach my $item (@contacts) {              foreach my $item (@contacts) {
                 if ($domconfig{'contacts'}{$mailing}{$item}) {                  if ($domconfig{'contacts'}{$mailing}{$item}) {
                     push(@recipients,$domconfig{'contacts'}{$item});                      my $addr = $domconfig{'contacts'}{$item}; 
                       if (!grep(/^\Q$addr\E$/,@recipients)) {
                           push(@recipients,$addr);
                       }
                 }                  }
                 $otheremails = $domconfig{'contacts'}{$mailing}{'others'};                  $otheremails = $domconfig{'contacts'}{$mailing}{'others'};
             }              }
         } else {  
             push(@recipients,$r->dir_config('lonAdmEMail'));  
         }          }
       } elsif ($origmail ne '') {
           push(@recipients,$origmail);
     }      }
     if ($defmail ne '') {      if ($defmail ne '') {
         push(@recipients,$defmail);          push(@recipients,$defmail);
     }      }
     my $recipientlist = join(',',@recipients);  
     if ($otheremails) {      if ($otheremails) {
         if ($recipientlist ne '') {          my @others;
             $recipientlist .= ','.$otheremails;          if ($otheremails =~ /,/) {
               @others = split(/,/,$otheremails);
         } else {          } else {
             $recipientlist = $otheremails;              push(@others,$otheremails);
           }
           foreach my $addr (@others) {
               if (!grep(/^\Q$addr\E$/,@recipients)) {
                   push(@recipients,$addr);
               }
         }          }
     }      }
       my $recipientlist = join(',',@recipients); 
     return $recipientlist;      return $recipientlist;
 }  }
   

Removed from v.1.618  
changed lines
  Added in v.1.619


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