From 74ccdb910a897bbb893cce3f7a3573dc742e17e6 Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Tue, 27 Oct 2009 09:34:43 +1300 Subject: [PATCH] Menu restructuring. --- htdocs/usr.php | 9 ++++---- inc/interactive-page.php | 48 ++++++++++++++++++++++++++++------------ inc/page-header.php | 26 ++++++++-------------- 3 files changed, 47 insertions(+), 36 deletions(-) diff --git a/htdocs/usr.php b/htdocs/usr.php index 29647033..ddbd3db3 100644 --- a/htdocs/usr.php +++ b/htdocs/usr.php @@ -51,15 +51,14 @@ } } - if ( $session->AllowedTo("Admin") ) - $user_menu->AddOption(translate("New User"),"$c->base_url/usr.php?create",translate("Add a new user"), false, 10); - + $related_menu->AddOption( sprintf(translate("Edit %s"), $user->Get('fullname')), $c->base_url.'/usr.php?user_no='.$user->user_no.'&edit=1', translate("Edit this user record"), true, 900 ); + $related_menu->AddOption( sprintf(translate("View %s"), $user->Get('fullname')), $c->base_url.'/usr.php?user_no='.$user->user_no, translate("View this user record"), true, 900 ); if ( $user->user_no > 0 ) { if ( $user->AllowedTo('update') && ! $user->EditMode ) { - $user_menu->AddOption( sprintf(translate("Edit %s"), $user->Get('fullname')), "$c->base_url/usr.php?user_no=$user->user_no&edit=1", translate("Edit this user record"), true, 900 ); + $related_menu->AddOption( sprintf(translate("Edit %s"), $user->Get('fullname')), "$c->base_url/usr.php?user_no=$user->user_no&edit=1", translate("Edit this user record"), true, 900 ); } else { - $user_menu->AddOption( sprintf(translate("View %s"), $user->Get('fullname')), "$c->base_url/usr.php?user_no=$user->user_no", translate("View this user record"), true, 900 ); + $related_menu->AddOption( sprintf(translate("View %s"), $user->Get('fullname')), "$c->base_url/usr.php?user_no=$user->user_no", translate("View this user record"), true, 900 ); } } diff --git a/inc/interactive-page.php b/inc/interactive-page.php index 37f80382..2b223f49 100644 --- a/inc/interactive-page.php +++ b/inc/interactive-page.php @@ -1,21 +1,41 @@ AddOption(translate("Home"),"$c->base_url/index.php",translate("Home Page"), false, 3900 ); -if ( $session->AllowedTo("Admin" )) { -// $page_menu->AddOption(translate("Setup"),"$c->base_url/setup.php",translate("Setup RSCDS"), false, 5000 ); - $page_menu->AddOption(translate("Operations"),"$c->base_url/tools.php",translate("Operations on your calendar"), false, 5200 ); +if ( ! class_exists('MenuSet') ) include('MenuSet.php'); - $relationship_menu = new MenuSet('submenu', 'submenu', 'submenu_active'); + +$home_menu = new MenuSet('submenu', 'submenu', 'submenu_active'); +$home_menu->AddOption(translate('Logout'), $c->base_url.'/index.php?logout', translate('Log out of DAViCal') ); + +$wiki_help = ''; +if ( isset($_SERVER['SCRIPT_NAME']) ) { + $wiki_help = preg_replace('#^.*/#', '', $_SERVER['SCRIPT_NAME']); + $wiki_help = preg_replace('#\.php.*$#', '', $wiki_help); + $wiki_help = 'w/Help/'.$wiki_help; } -$page_menu->AddOption(translate("Logout"),"$c->base_url/index.php?logout",translate("Log out of the").$c->system_name, false, 5400 ); -$page_menu->AddOption(translate("Help"),"$c->base_url/help.php",translate("Help on something or other"), false, 8500 ); -$page_menu->AddOption(translate("Report Bug"),"http://sourceforge.net/tracker/?func=add&group_id=179845&atid=890785",translate("Report a bug in the system"), false, 9000, true ); + + +$help_menu = new MenuSet('submenu', 'submenu', 'submenu_active'); +$help_menu->AddOption(translate('DAViCal Homepage'),'http://www.davical.org/',translate('The DAViCal Home Page'), false, 6000, true ); +$help_menu->AddOption(translate('DAViCal Wiki'),'http://wiki.davical.org/'.$wiki_help,translate('Visit the DAViCal Wiki'), false, 7000, true ); +$help_menu->AddOption(translate('Request Feature'),'http://davical.uservoice.com/',translate('Go to the DAViCal Feature Requests'), false, 8000, true ); +$help_menu->AddOption(translate('Report Bug'),'http://sourceforge.net/tracker/?func=add&group_id=179845&atid=890785',translate('Report a bug in the system'), false, 9000, true ); $user_menu = new MenuSet('submenu', 'submenu', 'submenu_active'); +$user_menu->AddOption(translate('View My Details'),$c->base_url.'/usr.php?user_no='.$session->user_no,translate('View my own user record')); -$user_menu->AddOption(translate("My Details"),"$c->base_url/usr.php?user_no=$session->user_no",translate("View my own user record"), false, 700); +$admin_menu = new MenuSet('submenu', 'submenu', 'submenu_active'); +if ( $session->AllowedTo('Admin' )) { + $admin_menu->AddOption(translate('Setup'),$c->base_url.'/setup.php',translate('Setup DAViCal') ); + $admin_menu->AddOption(translate('Upgrade Database'),$c->base_url.'/upgrade.php',translate('Upgrade DAViCal database schema') ); + $admin_menu->AddOption(translate('Import Calendars'),$c->base_url.'/tools.php',translate('Operations on your calendar') ); + $admin_menu->AddOption( translate('Relationships'), $c->base_url.'/relationship_types.php', translate('Browse all relationship types') ); + $user_menu->AddOption(translate('New User'),$c->base_url.'/usr.php?create',translate('Add a new user')); +} + +$related_menu = new MenuSet('related', 'menu', 'menu_active'); + +$main_menu = new MenuSet('menu', 'menu', 'menu_active'); +$main_menu->AddSubMenu($home_menu, translate('Home'), $c->base_url.'/index.php', translate('Home Page'), false, 1000); +$main_menu->AddSubMenu($user_menu, translate('User Functions'), $c->base_url.'/users.php', translate('Browse all users'), false, 2000); +$main_menu->AddSubMenu($admin_menu, translate('Administration'), $c->base_url.'/index.php', translate('Administration'), false, 3000); +$main_menu->AddSubMenu($help_menu, translate('Help'), $c->base_url.'/help.php',translate('Help on the current screen'), false, 9000); -$active_menu_pattern = "#^$c->base_url/(index.*)?$#"; -error_reporting($save); diff --git a/inc/page-header.php b/inc/page-header.php index 6c118fd8..ab5461d8 100644 --- a/inc/page-header.php +++ b/inc/page-header.php @@ -28,49 +28,42 @@ function make_help_link($matches) function send_page_header() { - global $session, $c, $page_menu, $user_menu, $role_menu, $relationship_menu, $active_menu_pattern; - -// echo ''; + global $session, $c, $main_menu, $related_menu; header( 'Content-type: text/html; charset="utf-8"' ); + echo ''; echo << - + $c->page_title EOHDR; foreach ( $c->stylesheets AS $stylesheet ) { - echo ''; + echo ''; } if ( isset($c->local_styles) ) { // Always load local styles last, so they can override prior ones... foreach ( $c->local_styles AS $stylesheet ) { - echo ''; + echo ''; } } if ( isset($c->print_styles) ) { // Finally, load print styles last, so they can override all of the above... foreach ( $c->print_styles AS $stylesheet ) { - echo "\n"; + echo "\n"; } } echo "\n\n"; echo "
\n"; - if ( isset($page_menu) && is_object($page_menu) ) { - if ( isset($relationship_menu) && is_object($relationship_menu) ) { - $page_menu->AddSubMenu( $relationship_menu, translate("Relationships"), - "$c->base_url/relationship_types.php", translate("Browse all relationship types"), false, 4050 ); - } - $page_menu->AddSubMenu( $user_menu, translate("Users"), "$c->base_url/users.php", translate("Browse all users"), false, 4100 ); -// $page_menu->AddSubMenu( $role_menu, "Roles", "/roles.php", "Browse all roles", false, 4300 ); - $page_menu->MakeSomethingActive($active_menu_pattern); - echo $page_menu->Render(); + if ( isset($main_menu) ) echo $main_menu->RenderAsCSS(); + if ( isset($related_menu) && $related_menu->Size() > 0 ) { + echo $related_menu->Render( true ); } echo "
\n"; @@ -89,4 +82,3 @@ EOHDR; send_page_header(); -?> \ No newline at end of file