diff --git a/core/class/ServiceControler.php b/core/class/ServiceControler.php index 78b35ef74272a1d695a3a01ef85f96bca4d981a8..d0589d36b10db6b8f19f6d932a1a9ba9aa3822c2 100755 --- a/core/class/ServiceControler.php +++ b/core/class/ServiceControler.php @@ -31,6 +31,8 @@ // To activate de debug mode of the class +use Group\controllers\ServiceController; + $_ENV['DEBUG'] = false; /* define("_CODE_SEPARATOR","/"); @@ -79,20 +81,19 @@ class ServiceControler public function loadEnabledServices() { $_SESSION['enabled_services'] = array(); - for($i=0; $i<count($_SESSION['app_services']);$i++) - { - if($_SESSION['app_services'][$i]['enabled'] == "true") - { - array_push($_SESSION['enabled_services'], array('id' => $_SESSION['app_services'][$i]['id'], 'label' => $_SESSION['app_services'][$i]['name'], 'comment' =>$_SESSION['app_services'][$i]['comment'], 'type' => $_SESSION['app_services'][$i]['servicetype'],'parent' => 'application', 'system' => $_SESSION['app_services'][$i]['system_service'])); + if (!empty($_SESSION['app_services'])) { + for ($i = 0; $i < count($_SESSION['app_services']); $i++) { + if ($_SESSION['app_services'][$i]['enabled'] == "true") { + array_push($_SESSION['enabled_services'], array('id' => $_SESSION['app_services'][$i]['id'], 'label' => $_SESSION['app_services'][$i]['name'], 'comment' => $_SESSION['app_services'][$i]['comment'], 'type' => $_SESSION['app_services'][$i]['servicetype'], 'parent' => 'application', 'system' => $_SESSION['app_services'][$i]['system_service'])); + } } } - foreach(array_keys($_SESSION['modules_services']) as $value) - { - for($i=0; $i < count($_SESSION['modules_services'][$value]); $i++) - { - if($_SESSION['modules_services'][$value][$i]['enabled'] == "true") - { - array_push($_SESSION['enabled_services'], array('id' => $_SESSION['modules_services'][$value][$i]['id'], 'label' => $_SESSION['modules_services'][$value][$i]['name'], 'comment' => $_SESSION['modules_services'][$value][$i]['comment'], 'type' => $_SESSION['modules_services'][$value][$i]['servicetype'],'parent' => $value, 'system' =>$_SESSION['modules_services'][$value][$i]['system_service'] )); + if (!empty($_SESSION["modules_services"])) { + foreach (array_keys($_SESSION['modules_services']) as $value) { + for ($i = 0; $i < count($_SESSION['modules_services'][$value]); $i++) { + if ($_SESSION['modules_services'][$value][$i]['enabled'] == "true") { + array_push($_SESSION['enabled_services'], array('id' => $_SESSION['modules_services'][$value][$i]['id'], 'label' => $_SESSION['modules_services'][$value][$i]['name'], 'comment' => $_SESSION['modules_services'][$value][$i]['comment'], 'type' => $_SESSION['modules_services'][$value][$i]['servicetype'], 'parent' => $value, 'system' => $_SESSION['modules_services'][$value][$i]['system_service'])); + } } } } @@ -112,9 +113,10 @@ class ServiceControler // associés aux groupes if($user_id == "superadmin") { - $services = self::getAllServices(); +// $services = self::getAllServices(); + return ['adv_search_mlb' => true, 'reports' => true]; } - else + /*else { $tmpServices = array(); for ($i = 0; $i < count($_SESSION['enabled_services']); $i ++) { @@ -141,7 +143,18 @@ class ServiceControler $services[$serviceId] = false; } } + }*/ + + $services = ['adv_search_mlb' => false, 'reports' => false]; + $userUse = \User\models\UserModel::getByLogin(['login' => $user_id, 'select' => ['id']]); + + if (ServiceController::hasPrivilege(['privilegeId' => 'adv_search_mlb', 'userId' => $userUse['id']])) { + $services['adv_search_mlb'] = true; } + if (ServiceController::hasPrivilege(['privilegeId' => 'reports', 'userId' => $userUse['id']])) { + $services['reports'] = true; + } + return $services; } diff --git a/core/class/class_core_tools.php b/core/class/class_core_tools.php index f090ac00100bf6d24fb52b416d9eb720339b88fa..936be27ba818aff56a5e07dc1ffdbd178878dbd3 100755 --- a/core/class/class_core_tools.php +++ b/core/class/class_core_tools.php @@ -330,6 +330,8 @@ class core_tools extends functions */ public function load_app_services() { +// $_SESSION['app_services'] = []; + /* // Reads the application config.xml file if (file_exists( $_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR @@ -447,7 +449,7 @@ class core_tools extends functions ++$m; } ++$k; - } + }*/ } /** @@ -457,6 +459,8 @@ class core_tools extends functions */ public function load_modules_services($modules) { +// $_SESSION['modules_services'] = []; + /* // Browses the enabled modules array for ($i = 0; $i < count($modules); ++$i) { // Reads the module config.xml file @@ -575,6 +579,7 @@ class core_tools extends functions } } } + */ } /** @@ -1576,13 +1581,15 @@ class core_tools extends functions } } else { $system = false; - for ($i = 0; $i < count($_SESSION['modules_services'][$module]); ++$i) { - if ($_SESSION['modules_services'][$module][$i]['id'] == $id_service) { - if ($_SESSION['modules_services'][$module][$i]['system_service'] == true) { - return true; + if (!empty($_SESSION['modules_services'])) { + for ($i = 0; $i < count($_SESSION['modules_services'][$module]); ++$i) { + if ($_SESSION['modules_services'][$module][$i]['id'] == $id_service) { + if ($_SESSION['modules_services'][$module][$i]['system_service'] == true) { + return true; + } + } else { + break; } - } else { - break; } } }