Diff for /loncom/interface/lonmsg.pm between versions 1.183 and 1.184

version 1.183, 2006/04/25 19:45:50 version 1.184, 2006/05/30 12:46:09
Line 33  use Apache::lonnet; Line 33  use Apache::lonnet;
 use HTML::TokeParser();  use HTML::TokeParser();
 use Apache::lonlocal;  use Apache::lonlocal;
 use Mail::Send;  use Mail::Send;
   use lib '/home/httpd/lib/perl/';
   use LONCAPA;
   
 {  {
     my $uniq;      my $uniq;
Line 59  sub packagemsg { Line 61  sub packagemsg {
     my $course_context;      my $course_context;
     if (defined($env{'form.replyid'})) {      if (defined($env{'form.replyid'})) {
         my ($sendtime,$shortsubj,$fromname,$fromdomain,$count,$origcid)=          my ($sendtime,$shortsubj,$fromname,$fromdomain,$count,$origcid)=
                    split(/\:/,&Apache::lonnet::unescape($env{'form.replyid'}));                     split(/\:/,&unescape($env{'form.replyid'}));
         $course_context = $origcid;          $course_context = $origcid;
     }      }
     foreach my $key (keys(%env)) {      foreach my $key (keys(%env)) {
         if ($key=~/^form\.(rep)?rec\_(.*)$/) {          if ($key=~/^form\.(rep)?rec\_(.*)$/) {
             my ($sendtime,$shortsubj,$fromname,$fromdomain,$count,$origcid) =              my ($sendtime,$shortsubj,$fromname,$fromdomain,$count,$origcid) =
                                     split(/\:/,&Apache::lonnet::unescape($2));                                      split(/\:/,&unescape($2));
             $course_context = $origcid;              $course_context = $origcid;
             last;              last;
         }          }
Line 108  sub packagemsg { Line 110  sub packagemsg {
         for (my $i=0; $i<@{$recuser}; $i++) {          for (my $i=0; $i<@{$recuser}; $i++) {
             if ($type eq 'dcmail') {              if ($type eq 'dcmail') {
                 my ($username,$email) = split(/:/,$$recuser[$i]);                  my ($username,$email) = split(/:/,$$recuser[$i]);
                 $username = &Apache::lonnet::unescape($username);                  $username = &unescape($username);
                 $email = &Apache::lonnet::unescape($email);                  $email = &unescape($email);
                 $username = &HTML::Entities::encode($username,'<>&"');                  $username = &HTML::Entities::encode($username,'<>&"');
                 $email = &HTML::Entities::encode($email,'<>&"');                  $email = &HTML::Entities::encode($email,'<>&"');
                 $result .= '<recipient username="'.$username.'">'.                  $result .= '<recipient username="'.$username.'">'.
Line 178  sub unpackagemsg { Line 180  sub unpackagemsg {
   
 sub buildmsgid {  sub buildmsgid {
     my ($now,$subject,$uname,$udom,$msgcount,$course_context,$pid) = @_;      my ($now,$subject,$uname,$udom,$msgcount,$course_context,$pid) = @_;
     $subject=&Apache::lonnet::escape($subject);      $subject=&escape($subject);
     return(&Apache::lonnet::escape($now.':'.$subject.':'.$uname.':'.      return(&escape($now.':'.$subject.':'.$uname.':'.
            $udom.':'.$msgcount.':'.$course_context.':'.$pid));             $udom.':'.$msgcount.':'.$course_context.':'.$pid));
 }  }
   
 sub unpackmsgid {  sub unpackmsgid {
     my ($msgid,$folder,$skipstatus,$status_cache)=@_;      my ($msgid,$folder,$skipstatus,$status_cache)=@_;
     $msgid=&Apache::lonnet::unescape($msgid);      $msgid=&unescape($msgid);
     my ($sendtime,$shortsubj,$fromname,$fromdomain,$count,$fromcid,      my ($sendtime,$shortsubj,$fromname,$fromdomain,$count,$fromcid,
                      $processid)=split(/\:/,&Apache::lonnet::unescape($msgid));                       $processid)=split(/\:/,&unescape($msgid));
     $shortsubj = &Apache::lonnet::unescape($shortsubj);      $shortsubj = &unescape($shortsubj);
     $shortsubj = &HTML::Entities::decode($shortsubj);      $shortsubj = &HTML::Entities::decode($shortsubj);
     if (!defined($processid)) { $fromcid = ''; }      if (!defined($processid)) { $fromcid = ''; }
     my %status=();      my %status=();
Line 286  sub author_res_msg { Line 288  sub author_res_msg {
        ($msgid,$message)=&packagemsg($filename,$message);         ($msgid,$message)=&packagemsg($filename,$message);
        return &Apache::lonnet::reply('put:'.$domain.':'.$author.         return &Apache::lonnet::reply('put:'.$domain.':'.$author.
          ':nohist_res_msgs:'.           ':nohist_res_msgs:'.
           &Apache::lonnet::escape($filename.'_'.$id).'='.            &escape($filename.'_'.$id).'='.
           &Apache::lonnet::escape($message),$homeserver);            &escape($message),$homeserver);
     }      }
     return 'no_host';      return 'no_host';
 }  }
Line 367  sub user_crit_msg_raw { Line 369  sub user_crit_msg_raw {
        if ($sendback) { $message.='<sendback>true</sendback>'; }         if ($sendback) { $message.='<sendback>true</sendback>'; }
        $status=&Apache::lonnet::critical(         $status=&Apache::lonnet::critical(
            'put:'.$domain.':'.$user.':critical:'.             'put:'.$domain.':'.$user.':critical:'.
            &Apache::lonnet::escape($msgid).'='.             &escape($msgid).'='.
            &Apache::lonnet::escape($message),$homeserver);             &escape($message),$homeserver);
         if (defined($sentmessage)) {          if (defined($sentmessage)) {
             $$sentmessage = $message;              $$sentmessage = $message;
         }          }
Line 486  sub user_normal_msg_raw { Line 488  sub user_normal_msg_raw {
 # Store in user folder  # Store in user folder
        $status=&Apache::lonnet::critical(         $status=&Apache::lonnet::critical(
            'put:'.$domain.':'.$user.':nohist_email:'.             'put:'.$domain.':'.$user.':nohist_email:'.
            &Apache::lonnet::escape($msgid).'='.             &escape($msgid).'='.
            &Apache::lonnet::escape($packed_message),$homeserver);             &escape($packed_message),$homeserver);
 # Save new message received time  # Save new message received time
        &Apache::lonnet::put         &Apache::lonnet::put
                          ('email_status',{'recnewemail'=>time},$domain,$user);                           ('email_status',{'recnewemail'=>time},$domain,$user);
Line 571  sub store_sent_mail { Line 573  sub store_sent_mail {
     my $status =' '.&Apache::lonnet::critical(      my $status =' '.&Apache::lonnet::critical(
                'put:'.$env{'user.domain'}.':'.$env{'user.name'}.                 'put:'.$env{'user.domain'}.':'.$env{'user.name'}.
                                           ':nohist_email_sent:'.                                            ':nohist_email_sent:'.
                &Apache::lonnet::escape($msgid).'='.                 &escape($msgid).'='.
                &Apache::lonnet::escape($message),$env{'user.home'});                 &escape($message),$env{'user.home'});
     return $status;      return $status;
 }  }
   
Line 581  sub store_sent_mail { Line 583  sub store_sent_mail {
 sub foldersuffix {  sub foldersuffix {
     my $folder=shift;      my $folder=shift;
     unless ($folder) { return ''; }      unless ($folder) { return ''; }
     return '_'.&Apache::lonnet::escape($folder);      return '_'.&escape($folder);
 }  }
   
 1;  1;

Removed from v.1.183  
changed lines
  Added in v.1.184


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