version 1.19, 2018/01/13 18:58:33
|
version 1.23, 2018/05/08 15:31:22
|
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+___.+$}) { |
|
my ($map,$resid,$url) = split(/___/,$realuri); |
|
$realuri = &Apache::lonnet::clutter($url).'?symb='.$realuri; |
|
} elsif ($realuri =~ m{^tiny/$match_domain/\w+$}) { |
|
$realuri = '/'.$realuri; |
|
} elsif ($realuri =~ m{($match_domain)/($match_courseid)$}) { |
|
$realuri = '/adm/navmaps'; |
|
} else { |
|
$realuri = '/'.$realuri; |
|
if ($realuri =~ m{/default_\d+\.sequence$}) { |
|
$realuri .= (($realuri =~/\?/)?'&':'?').'navmap=1'; |
|
} |
|
} |
|
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 120 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'; |