Menu restructuring.

This commit is contained in:
Andrew McMillan 2009-10-27 09:34:43 +13:00
parent 309a1314a9
commit 74ccdb910a
3 changed files with 47 additions and 36 deletions

View File

@ -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 );
}
}

View File

@ -1,21 +1,41 @@
<?php
$save = error_reporting(0);
require_once("MenuSet.php");
$page_menu = new MenuSet('menu', 'menu', 'menu_active');
$page_menu->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);

View File

@ -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 '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">';
global $session, $c, $main_menu, $related_menu;
header( 'Content-type: text/html; charset="utf-8"' );
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">';
echo <<<EOHDR
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>$c->page_title</title>
EOHDR;
foreach ( $c->stylesheets AS $stylesheet ) {
echo '<link rel="stylesheet" type="text/css" href="'.$stylesheet.'" />';
echo '<link rel="stylesheet" type="text/css" href="'.$stylesheet.'">';
}
if ( isset($c->local_styles) ) {
// Always load local styles last, so they can override prior ones...
foreach ( $c->local_styles AS $stylesheet ) {
echo '<link rel="stylesheet" type="text/css" href="'.$stylesheet.'" />';
echo '<link rel="stylesheet" type="text/css" href="'.$stylesheet.'">';
}
}
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 "<link rel=\"stylesheet\" type=\"text/css\" href=\"$stylesheet\" media=\"print\"/>\n";
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"$stylesheet\" media=\"print\">\n";
}
}
echo "</head>\n<body>\n";
echo "<div id=\"pageheader\">\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 "</div>\n";
@ -89,4 +82,3 @@ EOHDR;
send_page_header();
?>