--- loncom/interface/lonmenu.pm 2007/07/10 23:38:09 1.219 +++ loncom/interface/lonmenu.pm 2007/07/16 01:57:38 1.220 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.219 2007/07/10 23:38:09 albertel Exp $ +# $Id: lonmenu.pm,v 1.220 2007/07/16 01:57:38 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -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,28 +529,35 @@ ENDMENUITEMS my $inlinebuttons=''; if ($addremote) { # Registered, textual output - if ($env{'browser.interface'} eq 'textual') { $inlinebuttons= join('',map { (defined($_)?$_:'') } @inlineremote); } else { if ($env{'environment.icons'} eq 'iconsonly') { - $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 + } } } } @@ -1337,6 +1353,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