uses('tpl'); //** Top Naviation if(isset($_GET['nav']) && $_GET['nav'] == 'top') { $app->tpl->newTemplate('topnav.tpl.htm'); //* 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); } */ $module = null; if(is_array($modules)) { foreach($modules as $mt) { if(is_file($mt.'/lib/module.conf.php')) { if(!preg_match("/^[a-z]{2,20}$/i", $mt)) die('module name contains unallowed chars.'); if($mt == 'dns'){ $dns_servers = $app->db->queryOneRecord("SELECT COUNT(*) as cnt FROM server WHERE dns_server = 1 AND active = 1"); if($dns_servers['cnt'] == 0) continue; } if($mt == 'mail'){ $mail_servers = $app->db->queryOneRecord("SELECT COUNT(*) as cnt FROM server WHERE mail_server = 1 AND active = 1"); if($mail_servers['cnt'] == 0) continue; } if($mt == 'sites'){ $web_servers = $app->db->queryOneRecord("SELECT COUNT(*) as cnt FROM server WHERE web_server = 1 AND active = 1"); if($web_servers['cnt'] == 0) continue; } unset($module); include_once $mt.'/lib/module.conf.php'; if(!isset($module)) continue; // allow module files to be skipped if they define no module data $language = $app->functions->check_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[$module['order'].'-'.$module['name']] = array( 'title' => $app->lng($module['title']), 'active' => $active, 'module' => $module['name']); } } ksort($topnav); } } 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); */ header('Location: /login/'); die(); } //* Topnavigation $app->tpl->setLoop('nav_top', $topnav); } //** 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 { $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_defaults(); $app->tpl->pparse(); ?>