version 1.165, 2006/02/21 20:14:49
|
version 1.172, 2006/04/10 18:49:56
|
Line 40 package Apache::lonmenu;
|
Line 40 package Apache::lonmenu;
|
|
|
use strict; |
use strict; |
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::Constants qw(:common); |
|
use Apache::lonhtmlcommon(); |
use Apache::lonhtmlcommon(); |
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lonenc(); |
use Apache::lonenc(); |
Line 50 use vars qw(@desklines $readdesk);
|
Line 49 use vars qw(@desklines $readdesk);
|
|
|
|
|
my @inlineremote; |
my @inlineremote; |
my $font; |
|
my $tabbg; |
|
my $pgbg; |
|
|
|
# ================================================================ Little texts |
# ================================================================ Little texts |
|
|
Line 68 sub initlittle {
|
Line 64 sub initlittle {
|
'groups' => 'Groups'); |
'groups' => 'Groups'); |
} |
} |
|
|
|
sub get_colors { |
|
my ($font,$pgbg,$tabbg); |
|
if ($env{'browser.interface'} eq 'textual') { |
|
$pgbg='#FFFFFF'; |
|
$tabbg='#FFFFFF'; |
|
$font='#000000'; |
|
} else { |
|
my $domain =&Apache::loncommon::determinedomain(); |
|
my $function =&Apache::loncommon::get_users_function(); |
|
|
|
$pgbg =&Apache::loncommon::designparm($function.'.pgbg', $domain); |
|
$tabbg =&Apache::loncommon::designparm($function.'.tabbg',$domain); |
|
$font =&Apache::loncommon::designparm($function.'.font', $domain); |
|
} |
|
return ($font,$pgbg,$tabbg); |
|
} |
# ============================= This gets called at the top of the body section |
# ============================= This gets called at the top of the body section |
|
|
sub menubuttons { |
sub menubuttons { |
Line 107 sub menubuttons {
|
Line 119 sub menubuttons {
|
} |
} |
} |
} |
|
|
|
my ($font,$pgbg,$tabbg) = &get_colors(); |
|
|
if ($env{'browser.interface'} eq 'textual') { |
if ($env{'browser.interface'} eq 'textual') { |
# Textual display only |
# Textual display only |
$pgbg='#FFFFFF'; |
|
$tabbg='#FFFFFF'; |
|
$font='#000000'; |
|
if ($env{'request.course.id'}) { |
if ($env{'request.course.id'}) { |
$navmaps=(<<ENDNAV); |
$navmaps=(<<ENDNAV); |
<a href="/adm/navmaps?postdata=$escurl&postsymb=$escsymb" target="_top">$lt{'nav'}</a> |
<a href="/adm/navmaps?postdata=$escurl&postsymb=$escsymb" target="_top">$lt{'nav'}</a> |
Line 159 ENDMAINMENU
|
Line 170 ENDMAINMENU
|
# Remote Control is switched off |
# Remote Control is switched off |
# figure out colors |
# figure out colors |
my %lt=&initlittle(); |
my %lt=&initlittle(); |
my $function='student'; |
|
if ($env{'request.role'}=~/^(cc|in|ta|ep)/) { |
|
$function='coordinator'; |
|
} |
|
if ($env{'request.role'}=~/^(su|dc|ad|li)/) { |
|
$function='admin'; |
|
} |
|
if (($env{'request.role'}=~/^(au|ca)/) || |
|
($env{'request.noversionuri'}=~/^(\/priv|\~)/)) { |
|
$function='author'; |
|
} |
|
my $domain=&Apache::loncommon::determinedomain(); |
my $domain=&Apache::loncommon::determinedomain(); |
$pgbg=&Apache::loncommon::designparm($function.'.pgbg',$domain); |
my $function =&Apache::loncommon::get_users_function(); |
$tabbg=&Apache::loncommon::designparm($function.'.tabbg',$domain); |
|
$font=&Apache::loncommon::designparm($function.'.font',$domain); |
|
my $link=&Apache::loncommon::designparm($function.'.link',$domain); |
my $link=&Apache::loncommon::designparm($function.'.link',$domain); |
my $alink=&Apache::loncommon::designparm($function.'.alink',$domain); |
my $alink=&Apache::loncommon::designparm($function.'.alink',$domain); |
my $vlink=&Apache::loncommon::designparm($function.'.vlink',$domain); |
my $vlink=&Apache::loncommon::designparm($function.'.vlink',$domain); |
Line 279 $groups
|
Line 278 $groups
|
<td bgcolor="$tabbg"> |
<td bgcolor="$tabbg"> |
<img align="right" src="$logo" alt="Logo" /> |
<img align="right" src="$logo" alt="Logo" /> |
<b>LON-CAPA</b></td> |
<b>LON-CAPA</b></td> |
$form |
|
</tr> |
</tr> |
</table> |
</table> |
|
$form |
<script type="text/javascript"> |
<script type="text/javascript"> |
// END LON-CAPA Internal |
// END LON-CAPA Internal |
</script> |
</script> |
Line 330 sub registerurl {
|
Line 329 sub registerurl {
|
# =========== and in the body of the document |
# =========== and in the body of the document |
|
|
sub innerregister { |
sub innerregister { |
my $forcereg=shift; |
my ($forcereg, $target, $titletable) = @_; |
my $target = shift; |
|
my $titletable = shift; |
|
my $result = ''; |
my $result = ''; |
my ($uname,$thisdisfn); |
my ($uname,$thisdisfn); |
my $const_space = ($env{'request.state'} eq 'construct'); |
my $const_space = ($env{'request.state'} eq 'construct'); |
Line 352 sub innerregister {
|
Line 349 sub innerregister {
|
|
|
my $reopen=&Apache::lonmenu::reopenmenu(); |
my $reopen=&Apache::lonmenu::reopenmenu(); |
|
|
|
my ($font,$pgbg,$tabbg) = &get_colors(); |
|
|
my $newmail=''; |
my $newmail=''; |
if ($noremote) { |
if ($noremote) { |
$newmail='<table bgcolor="'.$pgbg.'" border="0" cellspacing="1" cellpadding="1" width="100%"><tr><td bgcolor="'.$tabbg.'"><font face="Arial,Helvetica,sans-serif">'; |
$newmail='<table bgcolor="'.$pgbg.'" border="0" cellspacing="1" cellpadding="1" width="100%"><tr><td bgcolor="'.$tabbg.'"><font face="Arial,Helvetica,sans-serif">'; |
Line 838 sub switch {
|
Line 837 sub switch {
|
$bot=&mt($bot); |
$bot=&mt($bot); |
$desc=&mt($desc); |
$desc=&mt($desc); |
$img=&mt($img); |
$img=&mt($img); |
|
|
|
my ($font,$pgbg,$tabbg) = &get_colors(); |
|
|
unless (($env{'browser.interface'} eq 'textual') || |
unless (($env{'browser.interface'} eq 'textual') || |
($env{'environment.remote'} eq 'off')) { |
($env{'environment.remote'} eq 'off')) { |
# Remote |
# Remote |
Line 1177 function catalog_info() {
|
Line 1179 function catalog_info() {
|
function chat_win() { |
function chat_win() { |
lonchat=window.open('/res/adm/pages/chatroom.html',"LONchat",'height=320,width=280,resizable=yes,location=no,menubar=no,toolbar=no'); |
lonchat=window.open('/res/adm/pages/chatroom.html',"LONchat",'height=320,width=280,resizable=yes,location=no,menubar=no,toolbar=no'); |
} |
} |
|
|
|
function group_chat(group) { |
|
var url = '/adm/groupchat?group='+group; |
|
var winName = 'LONchat_'+group; |
|
grpchat=window.open(url,winName,'height=320,width=280,resizable=yes,location=no,menubar=no,toolbar=no'); |
|
} |
ENDUTILITY |
ENDUTILITY |
} |
} |
|
|
sub serverform { |
sub serverform { |
return(<<ENDSERVERFORM); |
return(<<ENDSERVERFORM); |
<form name="server" action="/adm/logout" method="post" target="_top"> |
<form name="server" action="/adm/logout" method="POST" target="_top"> |
<input type="hidden" name="postdata" value="none" /> |
<input type="hidden" name="postdata" value="none" /> |
<input type="hidden" name="command" value="none" /> |
<input type="hidden" name="command" value="none" /> |
<input type="hidden" name="url" value="none" /> |
<input type="hidden" name="url" value="none" /> |
Line 1193 ENDSERVERFORM
|
Line 1201 ENDSERVERFORM
|
|
|
sub constspaceform { |
sub constspaceform { |
return(<<ENDCONSTSPACEFORM); |
return(<<ENDCONSTSPACEFORM); |
<form name="constspace" action="/adm/logout" method="post" target="_top"> |
<form name="constspace" action="/adm/logout" method="POST" target="_top"> |
<input type="hidden" name="filename" value="" /> |
<input type="hidden" name="filename" value="" /> |
</form> |
</form> |
<form name="cstrdelete" action="/adm/cfile" method="post" target="_top"> |
<form name="cstrdelete" action="/adm/cfile" method="POST" target="_top"> |
<input type="hidden" name="action" value="delete" /> |
<input type="hidden" name="action" value="delete" /> |
<input type="hidden" name="filename" value="" /> |
<input type="hidden" name="filename" value="" /> |
</form> |
</form> |
<form name="cstrprint" action="/adm/printout" target="_parent" method="post"> |
<form name="cstrprint" action="/adm/printout" target="_parent" method="POST"> |
<input type="hidden" name="postdata" value="" /> |
<input type="hidden" name="postdata" value="" /> |
<input type="hidden" name="curseed" value="" /> |
<input type="hidden" name="curseed" value="" /> |
<input type="hidden" name="problemtype" value="" /> |
<input type="hidden" name="problemtype" value="" /> |
Line 1220 sub get_nav_status {
|
Line 1228 sub get_nav_status {
|
return $navstatus; |
return $navstatus; |
} |
} |
|
|
# ================================================ Handler when called directly |
|
|
|
|
|
sub handler { |
|
my $r = shift; |
|
&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=&serverform(); |
|
} |
|
my $bodytag=&Apache::loncommon::bodytag('Main Menu'); |
|
my $function='student'; |
|
if ($env{'request.role'}=~/^(cc|in|ta|ep)/) { |
|
$function='coordinator'; |
|
} |
|
if ($env{'request.role'}=~/^(su|dc|ad|li)/) { |
|
$function='admin'; |
|
} |
|
if (($env{'request.role'}=~/^(au|ca)/) || |
|
($env{'request.noversionuri'}=~/^(\/priv|\~)/)) { |
|
$function='author'; |
|
} |
|
my $domain=&Apache::loncommon::determinedomain(); |
|
$pgbg=&Apache::loncommon::designparm($function.'.pgbg',$domain); |
|
$tabbg=&Apache::loncommon::designparm($function.'.tabbg',$domain); |
|
$font=&Apache::loncommon::designparm($function.'.font',$domain); |
|
my $script_tag; |
|
if ($env{'environment.remote'} ne 'off') { |
|
my $utility=&utilityfunctions('/adm/menu'); |
|
$script_tag=(<<ENDSCRIPT); |
|
<script type="text/javascript"> |
|
$utility |
|
</script> |
|
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'; |
|
} |
|
my $html=&Apache::lonxml::xmlbegin(); |
|
$r->print(<<ENDHEADER); |
|
$html |
|
<head> |
|
<title>LON-CAPA Main Menu</title> |
|
$script_tag |
|
</head> |
|
$bodytag |
|
ENDHEADER |
|
$r->print('<table>'.&inlinemenu().'</table>'.$form); |
|
$r->print('</body></html>'); |
|
return OK; |
|
} |
|
|
|
# ================================================================ Main Program |
# ================================================================ Main Program |
|
|
BEGIN { |
BEGIN { |
if (! defined($readdesk)) { |
if (! defined($readdesk)) { |
{ |
{ |
my $tabfile = $Apache::lonnet::perlvar{'lonTabDir'}.'/mydesk.tab'; |
my $tabfile = $Apache::lonnet::perlvar{'lonTabDir'}.'/mydesk.tab'; |
if ( CORE::open( my $config,"<$tabfile") ) { |
if ( CORE::open( my $config,"<$tabfile") ) { |
while (my $configline=<$config>) { |
while (my $configline=<$config>) { |
$configline=(split(/\#/,$configline))[0]; |
$configline=(split(/\#/,$configline))[0]; |
$configline=~s/^\s+//; |
$configline=~s/^\s+//; |
chomp($configline); |
chomp($configline); |
if ($configline) { |
if ($configline) { |
$desklines[$#desklines+1]=$configline; |
push(@desklines,$configline); |
} |
} |
} |
} |
CORE::close($config); |
CORE::close($config); |
|
} |
|
} |
|
$readdesk='done'; |
} |
} |
} |
|
$readdesk='done'; |
|
} |
|
} |
} |
|
|
1; |
1; |