--- rat/lonpageflip.pm 2018/11/13 03:59:17 1.98
+++ rat/lonpageflip.pm 2021/02/18 14:48:02 1.102
@@ -2,7 +2,7 @@
#
# Page flip handler
#
-# $Id: lonpageflip.pm,v 1.98 2018/11/13 03:59:17 raeburn Exp $
+# $Id: lonpageflip.pm,v 1.102 2021/02/18 14:48:02 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -313,11 +313,17 @@ sub check_http_req {
if (($$srcref =~ m{^\Q/public/$cdom/$cnum/syllabus\E($|\?)}) &&
($ENV{'SERVER_PORT'} == 443) &&
($env{'course.'.$env{'request.course.id'}.'.externalsyllabus'} =~ m{^http://})) {
- $$srcref .= (($$srcref =~/\?/)? '&':'?') . 'usehttp=1';
- $usehttp = 1;
+ unless (&Apache::lonnet::uses_sts()) {
+ $$srcref .= (($$srcref =~/\?/)? '&':'?') . 'usehttp=1';
+ $usehttp = 1;
+ }
} elsif (($$srcref =~ m{^\Q/adm/wrapper/ext/\E(?!https:)}) &&
($ENV{'SERVER_PORT'} == 443)) {
- $usehttp = 1;
+ unless (&Apache::lonnet::uses_sts()) {
+ my ($url,$anchor) = ($$srcref =~ /^([^\#]+)(?:|(\#[^\#]+))$/);
+ $$srcref = $url . (($$srcref =~/\?/)? '&':'?') . 'usehttp=1' .$anchor;
+ $usehttp = 1;
+ }
}
}
return $usehttp;
@@ -425,12 +431,12 @@ sub handler {
my $preamble = '
'.
'
'.
&mt('Your course session is being updated because of recent changes by course personnel.').
- ' '.&mt('Please be patient.').'
'.
+ ' '.&mt('Please be patient').'.
'.
'';
%prog_state = &Apache::lonhtmlcommon::Create_PrgWin($r,undef,$preamble);
&Apache::lonhtmlcommon::Update_PrgWin($r,\%prog_state,&mt('Updating course'));
my ($furl,$ferr) = &Apache::lonuserstate::readmap("$cdom/$cnum");
- &Apache::lonhtmlcommon::Update_PrgWin($r,\%prog_state,&mt('Finished'));
+ &Apache::lonhtmlcommon::Update_PrgWin($r,\%prog_state,&mt('Finished!'));
if ($ferr) {
&Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state);
my $requrl = $r->uri;
@@ -466,7 +472,7 @@ sub handler {
return REDIRECT;
}
}
- if ($direction eq 'return') {
+ if ($direction eq 'return') {
# -------------------------------------------------------- Return to last known
my ($newloc,$usehttp);
if (($last) && (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'.db',
@@ -478,8 +484,12 @@ 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;
+ }
+ if ($newloc =~ m{^(/adm/wrapper/ext/[^\#]+)(?:|(\#[^\#]+))$}) {
+ my ($url,$anchor) = ($1,$2);
+ if ($anchor) {
+ $newloc = $url.(($url=~/\?/)?'&':'?').'symb='.&escape($last).$anchor;
+ }
}
} else {
$newloc='/adm/navmaps';
@@ -515,7 +525,6 @@ sub handler {
$last=$hash{'last_known'};
untie(%hash);
}
- my $newloc;
if ($last) {
$currenturl=&Apache::lonnet::clutter((&Apache::lonnet::decode_symb($last))[2]);
} else {