--- loncom/interface/lonmainmenu.pm 2006/04/21 22:00:56 1.4 +++ loncom/interface/lonmainmenu.pm 2014/05/22 12:47:27 1.10.2.2 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # displays the main menu # -# $Id: lonmainmenu.pm,v 1.4 2006/04/21 22:00:56 albertel Exp $ +# $Id: lonmainmenu.pm,v 1.10.2.2 2014/05/22 12:47:27 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -31,48 +31,40 @@ # browser.interface - if this is 'textual', it overrides the second parameter # and goes to screen reader PDA mode # -# environment.remote - if this is 'on', the routines controll the remote -# control, otherwise they render the main window controls; ignored it -# browser.interface is 'textual' -# package Apache::lonmainmenu; use strict; -use Apache::Constants qw(:common); +use Apache::Constants qw(:common REDIRECT); use Apache::loncommon(); use Apache::lonnet; use Apache::lonmenu(); sub handler { my $r = shift; + + # Check for critical messages and redirect if present. + my ($redirect,$url) = &Apache::loncommon::critical_redirect(300); + if ($redirect) { + &Apache::loncommon::content_type($r,'text/html'); + $r->header_out(Location => $url); + return REDIRECT; + } + &Apache::loncommon::no_cache($r); &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; return OK if $r->header_only; - my $form; - if ($env{'environment.remote'} ne 'off' && - $env{'browser.interface'} ne 'textual') { - $form=&Apache::lonmenu::serverform(); - } - - my $script_tag; - if ($env{'environment.remote'} ne 'off') { - my $utility=&Apache::lonmenu::utilityfunctions('/adm/menu'); - $script_tag=(< -$utility - -ENDSCRIPT - } # ---- Print the screen, pretend to be in text mode to generate text-based menu - unless ($env{'browser.interface'} eq 'textual') { - $env{'browser.interface'}='faketextual'; - $env{'environment.remote'}='off'; - } - $r->print(&Apache::loncommon::start_page('Main Menu',$script_tag)); - $r->print(''.&Apache::lonmenu::inlinemenu().'
'.$form); +# temporarily set interface to "faketextual" and remote to "off", which renders +# the main menu + $env{'browser.interface'}='faketextual'; + $env{'environment.remote'}='off'; + $r->print(&Apache::loncommon::start_page( 'Main Menu', + undef, + {'bread_crumbs' => 1})); + $r->print(&Apache::lonmenu::inlinemenu()); $r->print(&Apache::loncommon::end_page()); return OK; }