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

version 1.211, 2008/03/12 02:45:07 version 1.212, 2008/06/06 05:24:28
Line 179  sub packagemsg { Line 179  sub packagemsg {
   
 sub get_course_context {  sub get_course_context {
     my $course_context;      my $course_context;
       my $msgkey;
     if (defined($env{'form.replyid'})) {      if (defined($env{'form.replyid'})) {
           $msgkey = $env{'form.replyid'};
       } elsif (defined($env{'form.forwid'})) {
           $msgkey = $env{'form.forwid'}
       } elsif (defined($env{'form.multiforwid'})) {
           $msgkey = $env{'form.multiforwid'};
       }
       if ($msgkey ne '') {
         my ($sendtime,$shortsubj,$fromname,$fromdomain,$count,$origcid)=          my ($sendtime,$shortsubj,$fromname,$fromdomain,$count,$origcid)=
                    split(/\:/,&unescape($env{'form.replyid'}));                     split(/\:/,&unescape($msgkey));
         $course_context = $origcid;          $course_context = $origcid;
     }      }
     foreach my $key (keys(%env)) {      foreach my $key (keys(%env)) {
Line 201  sub get_course_context { Line 209  sub get_course_context {
 # ================================================== Unpack message into a hash  # ================================================== Unpack message into a hash
   
 sub unpackagemsg {  sub unpackagemsg {
     my ($message,$notoken)=@_;      my ($message,$notoken,$noattachmentlink)=@_;
     my %content=();      my %content=();
     my $parser=HTML::TokeParser->new(\$message);      my $parser=HTML::TokeParser->new(\$message);
     my $token;      my $token;
Line 221  sub unpackagemsg { Line 229  sub unpackagemsg {
        }         }
     }      }
     if (!exists($content{'recuser'})) { $content{'recuser'} = []; }      if (!exists($content{'recuser'})) { $content{'recuser'} = []; }
     if ($content{'attachmenturl'}) {      if (($content{'attachmenturl'}) && (!$noattachmentlink)) {
        my ($fname)=($content{'attachmenturl'}=~m|/([^/]+)$|);         my ($fname)=($content{'attachmenturl'}=~m|/([^/]+)$|);
        if ($notoken) {         if ($notoken) {
    $content{'message'}.='<p>'.&mt('Attachment').': <tt>'.$fname.'</tt>';     $content{'message'}.='<p>'.&mt('Attachment').': <tt>'.$fname.'</tt>';
Line 499  sub store_instructor_comment { Line 507  sub store_instructor_comment {
   
 sub user_crit_msg_raw {  sub user_crit_msg_raw {
     my ($user,$domain,$subject,$message,$sendback,$toperm,$sentmessage,      my ($user,$domain,$subject,$message,$sendback,$toperm,$sentmessage,
         $nosentstore,$recipid)=@_;          $nosentstore,$recipid,$attachmenturl)=@_;
 # Check if allowed missing  # Check if allowed missing
     my ($status,$packed_message);      my ($status,$packed_message);
     my $msgid='undefined';      my $msgid='undefined';
Line 508  sub user_crit_msg_raw { Line 516  sub user_crit_msg_raw {
     my $homeserver=&Apache::lonnet::homeserver($user,$domain);      my $homeserver=&Apache::lonnet::homeserver($user,$domain);
     if ($homeserver ne 'no_host') {      if ($homeserver ne 'no_host') {
        ($msgid,$packed_message)=&packagemsg($subject,$message,undef,undef,         ($msgid,$packed_message)=&packagemsg($subject,$message,undef,undef,
                                   undef,undef,undef,undef,undef,undef,undef,                                    $attachmenturl,undef,undef,undef,undef,undef,
                                   undef,$recipid);                                    undef,undef,$recipid);
        if ($sendback) { $packed_message.='<sendback>true</sendback>'; }         if ($sendback) { $packed_message.='<sendback>true</sendback>'; }
        $status=&Apache::lonnet::cput('critical', {$msgid => $packed_message},         $status=&Apache::lonnet::cput('critical', {$msgid => $packed_message},
      $domain,$user);       $domain,$user);
Line 518  sub user_crit_msg_raw { Line 526  sub user_crit_msg_raw {
         }          }
         if (!$nosentstore) {          if (!$nosentstore) {
             (undef,my $packed_message_no_citation) =              (undef,my $packed_message_no_citation) =
             &packagemsg($subject,$message,undef,undef,undef,$user,$domain,              &packagemsg($subject,$message,undef,undef,$attachmenturl,$user,
                         $msgid);                          $domain,$msgid);
             if ($status eq 'ok' || $status eq 'con_delayed') {              if ($status eq 'ok' || $status eq 'con_delayed') {
                 &store_sent_mail($msgid,$packed_message_no_citation);                  &store_sent_mail($msgid,$packed_message_no_citation);
             }              }
Line 553  sub user_crit_msg_raw { Line 561  sub user_crit_msg_raw {
   
 =pod  =pod
   
 =item * B<user_crit_msg($user, $domain, $subject, $message, $sendback, $nosentstore,$recipid)>:   =item * B<user_crit_msg($user, $domain, $subject, $message, $sendback, $nosentstore,$recipid,$attachmenturl)>: 
     Sends a critical message $message to the $user at $domain.  If $sendback      Sends a critical message $message to the $user at $domain.  If $sendback
     is true,  a receipt will be sent to the current user when $user receives       is true,  a receipt will be sent to the current user when $user receives 
     the message.      the message.
Line 570  sub user_crit_msg_raw { Line 578  sub user_crit_msg_raw {
   
 sub user_crit_msg {  sub user_crit_msg {
     my ($user,$domain,$subject,$message,$sendback,$toperm,$sentmessage,      my ($user,$domain,$subject,$message,$sendback,$toperm,$sentmessage,
         $nosentstore,$recipid)=@_;          $nosentstore,$recipid,$attachmenturl)=@_;
     my @status;      my @status;
     my %userenv = &Apache::lonnet::get('environment',['msgforward'],      my %userenv = &Apache::lonnet::get('environment',['msgforward'],
                                        $domain,$user);                                         $domain,$user);
Line 581  sub user_crit_msg { Line 589  sub user_crit_msg {
          push(@status,           push(@status,
       &user_crit_msg_raw($forwuser,$forwdomain,$subject,$message,        &user_crit_msg_raw($forwuser,$forwdomain,$subject,$message,
  $sendback,$toperm,$sentmessage,$nosentstore,   $sendback,$toperm,$sentmessage,$nosentstore,
                                  $recipid));                                   $recipid,$attachmenturl));
        }         }
     } else {       } else { 
  push(@status,   push(@status,
      &user_crit_msg_raw($user,$domain,$subject,$message,$sendback,       &user_crit_msg_raw($user,$domain,$subject,$message,$sendback,
  $toperm,$sentmessage,$nosentstore,$recipid));   $toperm,$sentmessage,$nosentstore,$recipid,
                                   $attachmenturl));
     }      }
     if (wantarray) {      if (wantarray) {
  return @status;   return @status;

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


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