--- loncom/interface/lonmainmenu.pm 2010/12/05 19:43:10 1.8.4.12 +++ loncom/interface/lonmainmenu.pm 2010/03/10 21:25:50 1.9 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # displays the main menu # -# $Id: lonmainmenu.pm,v 1.8.4.12 2010/12/05 19:43:10 raeburn Exp $ +# $Id: lonmainmenu.pm,v 1.9 2010/03/10 21:25:50 droeschl Exp $ # # Copyright Michigan State University Board of Trustees # @@ -31,10 +31,6 @@ # 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; @@ -43,8 +39,6 @@ use Apache::Constants qw(:common); use Apache::loncommon(); use Apache::lonnet; use Apache::lonmenu(); -use Apache::lonlocal; -use LONCAPA qw(:DEFAULT :match); sub handler { my $r = shift; @@ -53,83 +47,21 @@ sub handler { $r->send_http_header; return OK if $r->header_only; - my $custommenu = &Apache::loncommon::needs_gci_custom(); - my $cid = $env{'request.course.id'}; - - my %cicourses; - my $udom = $env{'user.domain'}; - my %allnums = &Apache::loncommon::get_faculty_cnums(); - if (($udom ne '') && (ref($allnums{$udom}) eq 'HASH')) { - foreach my $key (%{$allnums{$udom}}) { - $cicourses{$udom.'_'.$key} = $allnums{$udom}->{$key}; - } - } - - if (($custommenu && $cid ne '' && ($cicourses{$cid} || $env{'request.role'} !~ m{^cc\./\Q$udom\Etest/})) || - ($cid ne '' && $env{'user.domain'} =~ /^\w+citest$/)) { - $r->internal_redirect('/adm/navmaps'); - return OK; - } - - my $form; - if ($env{'environment.remote'} ne 'off') { - $form=&Apache::lonmenu::serverform(); - } - - my $script_tag; - if ($env{'environment.remote'} ne 'off') { - my $utility=&Apache::lonmenu::utilityfunctions('/adm/menu'); - $script_tag=(< -$utility - -ENDSCRIPT - } + my $form; # ---- Print the screen, pretend to be in text mode to generate text-based menu # temporarily set interface to "faketextual" and remote to "off", which renders # the main menu $env{'browser.interface'}='faketextual'; - $env{'environment.remote'}='off'; - # Breadcrumbs - my ($nocrumbs,$args); - if ($custommenu) { - if ($env{'request.course.id'}) { - unless ($cicourses{$env{'request.course.id'}}) { - $nocrumbs = 1; - } - } else { - $nocrumbs = 1; - } - } - unless ($nocrumbs) { - my $brcrum = []; - $args = {bread_crumbs => $brcrum}; - } - $r->print(&Apache::loncommon::start_page('Main Menu',$script_tag,$args)); - - my ($rolecount,$numcourses) = (0,0); - my $now = time; - unless (($custommenu) || ($env{'user.domain'} =~ /^\w+citest$/)) { - foreach my $envkey (keys(%env)) { - next unless ($envkey =~ /^user\.role\./); - my ($start,$end) = split(/\./,$env{$envkey}); - if (($start eq '' || $start <= $now) && ($end eq '' || $end > $now)) { - $rolecount ++; - } - } - } - if ($custommenu) { - $r->print(&Apache::lonmenu::inlinemenu('gcicustom').$form); - } elsif (!$rolecount) { - $r->print(&Apache::lonmenu::inlinemenu('gcinorole').$form); - } else { - $r->print(&Apache::lonmenu::inlinemenu().$form); - } + $r->print(&Apache::loncommon::start_page( 'Main Menu', + undef, + {'bread_crumbs' => 1})); + $r->print(&Apache::lonmenu::inlinemenu().$form); $r->print(&Apache::loncommon::end_page()); return OK; } + 1; __END__