use MOJO:Widgets::Admin_Menu
This module creates the Admin Menu for the List Control Panel. It also packs data so it can be saved
my $function_permissions = check_function_permissions(-List_Ref => \%list_info, -Function => $args{-Function}); if ($function_permissions < 1){ $problems++; }
$ADMIN_MENU = MOJO::Template::Widgets::Admin_Menu::make_admin_menu('superuser');
$ADMIN_MENU = MOJO::Template::Widgets::Admin_Menu::make_admin_menu('user',\%list_info);
If the superuse is specified, all menu items will be active, if not, what will be active will be determined by the \%list_info (the settings)
this returns an html menu
=cut
sub make_admin_menu {
my $permissions = shift; my $list_info_ref = shift;
my ($NAVS, $SUBNAVS) = make_nav_hashes($list_info_ref); my $menu; #walk through the complex data structures.. foreach my $nav(@$ADMIN_MENU){ my $nav_entry; if($nav->{-Title}){ if(exists($NAVS->{$nav->{-Title}})){$nav->{-Activated} = $NAVS->{$nav->{-Title}}} $nav->{-Activated} = 1 if($permissions eq 'superuser'); if($nav->{-Activated} == 1){ if($nav->{-Title_URL}){ $nav_entry = "<p><b><a href='$nav->{-Title_URL}'>$nav->{-Title}</a></b>\n"; }else{ $nav_entry = "<p><b>$nav->{-Title}</b>\n"; } $menu .= $nav_entry; foreach my $subnav(@{$nav->{-Submenu}}){ my $subnav_entry; if($subnav->{-Title}){ if(exists($SUBNAVS->{$subnav->{-Title}})){$subnav->{-Activated} = $SUBNAVS->{$subnav->{-Title}}} $subnav->{-Activated} = 1 if($permissions eq 'superuser'); if($subnav->{-Activated} == 1){ if($subnav->{-Title_URL}){ $subnav_entry = "<br> <a href='$subnav->{-Title_URL}'>$subnav->{-Title}</a>\n"; }else{ $subnav_entry = "<br> $subnav->{-Title}\n"; } $menu .= $subnav_entry } } } $menu .= '</p>'; } } }
return $menu; }
creates a form to allow you to turn on and off features of the admin menu
foreach(@params){$param_hash{$_} = $q->param($_);} my $save_set = create_save_set(\%param_hash); my %new_info = (list => $list, admin_menu => $save_set); setup_list(\%new_info);
creates a packed string to save admin menu information, The format is really weird,
take mi word for it.
Copyright (c) 1999 - 2002 Justin Simoni (justin@skazat.com) http://skazat.com All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.