diff -Naur myclientbase010/application/core/Admin_Controller.php myclientbase-sb/application/core/Admin_Controller.php --- myclientbase010/application/core/Admin_Controller.php 2011-11-07 09:33:30.000000000 +0100 +++ myclientbase-sb/application/core/Admin_Controller.php 2011-12-03 17:55:28.162977786 +0100 @@ -25,6 +25,9 @@ self::$is_loaded = TRUE; $this->load->config('mcb_menu/mcb_menu'); + + //DAM + $this->load->config('mcb_menu/active_modules'); modules::run('mcb_menu/check_permission', $this->uri->uri_string(), $this->session->userdata('global_admin')); diff -Naur myclientbase010/application/modules_core/mcb_menu/config/active_modules.php myclientbase-sb/application/modules_core/mcb_menu/config/active_modules.php --- myclientbase010/application/modules_core/mcb_menu/config/active_modules.php 1970-01-01 01:00:00.000000000 +0100 +++ myclientbase-sb/application/modules_core/mcb_menu/config/active_modules.php 2011-12-10 15:55:15.967513734 +0100 @@ -0,0 +1,14 @@ +config->item('mcb_menu'); + $menu_items = $this->config->item('mcb_menu'); + + //DAM + $status_items = $this->config->item('mcb_module'); + + foreach ($menu_items as $key=>$menu_item) { + //DAM + if($status_items[$key]=="disabled") unset($menu_items[$key]); + + if (!$this->session->userdata('global_admin')) { - foreach ($menu_items as $key=>$menu_item) { + if (isset($menu_item['global_admin'])) { - if (!$this->session->userdata('global_admin')) { + unset($menu_items[$key]); - if (isset($menu_item['global_admin'])) { + } - unset($menu_items[$key]); + elseif (isset($menu_item['submenu'])) { - } + foreach ($menu_item['submenu'] as $sub_key=>$sub_item) { - elseif (isset($menu_item['submenu'])) { + if (isset($sub_item['global_admin'])) { - foreach ($menu_item['submenu'] as $sub_key=>$sub_item) { + unset($menu_items[$key]['submenu'][$sub_key]); - if (isset($sub_item['global_admin'])) { + } - unset($menu_items[$key]['submenu'][$sub_key]); + } - } + } - } + } - } + } - } + return $menu_items; - } - - return $menu_items; - - } + } function generate_control_center() { @@ -94,6 +99,15 @@ foreach ($this->config->item('mcb_menu') as $menu_item) { + //DAM's quickie :) + $status_items = $this->config->item('mcb_module'); + //if the requested page is part of a disabled module, than redirects to the dashboard + if(preg_match_all('/^'.$key.'/', $uri_string, $matches) && $status_items[$key]=="disabled") + { + redirect('clients');; + break; + } + if (strpos($menu_item['href'], $uri_string) === 0) { if (isset($menu_item['global_admin']) and !$global_admin) { @@ -143,4 +157,4 @@ } -?> \ No newline at end of file +?>