version 1.183, 2006/04/25 19:45:50
|
version 1.185, 2006/06/12 22:55:23
|
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 352 sub all_url_author_res_msg {
|
Line 354 sub all_url_author_res_msg {
|
return %returnhash; |
return %returnhash; |
} |
} |
|
|
|
# ====================================== Add a comment to the User Notes screen |
|
|
|
sub store_instructor_comment { |
|
my ($msg,$uname,$udom) = @_; |
|
my $cid = $env{'request.course.id'}; |
|
my $cnum = $env{'course.'.$cid.'.num'}; |
|
my $cdom = $env{'course.'.$cid.'.domain'}; |
|
my $subject= &mt('Record').' ['.$uname.':'.$udom.']'; |
|
my $result = &user_normal_msg_raw($cnum,$cdom,$subject,$msg); |
|
return $result; |
|
} |
|
|
# ================================================== Critical message to a user |
# ================================================== Critical message to a user |
|
|
sub user_crit_msg_raw { |
sub user_crit_msg_raw { |
Line 367 sub user_crit_msg_raw {
|
Line 381 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 500 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 585 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 595 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; |