version 1.21, 2018/04/17 14:02:56
|
version 1.24, 2018/07/26 19:01:25
|
Line 38 sub handler {
|
Line 38 sub handler {
|
my $r = shift; |
my $r = shift; |
# FIXME line remove when mod_perl fixes BUG#4948 |
# FIXME line remove when mod_perl fixes BUG#4948 |
$r->notes->set('error-notes' => ''); |
$r->notes->set('error-notes' => ''); |
if ($r->uri =~ m{^/adm/lti/(.+)$}) { |
if ($r->uri =~ m{^/+tiny/+($match_domain)/+(\w+)$}) { |
my $realuri = $1; |
|
my %user; |
|
my $handle = &Apache::lonnet::check_for_valid_session($r,undef,\%user); |
|
if (($handle ne '') && ($user{'lti'})) { |
|
if ($realuri =~ m{^uploaded/$match_domain/$match_courseid/(default|supplemental)(|_\d+)\.(?:sequence|page)___\d+___.+$}) { |
|
if ($user{'ltiuri'} ne $realuri) { |
|
&Apache::lonnet::appenv({'request.lti.uri' => $realuri}); |
|
} |
|
my ($map,$resid,$url) = split(/___/,$realuri); |
|
$realuri = &Apache::lonnet::clutter($url).'?symb='.$realuri; |
|
} elsif ($realuri =~ m{^res/$match_domain/$match_username/.+\.(?:sequence|page)___\d+___.+$}) { |
|
if ($user{'ltiuri'} ne $realuri) { |
|
&Apache::lonnet::appenv({'request.lti.uri' => $realuri}); |
|
} |
|
my ($map,$resid,$url) = split(/___/,$realuri); |
|
$realuri = &Apache::lonnet::clutter($url).'?symb='.$realuri; |
|
} elsif ($realuri =~ m{^tiny/$match_domain/\w+$}) { |
|
$realuri = '/'.$realuri; |
|
if ($user{'ltiuri'} ne $realuri) { |
|
&Apache::lonnet::appenv({'request.lti.uri' => $realuri}); |
|
} |
|
} elsif ($realuri =~ m{($match_domain)/($match_courseid)$}) { |
|
$realuri = '/adm/navmaps'; |
|
if ($user{'ltiuri'} ne '') { |
|
&Apache::lonnet::delenv('request.lti.uri'); |
|
} |
|
} else { |
|
$realuri = '/'.$realuri; |
|
if ($realuri =~ m{/default_\d+\.sequence$}) { |
|
if ($user{'ltiuri'} ne $realuri) { |
|
&Apache::lonnet::appenv({'request.lti.uri' => $realuri}); |
|
} |
|
$realuri .= (($realuri =~/\?/)?'&':'?').'navmap=1'; |
|
} elsif ($realuri =~ m{^/res/.+\.sequence$}) { |
|
if ($user{'ltiuri'} ne $realuri) { |
|
&Apache::lonnet::appenv({'request.lti.uri' => $realuri}); |
|
} |
|
$realuri .= (($realuri =~/\?/)?'&':'?').'navmap=1'; |
|
} elsif ($realuri =~ m{\.page$}) { |
|
if ($user{'ltiuri'} ne $realuri) { |
|
&Apache::lonnet::appenv({'request.lti.uri' => $realuri}); |
|
} |
|
} |
|
} |
|
my $host = $r->headers_in->get('Host'); |
|
if ($host) { |
|
my $protocol = 'http'; |
|
if ($r->get_server_port == 443) { |
|
$protocol = 'https'; |
|
} |
|
my $location = $protocol.'://'.$host.$realuri; |
|
$r->headers_out->set(Location => $location); |
|
return REDIRECT; |
|
} |
|
} |
|
} elsif ($r->uri =~ m{^/+tiny/+($match_domain)/+(\w+)$}) { |
|
my ($cdom,$key) = ($1,$2); |
my ($cdom,$key) = ($1,$2); |
if (&Apache::lonnet::domain($cdom) ne '') { |
if (&Apache::lonnet::domain($cdom) ne '') { |
my %user; |
my %user; |
Line 147 sub handler {
|
Line 91 sub handler {
|
} |
} |
} |
} |
my $host = $r->headers_in->get('Host'); |
my $host = $r->headers_in->get('Host'); |
if ($host) { |
if ($r->is_initial_req() || !$host) { |
|
$r->internal_redirect($realuri); |
|
return OK; |
|
} else { |
my $protocol = 'http'; |
my $protocol = 'http'; |
if ($r->get_server_port == 443) { |
if ($r->get_server_port == 443) { |
$protocol = 'https'; |
$protocol = 'https'; |
Line 223 sub redirect_raw {
|
Line 170 sub redirect_raw {
|
my $remintdom = &Apache::lonnet::internet_dom($remprimary); |
my $remintdom = &Apache::lonnet::internet_dom($remprimary); |
if (ref($replication->{'certreq'}) eq 'ARRAY') { |
if (ref($replication->{'certreq'}) eq 'ARRAY') { |
if (grep(/^\Q$remintdom\E$/,@{$replication->{'certreq'}})) { |
if (grep(/^\Q$remintdom\E$/,@{$replication->{'certreq'}})) { |
$redirect = 1; |
|
} else { |
|
$redirect = 0; |
$redirect = 0; |
|
} else { |
|
$redirect = 1; |
} |
} |
} |
} |
if (ref($replication->{'nocertreq'}) eq 'ARRAY') { |
if (ref($replication->{'nocertreq'}) eq 'ARRAY') { |
if (grep(/^\Q$remintdom\E$/,@{$replication->{'nocertreq'}})) { |
if (grep(/^\Q$remintdom\E$/,@{$replication->{'nocertreq'}})) { |
$redirect = 0; |
|
} else { |
|
$redirect = 1; |
$redirect = 1; |
|
} else { |
|
$redirect = 0; |
} |
} |
} |
} |
} |
} |
Line 242 sub redirect_raw {
|
Line 189 sub redirect_raw {
|
last; |
last; |
} |
} |
} |
} |
return $redirect; |
return $redirect; |
} |
} |
|
|
1; |
1; |