version 1.6, 2016/02/22 03:36:57
|
version 1.7, 2020/03/04 16:33:35
|
Line 80 sub handler {
|
Line 80 sub handler {
|
if ($redirect eq '') { |
if ($redirect eq '') { |
$redirect=&Apache::lonenc::unencrypted($r->uri); |
$redirect=&Apache::lonenc::unencrypted($r->uri); |
if ($redirect =~ m{^/adm/wrapper/ext/[^\#]+(\#.+)$}) { |
if ($redirect =~ m{^/adm/wrapper/ext/[^\#]+(\#.+)$}) { |
$anchor = $1; |
$anchor = $1; |
$redirect =~ s/\#.+$//; |
$redirect =~ s/\#.+$//; |
|
} elsif (($redirect =~ m{^https?://}) && ($r->args)) { |
|
my $symb; |
|
foreach my $item (split(/\&/,$r->args)) { |
|
my ($key,$value) = split(/=/,$item); |
|
if ($key eq 'symb') { |
|
$symb = &Apache::lonenc::unencrypted($value); |
|
last; |
|
} |
|
} |
|
if ($symb) { |
|
my ($map,$id,$res) = &Apache::lonnet::decode_symb($symb); |
|
if (($map =~ /\.page$/) && ($res =~ m{^ext/})) { |
|
if ($res =~ /(\#[^#]+)$/) { |
|
$anchor = $1; |
|
} |
|
$r->headers_out->set(Location => $redirect.$anchor); |
|
return REDIRECT; |
|
} |
|
} |
} |
} |
} |
} |
if ($r->args) { $redirect.='?'.$r->args; } |
if ($r->args) { $redirect.='?'.$r->args; } |