--- rat/lonpageflip.pm 2014/06/26 18:21:24 1.80.8.5
+++ rat/lonpageflip.pm 2013/11/28 02:23:25 1.83
@@ -2,7 +2,7 @@
#
# Page flip handler
#
-# $Id: lonpageflip.pm,v 1.80.8.5 2014/06/26 18:21:24 raeburn Exp $
+# $Id: lonpageflip.pm,v 1.83 2013/11/28 02:23:25 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -36,7 +36,6 @@ use LONCAPA;
use Apache::Constants qw(:common :http REDIRECT);
use Apache::lonnet;
use Apache::loncommon();
-use Apache::lonlocal;
use HTML::TokeParser;
use GDBM_File;
@@ -218,26 +217,6 @@ sub get_next_possible_move {
return ($next,$mapurl);
}
-sub navlaunch {
- my ($r)=@_;
- &Apache::loncommon::content_type($r,'text/html');
- &Apache::loncommon::no_cache($r);
- $r->send_http_header;
- $r->print(&Apache::loncommon::start_page('Launched'));
- $r->print(<
Collapse external navigation window
-ENDNAV - $r->print(&Apache::loncommon::end_page()); -} - sub first_accessible_resource { my $furl; if (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'.db', @@ -249,8 +228,7 @@ sub first_accessible_resource { my ($name,$value) = split(/=/,$pair); $args{&unescape($name)} = &unescape($value); } - if ((($env{'environment.remotenavmap'} eq 'on') && ($furl =~ m{^/adm/navmaps})) || - (!&Apache::lonnet::allowed('bre',$url,$args{'symb'}))) { + if (!&Apache::lonnet::allowed('bre',$url,$args{'symb'})) { # Wow, we cannot see this ... move forward to the next one that we can see my ($newrid,$newmap)=&move($hash{'first_rid'},$hash{'first_mapurl'},'forward'); # Build the new URL @@ -304,7 +282,7 @@ sub handler { return REDIRECT; } - if ($direction eq 'return' || $direction eq 'navlaunch') { + if ($direction eq 'return') { # -------------------------------------------------------- Return to last known my $last; if (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'_symb.db', @@ -327,17 +305,12 @@ sub handler { untie %hash; } else { $newloc='/adm/navmaps'; - } - if (($newloc =~ m{^/adm/navmaps}) && ($direction eq 'navlaunch')) { - &navlaunch($r); - return OK; - } else { + } &Apache::loncommon::content_type($r,'text/html'); $r->header_out(Location => &Apache::lonnet::absolute_url().$newloc); return REDIRECT; - } } $currenturl=~s/^https?\:\/\///; $currenturl=~s/^[^\/]+//; @@ -354,16 +327,11 @@ sub handler { if ($last) { $currenturl=&Apache::lonnet::clutter((&Apache::lonnet::decode_symb($last))[2]); } else { - if ($direction eq 'return') { &Apache::loncommon::content_type($r,'text/html'); $r->header_out(Location => &Apache::lonnet::absolute_url(). '/adm/noidea.html'); return REDIRECT; - } else { - &navlaunch($r); - return OK; - } } } # ------------------------------------------- Do we have any idea where we are? @@ -436,13 +404,24 @@ sub handler { if ($direction eq 'back') { &Apache::lonnet::linklog($redirecturl,$currenturl); } -# ------------------------------------- Check for and display critical messages - my ($redirect, $url) = &Apache::loncommon::critical_redirect(300); - unless ($redirect) { - $url=&Apache::lonnet::absolute_url().$redirecturl; - $url = &add_get_param($url, { 'symb' => $redirectsymb}); - } - &Apache::loncommon::content_type($r,'text/html'); +# ------------------------------------------------- Check for critical messages + if ((time-$env{'user.criticalcheck.time'})>300) { + my @what=&Apache::lonnet::dump + ('critical',$env{'user.domain'}, + $env{'user.name'}); + if ($what[0]) { + if (($what[0] ne 'con_lost') && + ($what[0]!~/^error\:/)) { + $redirecturl='/adm/email?critical=display'; + $redirectsymb=''; + } + } + &Apache::lonnet::appenv({'user.criticalcheck.time'=>time}); + } + + &Apache::loncommon::content_type($r,'text/html'); + my $url=&Apache::lonnet::absolute_url().$redirecturl; + $url = &add_get_param($url, { 'symb' => $redirectsymb}); $r->header_out(Location => $url); return REDIRECT; } else { @@ -492,7 +471,7 @@ ENDSTART &Apache::loncommon::start_page('No Resource') .''.$lt{'explain'}.'
'); - } + } $r->print( &Apache::lonhtmlcommon::actionbox( [''.$lt{'back'}.'', @@ -552,8 +531,6 @@ described at http://www.lon-capa.org. =item get_next_possible_move() -=item navlaunch() - =item first_accessible_resource() =item handler()