Diff for /loncom/interface/lonmsg.pm between versions 1.222.2.2 and 1.223

version 1.222.2.2, 2010/09/13 23:38:04 version 1.223, 2009/03/29 20:05:06
Line 203  use Apache::lonnet; Line 203  use Apache::lonnet;
 use HTML::TokeParser();  use HTML::TokeParser();
 use Apache::lonlocal;  use Apache::lonlocal;
 use Mail::Send;  use Mail::Send;
 use HTML::Entities;  
 use Encode;  
 use LONCAPA qw(:DEFAULT :match);  use LONCAPA qw(:DEFAULT :match);
   
 {  {
Line 486  sub sendnotification { Line 484  sub sendnotification {
     my $protocol = $Apache::lonnet::protocol{$homeserver};      my $protocol = $Apache::lonnet::protocol{$homeserver};
     $protocol = 'http' if ($protocol ne 'https');      $protocol = 'http' if ($protocol ne 'https');
     my $url = $protocol.'://'.&Apache::lonnet::hostname($homeserver).      my $url = $protocol.'://'.&Apache::lonnet::hostname($homeserver).
               '/adm/email?username='.$touname.'&domain='.$toudom.                '/adm/email?username='.$touname.'&domain='.$toudom;
               '&display='.&escape($msgid);  
     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);
Line 540  to access the full message.',$url); Line 537  to access the full message.',$url);
     }      }
     if ($userenv{'notifywithhtml'} ne '') {      if ($userenv{'notifywithhtml'} ne '') {
         my @htmlexcerpt = split(/,/,$userenv{'notifywithhtml'});          my @htmlexcerpt = split(/,/,$userenv{'notifywithhtml'});
         my $htmlfree = &make_htmlfree($text);  
         foreach my $addr (@recipients) {          foreach my $addr (@recipients) {
             if ($blocked) {              if ($blocked) {
                 $body = $bodybegin."\n".$blocktext."\n".$bodyend;                  $body = $bodybegin."\n".$blocktext."\n".$bodyend;
             } else {              } else {
                 my $sendtext;                  my $sendtext = $text;
                 if (!grep/^\Q$addr\E/,@htmlexcerpt) {                  if (!grep/^\Q$addr\E/,@htmlexcerpt) {
                     $sendtext = $htmlfree;                      $sendtext =~ s/\<\/*[^\>]+\>//gs;
                 } else {  
                     $sendtext = $text;  
                 }                  }
                 $body = $bodybegin.$bodysubj.$sendtext.$bodyend;                  $body = $bodybegin.$bodysubj.$sendtext.$bodyend;
             }              }
Line 559  to access the full message.',$url); Line 553  to access the full message.',$url);
         if ($blocked) {          if ($blocked) {
             $body = $bodybegin."\n".$blocktext."\n".$bodyend;              $body = $bodybegin."\n".$blocktext."\n".$bodyend;
         } else {          } else {
             my $htmlfree = &make_htmlfree($text);              $text =~ s/\<\/*[^\>]+\>//gs;
             $body = $bodybegin.$bodysubj.$htmlfree.$bodyend;              $body = $bodybegin.$bodysubj.$text.$bodyend;
         }          }
         &sendemail($to,$subject,$body,$touname,$toudom,$user_lh);          &sendemail($to,$subject,$body,$touname,$toudom,$user_lh);
     }      }
 }  }
   
 sub make_htmlfree {  sub mynewmail{
     my ($text) = @_;   &newmail();
     $text =~ s/\<\/*[^\>]+\>//gs;   return $env{'user.mailcheck.status'};
     $text = &HTML::Entities::decode($text);  
     $text = &Encode::encode('utf8',$text);  
     return $text;  
 }  }
   
   
 sub newmail {  sub newmail {
     if ((time-$env{'user.mailcheck.time'})>300) {      if ((time-$env{'user.mailcheck.time'})>300) {
         my %what=&Apache::lonnet::get('email_status',['recnewemail']);          my %what=&Apache::lonnet::get('email_status',['recnewemail']);
         &Apache::lonnet::appenv({'user.mailcheck.time'=>time});          &Apache::lonnet::appenv({'user.mailcheck.time'=>time});
    &Apache::lonnet::appenv({'user.mailcheck.status'=> $what{'recnewemail'}>0 ? 1 : 0});
         if ($what{'recnewemail'}>0) { return 1; }          if ($what{'recnewemail'}>0) { return 1; }
     }      }
     return 0;      return 0;

Removed from v.1.222.2.2  
changed lines
  Added in v.1.223


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