From aa78fde6a92f66b84d626e114d8b54a5fb6ece0c Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Wed, 14 Nov 2012 07:19:43 -0500 Subject: [PATCH] - Added function for IPv6 prefixes in multiserver mirror setups to nginx plugin. --- interface/web/nav.php | 108 +++++++++++++++++++++++++++++++---------------------- 1 files changed, 63 insertions(+), 45 deletions(-) diff --git a/interface/web/nav.php b/interface/web/nav.php index 4ca9b4b..909392f 100644 --- a/interface/web/nav.php +++ b/interface/web/nav.php @@ -1,7 +1,7 @@ <?php /* -Copyright (c) 2005, Till Brehm, projektfarm Gmbh +Copyright (c) 2007, Till Brehm, projektfarm Gmbh All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -33,65 +33,83 @@ $app->uses('tpl'); -//die('HHH'); +//** Top Naviation +if(isset($_GET['nav']) && $_GET['nav'] == 'top') { -if($_GET["nav"] == 'top') { - - $app->tpl->newTemplate("topnav.tpl.htm"); + $app->tpl->newTemplate('topnav.tpl.htm'); - // Checke User Login and current module - if(!is_array($_SESSION["s"]['user']) or !is_array($_SESSION["s"]["module"])) { - // Loading Login Module - include_once('login/lib/module.conf.php'); - $_SESSION["s"]['module'] = $module; - $topnav[] = array( 'title' => "Login", - 'active' => 1); - $module = null; - unset($module); - } else { - // Loading modules of the user and building top navigation - $modules = explode(',',$_SESSION["s"]["user"]["modules"]); + //* Check User Login and current module + if(isset($_SESSION["s"]["user"]) && $_SESSION["s"]["user"]['active'] == 1 && is_array($_SESSION['s']['module'])) { + //* Loading modules of the user and building top navigation + $modules = explode(',', $_SESSION['s']['user']['modules']); + /* + * If the dashboard is in the list of modules it always has to be the first! + */ + asort($modules); + if (in_array('dashboard', $modules)) { + $key = array_search('dashboard', $modules); + unset($modules[$key]); + $modules = array_merge(array('dashboard'), $modules); + } if(is_array($modules)) { foreach($modules as $mt) { - if(is_file($mt."/lib/module.conf.php")) { - include_once($mt."/lib/module.conf.php"); - $active = ($module["name"] == $_SESSION["s"]["module"]["name"])?1:0; - $topnav[] = array( 'title' => $app->lng($module["title"]), - 'active' => $active, - 'module' => $module["name"]); + if(is_file($mt.'/lib/module.conf.php')) { + if(!preg_match("/^[a-z]{2,20}$/i", $mt)) die('module name contains unallowed chars.'); + include_once($mt.'/lib/module.conf.php'); + $language = (isset($_SESSION['s']['user']['language']))?$_SESSION['s']['user']['language']:$conf['language']; + $app->load_language_file('web/'.$mt.'/lib/'.$language.'.lng'); + $active = ($module['name'] == $_SESSION['s']['module']['name']) ? 1 : 0; + $topnav[] = array( 'title' => $app->lng($module['title']), + 'active' => $active, + 'module' => $module['name']); } } } + } else { + //* Loading Login Module + include_once('login/lib/module.conf.php'); + $_SESSION['s']['module'] = $module; + $topnav[] = array( 'title' => 'Login', + 'active' => 1); + $module = null; + unset($module); } - // Topnavigation + //* Topnavigation $app->tpl->setLoop('nav_top',$topnav); - + } -if($_GET["nav"] == 'side') { - - $app->tpl->newTemplate("sidenav.tpl.htm"); - - // translating module navigation - $nav_translated = array(); - if(is_array($_SESSION["s"]["module"]["nav"])) { - foreach($_SESSION["s"]["module"]["nav"] as $nav) { - $tmp_items = array(); - foreach($nav["items"] as $item) { - $item["title"] = $app->lng($item["title"]); - $tmp_items[] = $item; - } - $nav["title"] = $app->lng($nav["title"]); - $nav["items"] = $tmp_items; - $nav_translated[] = $nav; - } +//** Side Naviation +if(isset($_GET['nav']) && $_GET['nav'] == 'side') { + + if(isset($_SESSION['s']['module']['name']) && is_file($_SESSION['s']['module']['name'].'/lib/custom_menu.inc.php')) { + include_once($_SESSION['s']['module']['name'].'/lib/custom_menu.inc.php'); } else { - $nav_translated = null; + + $app->tpl->newTemplate('sidenav.tpl.htm'); + + //* translating module navigation + $nav_translated = array(); + if(isset($_SESSION['s']['module']['nav']) && is_array($_SESSION['s']['module']['nav'])) { + foreach($_SESSION['s']['module']['nav'] as $nav) { + $tmp_items = array(); + foreach($nav['items'] as $item) { + $item['title'] = $app->lng($item['title']); + $tmp_items[] = $item; + } + $nav['title'] = $app->lng($nav['title']); + $nav['startpage'] = $nav['items'][0]['link']; + $nav['items'] = $tmp_items; + $nav_translated[] = $nav; + } + } else { + $nav_translated = null; + } + $app->tpl->setLoop('nav_left',$nav_translated); + } - $app->tpl->setLoop('nav_left',$nav_translated); - } $app->tpl_defaults(); -- Gitblit v1.9.1