Annotation of loncom/interface/lonmainmenu.pm, revision 1.1
1.1 ! albertel 1: # The LearningOnline Network with CAPA
! 2: # displays the main menu
! 3: #
! 4: # $Id: lonmenu.pm,v 1.170 2006/04/07 21:56:01 albertel Exp $
! 5: #
! 6: # Copyright Michigan State University Board of Trustees
! 7: #
! 8: # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
! 9: #
! 10: # LON-CAPA is free software; you can redistribute it and/or modify
! 11: # it under the terms of the GNU General Public License as published by
! 12: # the Free Software Foundation; either version 2 of the License, or
! 13: # (at your option) any later version.
! 14: #
! 15: # LON-CAPA is distributed in the hope that it will be useful,
! 16: # but WITHOUT ANY WARRANTY; without even the implied warranty of
! 17: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! 18: # GNU General Public License for more details.
! 19: #
! 20: # You should have received a copy of the GNU General Public License
! 21: # along with LON-CAPA; if not, write to the Free Software
! 22: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
! 23: #
! 24: # /home/httpd/html/adm/gpl.txt
! 25: #
! 26: # http://www.lon-capa.org/
! 27: #
! 28: #
! 29: # There are two parameters controlling the action of this module:
! 30: #
! 31: # browser.interface - if this is 'textual', it overrides the second parameter
! 32: # and goes to screen reader PDA mode
! 33: #
! 34: # environment.remote - if this is 'on', the routines controll the remote
! 35: # control, otherwise they render the main window controls; ignored it
! 36: # browser.interface is 'textual'
! 37: #
! 38:
! 39: package Apache::lonmainmenu;
! 40:
! 41: use strict;
! 42: use Apache::Constants qw(:common);
! 43: use Apache::loncommon();
! 44:
! 45: sub handler {
! 46: my $r = shift;
! 47: &Apache::loncommon::no_cache($r);
! 48: &Apache::loncommon::content_type($r,'text/html');
! 49: $r->send_http_header;
! 50: return OK if $r->header_only;
! 51:
! 52: my $form;
! 53: if ($env{'environment.remote'} ne 'off' &&
! 54: $env{'browser.interface'} ne 'textual') {
! 55: $form=&Apache::lonmenu::serverform();
! 56: }
! 57: my $function='student';
! 58: if ($env{'request.role'}=~/^(cc|in|ta|ep)/) {
! 59: $function='coordinator';
! 60: }
! 61: if ($env{'request.role'}=~/^(su|dc|ad|li)/) {
! 62: $function='admin';
! 63: }
! 64: if (($env{'request.role'}=~/^(au|ca)/) ||
! 65: ($env{'request.noversionuri'}=~/^(\/priv|\~)/)) {
! 66: $function='author';
! 67: }
! 68: my $domain=&Apache::loncommon::determinedomain();
! 69: $pgbg=&Apache::loncommon::designparm($function.'.pgbg',$domain);
! 70: $tabbg=&Apache::loncommon::designparm($function.'.tabbg',$domain);
! 71: $font=&Apache::loncommon::designparm($function.'.font',$domain);
! 72: my $script_tag;
! 73: if ($env{'environment.remote'} ne 'off') {
! 74: my $utility=&Apache::lonmenu::utilityfunctions('/adm/menu');
! 75: $script_tag=(<<ENDSCRIPT);
! 76: <script type="text/javascript">
! 77: $utility
! 78: </script>
! 79: ENDSCRIPT
! 80: }
! 81: # ---- Print the screen, pretend to be in text mode to generate text-based menu
! 82: unless ($env{'browser.interface'} eq 'textual') {
! 83: $env{'browser.interface'}='faketextual';
! 84: $env{'environment.remote'}='off';
! 85: }
! 86: $r->print(&Apache::loncommon::start_page('Main Menu',$script_tag));
! 87: $r->print('<table>'.&Apache::lonmenu::inlinemenu().'</table>'.$form);
! 88: $r->print(&Apache::loncommon::end_page());
! 89: return OK;
! 90: }
! 91:
! 92:
! 93: 1;
! 94: __END__
! 95:
! 96:
! 97:
! 98:
! 99:
! 100:
! 101:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>