version 1.194, 2021/11/30 15:55:37
|
version 1.201, 2025/01/28 21:57:52
|
Line 111 use Apache::loncommunicate;
|
Line 111 use Apache::loncommunicate;
|
use Apache::lonfeedback; |
use Apache::lonfeedback; |
use Apache::lonrss(); |
use Apache::lonrss(); |
use Apache::lonselstudent(); |
use Apache::lonselstudent(); |
|
use Apache::lonenc(); |
use lib '/home/httpd/lib/perl/'; |
use lib '/home/httpd/lib/perl/'; |
use LONCAPA qw(:DEFAULT :match); |
use LONCAPA qw(:DEFAULT :match); |
|
|
Line 261 function folder_choice(targetform,caller
|
Line 262 function folder_choice(targetform,caller
|
</fieldset></div> |
</fieldset></div> |
'."\n". |
'."\n". |
'<input type="hidden" name="sortedby" value="'.$env{'form.sortedby'}.'" />'. |
'<input type="hidden" name="sortedby" value="'.$env{'form.sortedby'}.'" />'. |
'<input type="hidden" name="renamed" value="" />'. |
'<input type="hidden" name="renamed" value="" />'; |
($folder=~/^critical/?'</form>':''); |
|
return $output; |
return $output; |
} |
} |
|
|
Line 1073 sub disfolder {
|
Line 1073 sub disfolder {
|
my %setters = (); |
my %setters = (); |
my $numblocked = 0; |
my $numblocked = 0; |
my $clientip = &Apache::lonnet::get_requestor_ip($r); |
my $clientip = &Apache::lonnet::get_requestor_ip($r); |
my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) = |
my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) = |
&Apache::loncommon::blockcheck(\%setters,'com',$clientip); |
&Apache::loncommon::blockcheck(\%setters,'com',$clientip); |
my %js_lt = &Apache::lonlocal::texthash( |
my %js_lt = &Apache::lonlocal::texthash( |
sede => 'Select a destination folder to which the messages will be moved.', |
sede => 'Select a destination folder to which the messages will be moved.', |
Line 1134 ENDDISHEADER
|
Line 1134 ENDDISHEADER
|
$r->print(&blocked_in_folder($numblocked,$startblock,$endblock,$by_ip,$clientip,$blockdom, |
$r->print(&blocked_in_folder($numblocked,$startblock,$endblock,$by_ip,$clientip,$blockdom, |
\%setters)); |
\%setters)); |
} |
} |
|
$r->print('</form>'); |
return; |
return; |
} |
} |
my $interdis = $env{'form.interdis'}; |
my $interdis = $env{'form.interdis'}; |
Line 1321 ENDDISHEADER
|
Line 1322 ENDDISHEADER
|
$r->print('<input type="hidden" name="folder" value="'.$folder.'" /><input type="hidden" name="startdis" value="'.$postedstartdis.'" /><input type="hidden" name="interdis" value="'.$env{'form.interdis'}.'" /><input type="hidden" name="msgstatus" value="'.$msgstatus.'" /><input type="hidden" name="markedaction" value="" /></form>'); |
$r->print('<input type="hidden" name="folder" value="'.$folder.'" /><input type="hidden" name="startdis" value="'.$postedstartdis.'" /><input type="hidden" name="interdis" value="'.$env{'form.interdis'}.'" /><input type="hidden" name="msgstatus" value="'.$msgstatus.'" /><input type="hidden" name="markedaction" value="" /></form>'); |
if ($numblocked > 0) { |
if ($numblocked > 0) { |
$r->print(&blocked_in_folder($numblocked,$startblock,$endblock, |
$r->print(&blocked_in_folder($numblocked,$startblock,$endblock, |
\%setters)); |
$by_ip,$clientip,$blockdom,\%setters)); |
} |
} |
} |
} |
|
|
Line 1340 sub blocked_in_folder {
|
Line 1341 sub blocked_in_folder {
|
} |
} |
#$output .= &Apache::loncommon::build_block_table($startblock,$endblock, |
#$output .= &Apache::loncommon::build_block_table($startblock,$endblock, |
# $setters); |
# $setters); |
|
|
my ($blocked, $blocktext) = &Apache::loncommon::blocking_status("com",$clientip); |
my ($blocked, $blocktext) = &Apache::loncommon::blocking_status("com",$clientip); |
$output .="<br /><br />".$blocktext; |
$output .="<br /><br />".$blocktext; |
|
|
Line 1352 sub blocked_in_folder {
|
Line 1352 sub blocked_in_folder {
|
sub compout { |
sub compout { |
my ($r,$forwarding,$replying,$broadcast,$replycrit,$folder,$dismode, |
my ($r,$forwarding,$replying,$broadcast,$replycrit,$folder,$dismode, |
$multiforward)=@_; |
$multiforward)=@_; |
|
my $clientip = &Apache::lonnet::get_requestor_ip($r); |
|
my %setters; |
|
my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) = |
|
&Apache::loncommon::blockcheck(\%setters,'com',$clientip); |
|
if ($by_ip) { |
|
my $showdom = &Apache::lonnet::domain($blockdom); |
|
if ($showdom eq '') { |
|
$showdom = $blockdom; |
|
} |
|
$r->print(&Apache::loncommon::start_page('Messages')); |
|
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Send and display messages')); |
|
$r->print('<p class="LC_warning">'. |
|
&mt('Sending of LON-CAPA messages is blocked for your current IP address: [_1].',$clientip).'</p>'. |
|
'<ul><li>'. |
|
&mt('Note: communication is being blocked for certain IP address(es).'). |
|
'</li><li>'. |
|
&mt('This restriction was set by an administrator in the [_1] LON-CAPA domain.',$showdom). |
|
'</li></ul>'); |
|
return; |
|
} |
my $suffix=&Apache::lonmsg::foldersuffix($folder); |
my $suffix=&Apache::lonmsg::foldersuffix($folder); |
my ($cdom,$cnum,$group,$refarg); |
my ($cdom,$cnum,$group,$refarg); |
if (exists($env{'form.group'})) { |
if (exists($env{'form.group'})) { |
Line 2119 sub displaymessage {
|
Line 2139 sub displaymessage {
|
my $clientip = &Apache::lonnet::get_requestor_ip($r); |
my $clientip = &Apache::lonnet::get_requestor_ip($r); |
|
|
# info to generate "next" and "previous" buttons and check if message is blocked |
# info to generate "next" and "previous" buttons and check if message is blocked |
my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) = |
my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) = |
&Apache::loncommon::blockcheck(\%setters,'com',$clientip); |
&Apache::loncommon::blockcheck(\%setters,'com',$clientip); |
my @messages=&sortedmessages(\%blocked,$startblock,$endblock,$by_ip,\$numblocked,$folder,$msgstatus); |
my @messages=&sortedmessages(\%blocked,$startblock,$endblock,$by_ip,\$numblocked,$folder,$msgstatus); |
if ( $blocked{$msgid} eq 'ON' ) { |
if ( $blocked{$msgid} eq 'ON' ) { |
Line 2484 sub displaymessage {
|
Line 2504 sub displaymessage {
|
$showsymb,$env{'user.domain'},$env{'user.name'}); |
$showsymb,$env{'user.domain'},$env{'user.name'}); |
if ($symb) { |
if ($symb) { |
if ($encrypturl =~ /^yes$/i && !$env{'request.role.adv'}) { |
if ($encrypturl =~ /^yes$/i && !$env{'request.role.adv'}) { |
$showsymb = &Apache::lonenc::check_encrypt($symb); |
unless ($showsymb =~ m{^/enc/}) { |
|
$showsymb = &Apache::lonenc::encrypted($showsymb); |
|
} |
} |
} |
$symblink = '?symb='.$showsymb; |
$symblink = '?symb='.$showsymb; |
} |
} |
if ($encrypturl =~ /^yes$/i && !$env{'request.role.adv'}) { |
if ($encrypturl =~ /^yes$/i && !$env{'request.role.adv'}) { |
$showurl = $baseurl; |
unless ($showurl =~ m{^/enc/}) { |
|
$showurl = &Apache::lonenc::encrypted($showurl); |
|
} |
} |
} |
$r->print(&Apache::lonhtmlcommon::row_title(&mt('Refers to')) |
$r->print(&Apache::lonhtmlcommon::row_title(&mt('Refers to')) |
.'<a href="'.$showurl.$symblink.'">'.$restitle.'</a>' |
.'<a href="'.$showurl.$symblink.'">'.$restitle.'</a>' |
Line 2683 sub displayresource {
|
Line 2707 sub displayresource {
|
&& (&Apache::lonnet::allowed('vgr',$content{'courseid'}))) { |
&& (&Apache::lonnet::allowed('vgr',$content{'courseid'}))) { |
my $symb; |
my $symb; |
if (defined($content{'symb'})) { |
if (defined($content{'symb'})) { |
$symb = $content{'symb'}; |
$symb = &Apache::lonenc::check_decrypt($content{'symb'}); |
} else { |
} elsif (defined($content{'baseurl'})) { |
$symb=&Apache::lonnet::symbread($content{'baseurl'}); |
$symb = |
|
&Apache::lonnet::symbread(&Apache::lonenc::check_decrypt($content{'baseurl'})); |
} |
} |
# Could not get a symb, give up |
# Could not get a symb, give up |
unless ($symb) { return $content{'citation'}; } |
unless ($symb) { return $content{'citation'}; } |
Line 2801 sub sendoffmail {
|
Line 2826 sub sendoffmail {
|
$cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
$cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
$cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
$cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
} |
} |
if ($env{'form.send'}) { |
my $clientip = &Apache::lonnet::get_requestor_ip($r); |
|
my %setters; |
|
my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) = |
|
&Apache::loncommon::blockcheck(\%setters,'com',$clientip); |
|
if ($by_ip) { |
|
&printheader($r,'','Sending messages blocked from your location.'); |
|
return 'blocked'; |
|
} elsif ($env{'form.send'}) { |
if (!$env{'form.multiforward'}) { |
if (!$env{'form.multiforward'}) { |
if ($group eq '') { |
if ($group eq '') { |
&printheader($r,'','Messages being sent.'); |
&printheader($r,'','Messages being sent.'); |
Line 3238 sub handler {
|
Line 3270 sub handler {
|
'sendreply','compose','sendmail','critical','recname','recdom', |
'sendreply','compose','sendmail','critical','recname','recdom', |
'recordftf','sortedby','folder','startdis','interdis', |
'recordftf','sortedby','folder','startdis','interdis', |
'showcommentbaseurl','dismode','group','subject','text','ref', |
'showcommentbaseurl','dismode','group','subject','text','ref', |
'msgstatus']); |
'msgstatus','btoken']); |
$sqs='&sortedby='.$env{'form.sortedby'}; |
$sqs='&sortedby='.$env{'form.sortedby'}; |
|
|
|
# ----------- Check if access was from balancer to server with existing session |
|
|
|
if ($env{'form.btoken'}) { |
|
my %info = &Apache::lonnet::tmpget($env{'form.btoken'}); |
|
&Apache::lonnet::tmpdel($env{'form.btoken'}); |
|
delete($env{'form.btoken'}); |
|
unless ($env{'form.display'}) { |
|
if (($info{'display'}) && ($info{'mailrecip'})) { |
|
if (&unescape($info{'mailrecip'}) eq $env{'user.name'}.':'.$env{'user.domain'}) { |
|
$env{'form.display'} = &unescape($info{'display'}); |
|
} |
|
} |
|
} |
|
} |
|
|
# ------------------------------------------------------ They checked for email |
# ------------------------------------------------------ They checked for email |
&Apache::lonnet::put('email_status',{'recnewemail'=>0}); |
&Apache::lonnet::put('email_status',{'recnewemail'=>0}); |
|
|
Line 3495 sub handler {
|
Line 3542 sub handler {
|
my $count = keys(%forwardfail); |
my $count = keys(%forwardfail); |
my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Could not forward [quant,_1,message].',$count),1); |
my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Could not forward [quant,_1,message].',$count),1); |
foreach my $key (keys(%forwardfail)) { |
foreach my $key (keys(%forwardfail)) { |
$message .= '<br />'.&mt('Could not deliver forwarded message.').'</span> '. |
$message .= '<br />'.&mt('Could not deliver forwarded message.').' '; |
&mt('The recipient addresses may need to be corrected').' ('.$forwardfail{$key}.')'; |
if ($forwardfail{$key} eq 'blocked') { |
|
$message .= &mt('Sending messages is blocked from your IP address'); |
|
} else { |
|
$message .= &mt('The recipient addresses may need to be corrected').' ('.$forwardfail{$key}.')'; |
|
} |
} |
} |
$message = &Apache::loncommon::confirmwrapper($message); |
$message = &Apache::loncommon::confirmwrapper($message); |
$r->print($message); |
$r->print($message); |