version 1.238, 2015/02/12 21:22:07
|
version 1.239.2.3, 2021/12/13 23:54:26
|
Line 231 sub packagemsg {
|
Line 231 sub packagemsg {
|
$attachmenturl =&HTML::Entities::encode($attachmenturl,'<>&"'); |
$attachmenturl =&HTML::Entities::encode($attachmenturl,'<>&"'); |
my $course_context = &get_course_context(); |
my $course_context = &get_course_context(); |
my $now=time; |
my $now=time; |
|
my $ip = &Apache::lonnet::get_requestor_ip(); |
my $msgcount = &get_uniq(); |
my $msgcount = &get_uniq(); |
unless(defined($msgid)) { |
unless(defined($msgid)) { |
$msgid = &buildmsgid($now,$subject,$env{'user.name'},$env{'user.domain'}, |
$msgid = &buildmsgid($now,$subject,$env{'user.name'},$env{'user.domain'}, |
Line 250 sub packagemsg {
|
Line 251 sub packagemsg {
|
} |
} |
$result .= '<servername>'.$ENV{'SERVER_NAME'}.'</servername>'. |
$result .= '<servername>'.$ENV{'SERVER_NAME'}.'</servername>'. |
'<host>'.$ENV{'HTTP_HOST'}.'</host>'. |
'<host>'.$ENV{'HTTP_HOST'}.'</host>'. |
'<client>'.$ENV{'REMOTE_ADDR'}.'</client>'. |
'<client>'.$ip.'</client>'. |
'<browsertype>'.$env{'browser.type'}.'</browsertype>'. |
'<browsertype>'.$env{'browser.type'}.'</browsertype>'. |
'<browseros>'.$env{'browser.os'}.'</browseros>'. |
'<browseros>'.$env{'browser.os'}.'</browseros>'. |
'<browserversion>'.$env{'browser.version'}.'</browserversion>'. |
'<browserversion>'.$env{'browser.version'}.'</browserversion>'. |
Line 397 sub buildmsgid {
|
Line 398 sub buildmsgid {
|
} |
} |
|
|
sub unpackmsgid { |
sub unpackmsgid { |
my ($msgid,$folder,$skipstatus,$status_cache)=@_; |
my ($msgid,$folder,$skipstatus,$status_cache,$onlycid)=@_; |
$msgid=&unescape($msgid); |
$msgid=&unescape($msgid); |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$count,$fromcid, |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$count,$fromcid, |
$processid,$symb,$error) = split(/\:/,&unescape($msgid)); |
$processid,$symb,$error) = split(/\:/,&unescape($msgid)); |
|
if (!defined($processid)) { $fromcid = ''; } |
|
if (($onlycid) && ($onlycid ne $fromcid)) { |
|
return ($sendtime,'',$fromname,$fromdomain,'',$fromcid,'',$error); |
|
} |
$shortsubj = &unescape($shortsubj); |
$shortsubj = &unescape($shortsubj); |
$shortsubj = &HTML::Entities::decode($shortsubj); |
$shortsubj = &HTML::Entities::decode($shortsubj); |
$symb = &unescape($symb); |
$symb = &unescape($symb); |
Line 535 to access the full message.',$url);
|
Line 540 to access the full message.',$url);
|
$subject = $subj; |
$subject = $subj; |
} |
} |
|
|
my ($blocked,$blocktext); |
my ($blocked,$blocktext,$clientip); |
|
$clientip = &Apache::lonnet::get_requestor_ip(); |
if (!$crit) { |
if (!$crit) { |
my %setters; |
my %setters; |
my ($startblock,$endblock) = |
my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) = |
&Apache::loncommon::blockcheck(\%setters,'com',$touname,$toudom); |
&Apache::loncommon::blockcheck(\%setters,'com',$clientip,$touname,$toudom); |
if ($startblock && $endblock) { |
if ($startblock && $endblock) { |
$blocked = 1; |
$blocked = 1; |
my $showstart = &Apache::lonlocal::locallocaltime($startblock); |
my $showstart = &Apache::lonlocal::locallocaltime($startblock); |
my $showend = &Apache::lonlocal::locallocaltime($endblock); |
my $showend = &Apache::lonlocal::locallocaltime($endblock); |
$blocktext = &mt_user($user_lh,'LON-CAPA messages sent to you between [_1] and [_2] will be inaccessible until the end of this time period, because you are a student in a course with an active communications block.',$showstart,$showend); |
$blocktext = &mt_user($user_lh,'LON-CAPA messages sent to you between [_1] and [_2] will be inaccessible until the end of this time period, because you are a student in a course with an active communications block.',$showstart,$showend); |
|
} elsif ($by_ip) { |
|
$blocked = 1; |
|
$blocktext = &mt_user($user_lh,'LON-CAPA messages sent to you will be inaccessible from your IP address [_1], because communication is being blocked for certain IP address(es).',$clientip); |
} |
} |
} |
} |
if ($userenv{'notifywithhtml'} ne '') { |
if ($userenv{'notifywithhtml'} ne '') { |
Line 634 sub retrieve_author_res_msg {
|
Line 643 sub retrieve_author_res_msg {
|
my ($domain,$author)=($url=~/^($match_domain)\/($match_username)\//); |
my ($domain,$author)=($url=~/^($match_domain)\/($match_username)\//); |
my %errormsgs=&Apache::lonnet::dump('nohist_res_msgs',$domain,$author); |
my %errormsgs=&Apache::lonnet::dump('nohist_res_msgs',$domain,$author); |
my $msgs=''; |
my $msgs=''; |
foreach (keys(%errormsgs)) { |
foreach my $msg (keys(%errormsgs)) { |
if ($_=~/^\Q$url\E\_\d+$/) { |
if ($msg =~ /^\Q$url\E\_\d+$/) { |
my %content=&unpackagemsg($errormsgs{$_}); |
my %content=&unpackagemsg($errormsgs{$msg}); |
$msgs.='<p><img src="/adm/lonMisc/bomb.gif" /><b>'. |
$msgs.='<p><img src="/adm/lonMisc/bomb.gif" /><b>'. |
$content{'time'}.'</b>: '.$content{'message'}. |
$content{'time'}.'</b>: '.$content{'message'}. |
'<br /></p>'; |
'<br /></p>'; |
Line 654 sub del_url_author_res_msg {
|
Line 663 sub del_url_author_res_msg {
|
$url=&Apache::lonnet::declutter($url); |
$url=&Apache::lonnet::declutter($url); |
my ($domain,$author)=($url=~/^($match_domain)\/($match_username)\//); |
my ($domain,$author)=($url=~/^($match_domain)\/($match_username)\//); |
my @delmsgs=(); |
my @delmsgs=(); |
foreach (&Apache::lonnet::getkeys('nohist_res_msgs',$domain,$author)) { |
foreach my $msg (&Apache::lonnet::getkeys('nohist_res_msgs',$domain,$author)) { |
if ($_=~/^\Q$url\E\_\d+$/) { |
if ($msg =~ /^\Q$url\E\_\d+$/) { |
push (@delmsgs,$_); |
push (@delmsgs,$msg); |
} |
} |
} |
} |
return &Apache::lonnet::del('nohist_res_msgs',\@delmsgs,$domain,$author); |
return &Apache::lonnet::del('nohist_res_msgs',\@delmsgs,$domain,$author); |
Line 668 sub clear_author_res_msg {
|
Line 677 sub clear_author_res_msg {
|
$url=&Apache::lonnet::declutter($url); |
$url=&Apache::lonnet::declutter($url); |
my ($domain,$author)=($url=~/^($match_domain)\/($match_username)\//); |
my ($domain,$author)=($url=~/^($match_domain)\/($match_username)\//); |
my @delmsgs=(); |
my @delmsgs=(); |
foreach (&Apache::lonnet::getkeys('nohist_res_msgs',$domain,$author)) { |
foreach my $msg (&Apache::lonnet::getkeys('nohist_res_msgs',$domain,$author)) { |
if ($_=~/^\Q$url\E/) { |
if ($msg =~ /^\Q$url\E/) { |
push (@delmsgs,$_); |
push (@delmsgs,$msg); |
} |
} |
} |
} |
return &Apache::lonnet::del('nohist_res_msgs',\@delmsgs,$domain,$author); |
return &Apache::lonnet::del('nohist_res_msgs',\@delmsgs,$domain,$author); |
Line 681 sub clear_author_res_msg {
|
Line 690 sub clear_author_res_msg {
|
sub all_url_author_res_msg { |
sub all_url_author_res_msg { |
my ($author,$domain)=@_; |
my ($author,$domain)=@_; |
my %returnhash=(); |
my %returnhash=(); |
foreach (&Apache::lonnet::getkeys('nohist_res_msgs',$domain,$author)) { |
foreach my $msg (&Apache::lonnet::getkeys('nohist_res_msgs',$domain,$author)) { |
$_=~/^(.+)\_\d+/; |
$msg =~ /^(.+)\_\d+/; |
$returnhash{$1}=1; |
$returnhash{$1}=1; |
} |
} |
return %returnhash; |
return %returnhash; |
Line 926 sub user_normal_msg {
|
Line 935 sub user_normal_msg {
|
$domain,$user); |
$domain,$user); |
my $msgforward=$userenv{'msgforward'}; |
my $msgforward=$userenv{'msgforward'}; |
if ($msgforward) { |
if ($msgforward) { |
foreach (split(/\,/,$msgforward)) { |
foreach my $fwd (split(/\,/,$msgforward)) { |
my ($forwuser,$forwdomain)=split(/\:/,$_); |
my ($forwuser,$forwdomain)=split(/\:/,$fwd); |
push(@status, |
push(@status, |
&user_normal_msg_raw($forwuser,$forwdomain,$subject,$message, |
&user_normal_msg_raw($forwuser,$forwdomain,$subject,$message, |
$citation,$baseurl,$attachmenturl,$toperm, |
$citation,$baseurl,$attachmenturl,$toperm, |