version 1.2, 2006/12/11 18:59:21
|
version 1.5, 2020/09/28 00:10:27
|
Line 1
|
Line 1
|
# The LearningOnline Network |
# The LearningOnline Network |
# Information about blocking status for Portfolio files |
# Information about blocking status for Portfolio files |
# |
# |
|
# $Id$ |
|
# |
# Copyright Michigan State University Board of Trustees |
# Copyright Michigan State University Board of Trustees |
# |
# |
# This file is part of the LearningOnline Network with CAPA (LON-CAPA). |
# This file is part of the LearningOnline Network with CAPA (LON-CAPA). |
Line 27
|
Line 29
|
package Apache::blockedaccess; |
package Apache::blockedaccess; |
|
|
use strict; |
use strict; |
use Apache::Constants qw(:common :http REDIRECT); |
use Apache::Constants qw(:common); |
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
|
use HTML::Entities(); |
|
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
my $origurl = $r->uri; |
|
my ($type,$udom,$uname,$file_name,$group) = |
|
&Apache::lonnet::parse_portfolio_url($origurl); |
|
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->send_http_header; |
$r->send_http_header; |
return OK if $r->header_only; |
return OK if $r->header_only; |
|
|
&Apache::lonlocal::get_language_handle($r); |
&Apache::lonlocal::get_language_handle($r); |
my ($blocked,$blocktext) = |
my $origurl = &Apache::lonnet::deversion($r->uri); |
&Apache::loncommon::blocking_status('port',$uname,$udom); |
my ($blocked,$blocktext); |
|
|
|
if (&Apache::lonnet::is_portfolio_url($origurl)) { |
|
my ($type,$udom,$uname,$file_name,$group) = |
|
&Apache::lonnet::parse_portfolio_url($origurl); |
|
($blocked,$blocktext) = |
|
&Apache::loncommon::blocking_status('port',$uname,$udom); |
|
} else { |
|
if ($env{'request.course.id'}) { |
|
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
my $symb = $env{'request.symb'}; |
|
($blocked,$blocktext) = |
|
&Apache::loncommon::blocking_status('docs',$cnum,$cdom,$origurl,1,$symb,'blockedaccess'); |
|
} |
|
} |
if ($blocked) { |
if ($blocked) { |
$r->print(&Apache::loncommon::start_page('Access Temporarily Blocked')); |
$r->print(&Apache::loncommon::start_page('Access Temporarily Blocked')); |
$r->print($blocktext); |
$r->print($blocktext); |
|
} elsif ($origurl eq '/adm/blockedaccess') { |
|
$r->print(&Apache::loncommon::start_page('Access Blocking Information')); |
|
$r->print('<p class="LC_warning">'.&mt('Could not determine which page had access blocked.').'</p>'); |
} else { |
} else { |
my $server = &Apache::lonnet::absolute_url(); |
$r->print(&Apache::loncommon::start_page('Access Blocking Information')); |
$r->header_out(Location => $server.$origurl); |
my $link; |
return REDIRECT; |
if ($origurl ne '') { |
|
my $showurl = &Apache::lonenc::check_encrypt($origurl); |
|
$link = &Apache::lonnet::absolute_url().$showurl; |
|
if ($r->args ne '') { |
|
$link .= '?'.$r->args; |
|
} |
|
} |
|
$r->print('<p class="LC_info">'. |
|
&mt('The page you are trying to reach was reported as having access blocked, but the reason is not available.'). |
|
'</p>'); |
|
if ($link) { |
|
$r->print('<p><a href="'.&HTML::Entities::encode($link,'\'"<>&').'">'.&mt('Try again?').'</a></p>'); |
|
} |
} |
} |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |
return OK; |
return OK; |