summaryrefslogtreecommitdiff
path: root/includes/sys_menu.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/sys_menu.php')
-rw-r--r--includes/sys_menu.php123
1 files changed, 70 insertions, 53 deletions
diff --git a/includes/sys_menu.php b/includes/sys_menu.php
index 03009516..85a6db28 100644
--- a/includes/sys_menu.php
+++ b/includes/sys_menu.php
@@ -11,7 +11,10 @@ function page_link_to($page = "")
function page_link_to_absolute($page)
{
- return (isset($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . preg_replace("/\?.*$/", '', $_SERVER['REQUEST_URI']) . page_link_to($page);
+ return (isset($_SERVER['HTTPS']) ? 'https' : 'http') . '://'
+ . $_SERVER['HTTP_HOST']
+ . preg_replace("/\?.*$/", '', $_SERVER['REQUEST_URI'])
+ . page_link_to($page);
}
/**
@@ -20,22 +23,22 @@ function page_link_to_absolute($page)
function header_render_hints()
{
global $user;
-
+
$hints_renderer = new UserHintsRenderer();
-
+
if (isset($user)) {
$hints_renderer->addHint(admin_new_questions());
$hints_renderer->addHint(user_angeltypes_unconfirmed_hint());
$hints_renderer->addHint(render_user_departure_date_hint());
$hints_renderer->addHint(user_driver_license_required_hint());
-
- // Important hints:
- $hints_renderer->addHint(render_user_freeloader_hint(), true);
+
+ // Important hints:
+ $hints_renderer->addHint(render_user_freeloader_hint(), true);
$hints_renderer->addHint(render_user_arrived_hint(), true);
$hints_renderer->addHint(render_user_tshirt_hint(), true);
$hints_renderer->addHint(render_user_dect_hint(), true);
}
-
+
return $hints_renderer->render();
}
@@ -45,106 +48,120 @@ function header_render_hints()
function header_toolbar()
{
global $page, $privileges, $user;
-
+
$toolbar_items = [];
-
+
if (isset($user)) {
- $toolbar_items[] = toolbar_item_link(page_link_to('shifts') . '&action=next', 'time', User_shift_state_render($user));
+ $toolbar_items[] = toolbar_item_link(
+ page_link_to('shifts') . '&action=next',
+ 'time',
+ User_shift_state_render($user)
+ );
}
-
- if (! isset($user) && in_array('register', $privileges)) {
+
+ if (!isset($user) && in_array('register', $privileges)) {
$toolbar_items[] = toolbar_item_link(page_link_to('register'), 'plus', register_title(), $page == 'register');
}
-
+
if (in_array('login', $privileges)) {
$toolbar_items[] = toolbar_item_link(page_link_to('login'), 'log-in', login_title(), $page == 'login');
}
-
+
if (isset($user) && in_array('user_messages', $privileges)) {
$toolbar_items[] = toolbar_item_link(page_link_to('user_messages'), 'envelope', user_unread_messages());
}
-
+
$toolbar_items[] = header_render_hints();
if (in_array('user_myshifts', $privileges)) {
- $toolbar_items[] = toolbar_item_link(page_link_to('users') . '&action=view', ' icon-icon_angel', $user['Nick'], $page == 'users');
+ $toolbar_items[] = toolbar_item_link(
+ page_link_to('users') . '&action=view',
+ ' icon-icon_angel',
+ $user['Nick'],
+ $page == 'users'
+ );
}
-
+
$user_submenu = make_user_submenu();
if (count($user_submenu) > 0) {
$toolbar_items[] = toolbar_dropdown('', '', $user_submenu);
}
-
+
return toolbar($toolbar_items, true);
}
function make_user_submenu()
{
global $privileges, $page;
-
+
$user_submenu = make_langselect();
-
+
if (in_array('user_settings', $privileges) || in_array('logout', $privileges)) {
$user_submenu[] = toolbar_item_divider();
}
-
+
if (in_array('user_settings', $privileges)) {
- $user_submenu[] = toolbar_item_link(page_link_to('user_settings'), 'list-alt', settings_title(), $page == 'user_settings');
+ $user_submenu[] = toolbar_item_link(
+ page_link_to('user_settings'),
+ 'list-alt',
+ settings_title(),
+ $page == 'user_settings'
+ );
}
-
+
if (in_array('logout', $privileges)) {
$user_submenu[] = toolbar_item_link(page_link_to('logout'), 'log-out', logout_title(), $page == 'logout');
}
-
+
return $user_submenu;
}
function make_navigation()
{
global $page, $privileges;
-
+
$menu = [];
$pages = [
- "news" => news_title(),
- "user_meetings" => meetings_title(),
- "user_shifts" => shifts_title(),
- "angeltypes" => angeltypes_title(),
- "user_questions" => questions_title()
- ];
-
+ "news" => news_title(),
+ "user_meetings" => meetings_title(),
+ "user_shifts" => shifts_title(),
+ "angeltypes" => angeltypes_title(),
+ "user_questions" => questions_title()
+ ];
+
foreach ($pages as $menu_page => $title) {
if (in_array($menu_page, $privileges)) {
$menu[] = toolbar_item_link(page_link_to($menu_page), '', $title, $menu_page == $page);
}
}
-
+
$menu = make_room_navigation($menu);
-
+
$admin_menu = [];
$admin_pages = [
- "admin_arrive" => admin_arrive_title(),
- "admin_active" => admin_active_title(),
- "admin_user" => admin_user_title(),
- "admin_free" => admin_free_title(),
- "admin_questions" => admin_questions_title(),
- "shifttypes" => shifttypes_title(),
- "admin_shifts" => admin_shifts_title(),
- "admin_rooms" => admin_rooms_title(),
- "admin_groups" => admin_groups_title(),
- "admin_import" => admin_import_title(),
- "admin_log" => admin_log_title(),
- "admin_event_config" => event_config_title()
- ];
-
+ "admin_arrive" => admin_arrive_title(),
+ "admin_active" => admin_active_title(),
+ "admin_user" => admin_user_title(),
+ "admin_free" => admin_free_title(),
+ "admin_questions" => admin_questions_title(),
+ "shifttypes" => shifttypes_title(),
+ "admin_shifts" => admin_shifts_title(),
+ "admin_rooms" => admin_rooms_title(),
+ "admin_groups" => admin_groups_title(),
+ "admin_import" => admin_import_title(),
+ "admin_log" => admin_log_title(),
+ "admin_event_config" => event_config_title()
+ ];
+
foreach ($admin_pages as $menu_page => $title) {
if (in_array($menu_page, $privileges)) {
$admin_menu[] = toolbar_item_link(page_link_to($menu_page), '', $title, $menu_page == $page);
}
}
-
+
if (count($admin_menu) > 0) {
$menu[] = toolbar_dropdown('', _("Admin"), $admin_menu);
}
-
+
return toolbar($menu);
}
@@ -157,11 +174,11 @@ function make_navigation()
function make_room_navigation($menu)
{
global $privileges;
-
- if (! in_array('view_rooms', $privileges)) {
+
+ if (!in_array('view_rooms', $privileges)) {
return $menu;
}
-
+
$rooms = Rooms();
$room_menu = [];
if (in_array('admin_rooms', $privileges)) {