--- loncom/interface/lonmenu.pm 2007/04/24 23:26:02 1.217 +++ loncom/interface/lonmenu.pm 2007/07/17 18:31:37 1.222 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.217 2007/04/24 23:26:02 albertel Exp $ +# $Id: lonmenu.pm,v 1.222 2007/07/17 18:31:37 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -61,7 +61,7 @@ sub initlittle { 'main' => 'Main Menu', 'roles' => ($env{'user.adv'}? 'Roles':'Courses'), - 'docs' => 'Course Documents', + 'docs' => 'Edit Course', 'exit' => 'Exit', 'login' => 'Log In', 'launch' => 'Launch Remote Control', @@ -507,10 +507,19 @@ ENDMENUITEMS my $buttons=''; foreach (split(/\n/,$menuitems)) { my ($command,@rest)=split(/\&/,$_); - if ($command eq 's') { - $buttons.=&switch('','',@rest); - } else { - $buttons.=&clear(@rest); + my $idx=10*$rest[0]+$rest[1]; + if (&hidden_button_check() eq 'yes') { + if ($idx == 21 ||$idx == 23) { + $buttons.=&switch('','',@rest); + } else { + $buttons.=&clear(@rest); + } + } else { + if ($command eq 's') { + $buttons.=&switch('','',@rest); + } else { + $buttons.=&clear(@rest); + } } } @@ -520,18 +529,36 @@ ENDMENUITEMS my $inlinebuttons=''; if ($addremote) { # Registered, textual output - if ($env{'browser.interface'} eq 'textual') { $inlinebuttons= join('',map { (defined($_)?$_:'') } @inlineremote); } else { - $inlinebuttons=(< +$inlineremote[21] $inlineremote[23] +ENDARROWSINLINE + if (&hidden_button_check() ne 'yes') { + $inlinebuttons .= (< +ENDINLINEICONS + } + } else { + $inlinebuttons=(<$inlineremote[21] $inlineremote[23] +ENDFIRSTLINE + if (&hidden_button_check() ne 'yes') { + $inlinebuttons .= (<$inlineremote[61]$inlineremote[62]$inlineremote[63] $inlineremote[71]$inlineremote[72]$inlineremote[73] $inlineremote[81]$inlineremote[82]$inlineremote[83] $inlineremote[91]$inlineremote[92]$inlineremote[93] ENDINLINE + } + } } } $result =(<self.name="loncapaclient";'; } my $menuname='LCmenu'.$Apache::lonnet::perlvar{'lonHostID'}; - unless (shift eq 'unix') { + +# unless (shift eq 'unix') { # resizing does not work on linux because of virtual desktop sizes - $returnval.=(<'.$pic.''; + } else { + $inlineremote[$idx]= ''.$pic. ''.$desc.''; + } } } return ''; @@ -1322,6 +1354,16 @@ sub convert_menu_function { return $rolename; } +sub hidden_button_check { + my $hidden; + if ($env{'request.course.id'} eq '') { + return; + } + if ($env{'request.role.adv'}) { + return; + } + return &Apache::lonnet::EXT('resource.0.buttonshide'); +} # ================================================================ Main Program