--- rat/lonpageflip.pm 2020/05/25 16:42:59 1.80.8.10.2.1 +++ rat/lonpageflip.pm 2015/03/23 00:03:16 1.89 @@ -2,7 +2,7 @@ # # Page flip handler # -# $Id: lonpageflip.pm,v 1.80.8.10.2.1 2020/05/25 16:42:59 raeburn Exp $ +# $Id: lonpageflip.pm,v 1.89 2015/03/23 00:03:16 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -83,18 +83,11 @@ sub hash_src { my ($mapid,$resid)=split(/\./,$id); my $symb=&Apache::lonnet::encode_symb($hash{'map_id_'.$mapid}, $resid,$hash{'src_'.$id}); - my $anchor; - if ($hash{'ext_'.$id} eq 'true:') { - if ($hash{'src_'.$id} =~ /(\#.+)$/) { - $anchor = $1; - } - } if ($hash{'encrypted_'.$id}) { return (&Apache::lonenc::encrypted($hash{'src_'.$id}), - &Apache::lonenc::encrypted($symb), - $hash{'encrypted_'.$id},$anchor); + &Apache::lonenc::encrypted($symb)); } - return ($hash{'src_'.$id},$symb,$hash{'encrypted_'.$id},$anchor); + return ($hash{'src_'.$id},$symb); } sub move { @@ -255,28 +248,6 @@ sub first_accessible_resource { } } -sub reinited_js { - my ($url,$cid,$timeout) = @_; - if (!$timeout) { - $timeout = 0; - } - return <<"END"; - -END -} - # ================================================================ Main Handler sub handler { @@ -293,8 +264,7 @@ sub handler { my %cachehash=(); my $multichoice=0; my %multichoicehash=(); - my %prog_state=(); - my ($redirecturl,$redirectsymb,$enc,$anchor); + my ($redirecturl,$redirectsymb); my $next=''; my @possibilities=(); &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['postdata']); @@ -334,20 +304,8 @@ sub handler { untie(%hash); } } - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; - $r->print(&Apache::loncommon::start_page('Content Changed')); - my $preamble = '
'. - '
'. - &mt('Your course session is being updated because of recent changes by course personnel.'). - ' '.&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')); if ($ferr) { - &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); my $requrl = $r->uri; $env{'user.error.msg'}="$requrl:bre:0:0:Course not initialized"; $env{'user.reinit'} = 1; @@ -364,17 +322,11 @@ sub handler { } if ($direction eq 'firstres') { my $furl=&first_accessible_resource(); - $furl=&Apache::lonnet::absolute_url().$furl; - if ($reinitcheck eq 'update') { - &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); - $r->print(&reinited_js($furl,$env{'request.course.id'},100)); - $r->print(&Apache::loncommon::end_page()); - return OK; - } else { - &Apache::loncommon::content_type($r,'text/html'); - $r->header_out(Location => $furl); - return REDIRECT; - } + &Apache::loncommon::content_type($r,'text/html'); + $r->header_out(Location => + &Apache::lonnet::absolute_url().$furl); + + return REDIRECT; } if ($direction eq 'return') { # -------------------------------------------------------- Return to last known @@ -393,16 +345,11 @@ sub handler { } else { $newloc='/adm/navmaps'; } - $newloc=&Apache::lonnet::absolute_url().$newloc; - if ($reinitcheck eq 'update') { - $r->print(&reinited_js($newloc,$env{'request.course.id'},100)); - $r->print(&Apache::loncommon::end_page()); - return OK; - } else { - &Apache::loncommon::content_type($r,'text/html'); - $r->header_out(Location => $newloc); - return REDIRECT; - } + &Apache::loncommon::content_type($r,'text/html'); + $r->header_out(Location => + &Apache::lonnet::absolute_url().$newloc); + + return REDIRECT; } # # Is the current URL on the map? If not, start with last known URL @@ -416,21 +363,15 @@ sub handler { $last=$hash{'last_known'}; untie(%hash); } + my $newloc; if ($last) { $currenturl=&Apache::lonnet::clutter((&Apache::lonnet::decode_symb($last))[2]); } else { - my $newloc = &Apache::lonnet::absolute_url(). - '/adm/navmaps'; - if ($reinitcheck eq 'update') { - &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); - $r->print(&reinited_js($newloc,$env{'request.course.id'},100)); - $r->print(&Apache::loncommon::end_page()); - return OK; - } else { - &Apache::loncommon::content_type($r,'text/html'); - $r->header_out(Location => $newloc); - return REDIRECT; - } + &Apache::loncommon::content_type($r,'text/html'); + $r->header_out(Location => + &Apache::lonnet::absolute_url(). + '/adm/navmaps'); + return REDIRECT; } } # ------------------------------------------- Do we have any idea where we are? @@ -463,7 +404,7 @@ sub handler { @possibilities=split(/\,/,$next); if ($#possibilities==0) { # ---------------------------------------------- Only one possibility, redirect - ($redirecturl,$redirectsymb,$enc,$anchor)=&hash_src($next); + ($redirecturl,$redirectsymb)=&hash_src($next); $cachehash{$endupmap}{$redirecturl}= [$redirecturl,(split(/\./,$next))[1]]; } else { @@ -509,29 +450,14 @@ sub handler { &Apache::lonnet::linklog($redirecturl,$currenturl); } # ------------------------------------- Check for and display critical messages - my ($redirect, $url) = &Apache::loncommon::critical_redirect(300,'flip'); + my ($redirect, $url) = &Apache::loncommon::critical_redirect(300); unless ($redirect) { $url=&Apache::lonnet::absolute_url().$redirecturl; - my $addanchor; - if (($anchor ne '') && (!$enc || $env{'request.role.adv'})) { - $addanchor = 1; - $url =~ s/\#.+$//; - } $url = &add_get_param($url, { 'symb' => $redirectsymb}); - if ($addanchor) { - $url .= $anchor; - } - } - if ($reinitcheck eq 'update') { - &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); - $r->print(&reinited_js($url,$env{'request.course.id'},100)); - $r->print(&Apache::loncommon::end_page()); - return OK; - } else { - &Apache::loncommon::content_type($r,'text/html'); - $r->header_out(Location => $url); - return REDIRECT; } + &Apache::loncommon::content_type($r,'text/html'); + $r->header_out(Location => $url); + return REDIRECT; } else { # --------------------------------------------------------- There was a problem &Apache::loncommon::content_type($r,'text/html'); @@ -614,23 +540,12 @@ ENDSTART } } else { # ------------------------------------------------- Problem, could not tie hash - if ($reinitcheck eq 'update') { - &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); - $r->print(&Apache::loncommon::end_page()); - } $env{'user.error.msg'}="/adm/flip:bre:0:1:Course Data Missing"; return HTTP_NOT_ACCEPTABLE; } } else { # ---------------------------------------- No, could not determine where we are - my $newloc = '/adm/ambiguous'; - if ($reinitcheck eq 'update') { - &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); - $r->print(&reinited_js($newloc,$env{'request.course.id'},100)); - $r->print(&Apache::loncommon::end_page()); - } else { - $r->internal_redirect($newloc); - } + $r->internal_redirect('/adm/ambiguous'); return OK; } } else {