--- rat/lonpageflip.pm 2018/12/27 20:11:16 1.99 +++ rat/lonpageflip.pm 2018/12/29 23:24:58 1.100 @@ -2,7 +2,7 @@ # # Page flip handler # -# $Id: lonpageflip.pm,v 1.99 2018/12/27 20:11:16 raeburn Exp $ +# $Id: lonpageflip.pm,v 1.100 2018/12/29 23:24:58 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -320,7 +320,8 @@ sub check_http_req { } elsif (($$srcref =~ m{^\Q/adm/wrapper/ext/\E(?!https:)}) && ($ENV{'SERVER_PORT'} == 443)) { unless (&Apache::lonnet::uses_sts()) { - $$srcref .= (($$srcref =~/\?/)? '&':'?') . 'usehttp=1'; + my ($url,$anchor) = ($$srcref =~ /^([^\#]+)(?:|(\#[^\#]+))$/); + $$srcref = $url . (($$srcref =~/\?/)? '&':'?') . 'usehttp=1' .$anchor; $usehttp = 1; } } @@ -483,8 +484,11 @@ sub handler { $usehttp = &check_http_req(\$newloc); if ($hash{'encrypted_'.$id}) { $newloc=&Apache::lonenc::encrypted($newloc); - } elsif ($newloc =~ m{^(/adm/wrapper/ext/[^\#]+)\#([^\#]+)$}) { - $newloc = $1.&escape('#').$2; + } elsif ($newloc =~ m{^(/adm/wrapper/ext/[^\#]+)(?:|\#([^\#]+))$}) { + my ($url,$anchor) = ($1,$2); + if ($anchor) { + $newloc = $url.(($url=~/\?/)?'&':'?').'symb='.&escape($last); + } } } else { $newloc='/adm/navmaps';