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; |