Diff for /loncom/interface/lonmsg.pm between versions 1.212 and 1.213

version 1.212, 2008/06/06 05:24:28 version 1.213, 2008/09/13 02:37:26
Line 279  sub unpackmsgid { Line 279  sub unpackmsgid {
   
   
 sub sendemail {  sub sendemail {
     my ($to,$subject,$body)=@_;      my ($to,$subject,$body,$to_uname,$to_udom,$user_lh)=@_;
     my %senderemails=&Apache::loncommon::getemails();      my %senderemails=&Apache::loncommon::getemails();
     my $senderaddress='';      my $senderaddress='';
     foreach my $type ('notification','permanentemail','critnotification') {      foreach my $type ('notification','permanentemail','critnotification') {
Line 288  sub sendemail { Line 288  sub sendemail {
  }   }
     }      }
     $body=      $body=
     "*** ".&mt('This is an automatic message generated by the LON-CAPA system.')."\n".      "*** ".&mt_user($user_lh,'This is an automatic message generated by the LON-CAPA system.')."\n".
     "*** ".($senderaddress?&mt('You can reply to this message'):&mt('Please do not reply to this address.')."\n*** ".      "*** ".($senderaddress?&mt_user($user_lh,'You can reply to this message'):&mt_user($user_lh,'Please do not reply to this address.')."\n*** ".
     &mt('A reply will not be received by the recipient!'))."\n\n".$body;      &mt_user($user_lh,'A reply will not be received by the recipient!'))."\n\n".$body;
     my $msg = new Mail::Send;      my $msg = new Mail::Send;
     $msg->to($to);      $msg->to($to);
     $msg->subject('[LON-CAPA] '.$subject);      $msg->subject('[LON-CAPA] '.$subject);
Line 319  sub sendnotification { Line 319  sub sendnotification {
     my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid,      my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid,
         $symb,$error) = &Apache::lonmsg::unpackmsgid($msgid);          $symb,$error) = &Apache::lonmsg::unpackmsgid($msgid);
     my ($coursetext,$body,$bodybegin,$bodysubj,$bodyend);      my ($coursetext,$body,$bodybegin,$bodysubj,$bodyend);
       my $user_lh = &user_lang($touname,$toudom,$fromcid);
     if ($fromcid ne '') {      if ($fromcid ne '') {
         $coursetext = "\n".&mt('Course').': ';          $coursetext = "\n".&mt_user($user_lh,'Course').': ';
         if ($env{'course.'.$fromcid.'.description'} ne '') {          if ($env{'course.'.$fromcid.'.description'} ne '') {
             $coursetext .= $env{'course.'.$fromcid.'.description'};              $coursetext .= $env{'course.'.$fromcid.'.description'};
         } else {          } else {
Line 333  sub sendnotification { Line 334  sub sendnotification {
     }      }
     my @recipients = split(/,/,$to);      my @recipients = split(/,/,$to);
     $bodybegin = $coursetext.       $bodybegin = $coursetext. 
                &mt('You received a'.$critical.' message from [_1] in LON-CAPA.',$sender).' ';                 &mt_user($user_lh,
     $bodysubj = &mt('The subject is                            'You received a'.$critical.' message from [_1] in LON-CAPA.',$sender).' ';
       $bodysubj = &mt_user($user_lh,'The subject is 
   
  [_1]   [_1]
   
 ',$subj)."\n".  ',$subj)."\n".
 '=== '.&mt('Excerpt')." ============================================================  '=== '.&mt_user($user_lh,'Excerpt')." ============================================================
 ";  ";
     $bodyend = "      $bodyend = "
 ========================================================================  ========================================================================
   
 ".&mt('Use   ".&mt_user($user_lh,'Use 
   
  [_1]   [_1]
   
 to access the full message.',$url);  to access the full message.',$url);
     my %userenv = &Apache::lonnet::get('environment',['notifywithhtml'],$toudom,$touname);      my %userenv = &Apache::lonnet::get('environment',['notifywithhtml'],$toudom,$touname);
     my $subject = &mt("'New' $critical message from ").$sender;      my $subject = &mt_user($user_lh,"'New' $critical message from ").$sender;
     
     my ($blocked,$blocktext);      my ($blocked,$blocktext);
     if (!$crit) {      if (!$crit) {
Line 361  to access the full message.',$url); Line 363  to access the full message.',$url);
             $blocked = 1;              $blocked = 1;
             my $showstart = &Apache::lonlocal::locallocaltime($startblock);              my $showstart = &Apache::lonlocal::locallocaltime($startblock);
             my $showend = &Apache::lonlocal::locallocaltime($endblock);              my $showend = &Apache::lonlocal::locallocaltime($endblock);
             $blocktext = &mt('LON-CAPA messages sent to you between [_1] and [_2] will be inaccessible until the end of this time period, because you are a student in a course with an active communications block.',$showstart,$showend);              $blocktext = &mt_user($user_lh,'LON-CAPA messages sent to you between [_1] and [_2] will be inaccessible until the end of this time period, because you are a student in a course with an active communications block.',$showstart,$showend);
         }          }
     }      }
     if ($userenv{'notifywithhtml'} ne '') {      if ($userenv{'notifywithhtml'} ne '') {
Line 376  to access the full message.',$url); Line 378  to access the full message.',$url);
                 }                  }
                 $body = $bodybegin.$bodysubj.$sendtext.$bodyend;                  $body = $bodybegin.$bodysubj.$sendtext.$bodyend;
             }              }
             &sendemail($addr,$subject,$body);              &sendemail($addr,$subject,$body,$touname,$toudom,$user_lh);
         }          }
     } else {      } else {
         if ($blocked) {          if ($blocked) {
Line 385  to access the full message.',$url); Line 387  to access the full message.',$url);
             $text =~ s/\<\/*[^\>]+\>//gs;              $text =~ s/\<\/*[^\>]+\>//gs;
             $body = $bodybegin.$bodysubj.$text.$bodyend;              $body = $bodybegin.$bodysubj.$text.$bodyend;
         }          }
         &sendemail($to,$subject,$body);          &sendemail($to,$subject,$body,$touname,$toudom,$user_lh);
     }      }
 }  }
 # ============================================================= Check for email  # ============================================================= Check for email
Line 922  sub decide_receiver { Line 924  sub decide_receiver {
     return ($typestyle,%to);      return ($typestyle,%to);
 }  }
   
   sub user_lang {
       my ($touname,$toudom,$fromcid) = @_;
       my @userlangs;
       if (($fromcid ne '') && ($env{'course.'.$fromcid.'.languages'} ne '')) {
           @userlangs=(@userlangs,split(/\s*(\,|\;|\:)\s*/,
                       $env{'course.'.$fromcid.'.languages'}));
       } else {
           my %langhash = &Apache::lonnet::get('environment',['languages'],$toudom,$touname);
           if ($langhash{'languages'} ne '') {
               @userlangs = split(/\s*(\,|\;|\:)\s*/,$langhash{'languages'});  
           } else {
               my %domdefs = &Apache::lonnet::get_domain_defaults($toudom);
               if ($domdefs{'lang_def'} ne '') {
                   @userlangs = ($domdefs{'lang_def'});
               }
           }
       }
       my @languages=&Apache::loncommon::get_genlanguages(@userlangs);
       my $user_lh = Apache::localize->get_handle(@languages);
       return $user_lh;
   }
   
 =pod  =pod
   
 =back  =back

Removed from v.1.212  
changed lines
  Added in v.1.213


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