Diff for /loncom/interface/lonmsg.pm between versions 1.193 and 1.196

version 1.193, 2006/12/27 20:42:12 version 1.196, 2007/02/09 15:30:48
Line 246  sub sendemail { Line 246  sub sendemail {
 # ==================================================== Send notification emails  # ==================================================== Send notification emails
   
 sub sendnotification {  sub sendnotification {
     my ($to,$touname,$toudom,$subj,$crit,$text)=@_;      my ($to,$touname,$toudom,$subj,$crit,$text,$msgid)=@_;
     my $sender=$env{'environment.firstname'}.' '.$env{'environment.lastname'};      my $sender=$env{'environment.firstname'}.' '.$env{'environment.lastname'};
     unless ($sender=~/\w/) {       unless ($sender=~/\w/) { 
  $sender=$env{'user.name'}.'@'.$env{'user.domain'};   $sender=$env{'user.name'}.'@'.$env{'user.domain'};
Line 258  sub sendnotification { Line 258  sub sendnotification {
     my $url='http://'.      my $url='http://'.
       $Apache::lonnet::hostname{&Apache::lonnet::homeserver($touname,$toudom)}.        $Apache::lonnet::hostname{&Apache::lonnet::homeserver($touname,$toudom)}.
       '/adm/email?username='.$touname.'&domain='.$toudom;        '/adm/email?username='.$touname.'&domain='.$toudom;
     my $body=(<<ENDMSG);      my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid,
 You received a$critical message from $sender in LON-CAPA. The subject is          $symb,$error) = &Apache::lonmsg::unpackmsgid($msgid);
       my $coursetext;
       if ($fromcid ne '') {
           $coursetext = "\n".&mt('Course').': ';
           if ($env{'course.'.$fromcid.'.description'} ne '') {
               $coursetext .= $env{'course.'.$fromcid.'.description'};
           } else {
               my %coursehash = &Apache::lonnet::coursedescription($fromcid,);
               if ($coursehash{'description'} ne '') {
                   $coursetext .= $coursehash{'description'};
               }
           }
           $coursetext .= "\n\n";
       }
       my $body = $coursetext. 
                  &mt('You received a'.$critical.' message from [_1] in LON-CAPA.',$sender).' '.&mt('The subject is 
   
  $subj   [_1]
   
 === Excerpt ============================================================  ',$subj)."\n".
   '=== '.&mt('Excerpt')." ============================================================
 $text  $text
 ========================================================================  ========================================================================
   
 Use  ".&mt('Use 
   
  $url   [_1]
   
 to access the full message.  to access the full message.',$url);
 ENDMSG  
     &sendemail($to,'New'.$critical.' message from '.$sender,$body);      &sendemail($to,'New'.$critical.' message from '.$sender,$body);
 }  }
 # ============================================================= Check for email  # ============================================================= Check for email
Line 423  sub user_crit_msg_raw { Line 438  sub user_crit_msg_raw {
     my %userenv = &Apache::loncommon::getemails($user,$domain);      my %userenv = &Apache::loncommon::getemails($user,$domain);
     if ($userenv{'critnotification'}) {      if ($userenv{'critnotification'}) {
       &sendnotification($userenv{'critnotification'},$user,$domain,$subject,1,        &sendnotification($userenv{'critnotification'},$user,$domain,$subject,1,
  $text);   $text,$msgid);
     }      }
     if ($toperm && $userenv{'permanentemail'}) {      if ($toperm && $userenv{'permanentemail'}) {
       &sendnotification($userenv{'permanentemail'},$user,$domain,$subject,1,        &sendnotification($userenv{'permanentemail'},$user,$domain,$subject,1,
  $text);   $text,$msgid);
     }      }
 # Log this  # Log this
     &Apache::lonnet::logthis(      &Apache::lonnet::logthis(
Line 538  sub user_normal_msg_raw { Line 553  sub user_normal_msg_raw {
        unless (($env{'request.course.id'}) &&          unless (($env{'request.course.id'}) && 
                (($env{'form.sendmode'} eq 'group')  ||                  (($env{'form.sendmode'} eq 'group')  || 
                (($env{'form.critmsg'}) || ($env{'form.sendbck'})) &&                 (($env{'form.critmsg'}) || ($env{'form.sendbck'})) &&
                (&Apache::lonnet::allowed('srm',$env{'request.course.id'})   (&Apache::lonnet::allowed('srm',$env{'request.course.id'})
  || &Apache::lonnet::allowed('srm',$env{'request.course.id'}.   || &Apache::lonnet::allowed('srm',$env{'request.course.id'}.
     '/'.$env{'request.course.sec'})))) {       '/'.$env{'request.course.sec'})))) {
            (undef,my $packed_message_no_citation) =             (undef,my $packed_message_no_citation) =
                &packagemsg($subject,$message,undef,$baseurl,$attachmenturl,                 &packagemsg($subject,$message,undef,$baseurl,$attachmenturl,
                            $user,$domain,$currid,undef,$crsmsgid,$symb,$error);                             $user,$domain,$currid,undef,$crsmsgid,$symb,$error);
Line 548  sub user_normal_msg_raw { Line 563  sub user_normal_msg_raw {
                &store_sent_mail($msgid,$packed_message_no_citation);                 &store_sent_mail($msgid,$packed_message_no_citation);
            }             }
        }         }
     } else {         if (defined($newid)) {
        $status='no_host';     $$newid = $msgid;
     }         }
     if (defined($newid)) {         if (defined($sentmessage)) {
         $$newid = $msgid;     $$sentmessage = $packed_message;
     }         }
     if (defined($sentmessage)) {  
         $$sentmessage = $packed_message;  
     }  
   
 # Notifications  # Notifications
     my %userenv = &Apache::lonnet::get('environment',['notification',         my %userenv = &Apache::lonnet::get('environment',['notification',
                                                       'permanentemail'],   'permanentemail'],
                                        $domain,$user);    $domain,$user);
     if ($userenv{'notification'}) {         if ($userenv{'notification'}) {
  &sendnotification($userenv{'notification'},$user,$domain,$subject,0,     &sendnotification($userenv{'notification'},$user,$domain,$subject,0,
   $text);       $text,$msgid);
     }         }
     if ($toperm && $userenv{'permanentemail'}) {         if ($toperm && $userenv{'permanentemail'}) {
  &sendnotification($userenv{'permanentemail'},$user,$domain,$subject,0,     &sendnotification($userenv{'permanentemail'},$user,$domain,$subject,0,
   $text);       $text,$msgid);
     }         }
     &Apache::lonnet::log($env{'user.domain'},$env{'user.name'},         &Apache::lonnet::log($env{'user.domain'},$env{'user.name'},
                          $env{'user.home'},      $env{'user.home'},
       'Sending '.$msgid.' to '.$user.' at '.$domain.' with status: '.$status);      'Sending '.$msgid.' to '.$user.' at '.$domain.' with status: '.$status);
      } else {
          $status='no_host';
      }
     return $status;      return $status;
 }  }
   

Removed from v.1.193  
changed lines
  Added in v.1.196


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