diff --git a/Source/Config/Clean.php b/Source/Config/Clean.php index c644bf6..99ad43d 100644 --- a/Source/Config/Clean.php +++ b/Source/Config/Clean.php @@ -1,7 +1,6 @@ array("Candidate"), + "Admin" => array("Candidate", "Admin")); + if (!isset($_SESSION["role"])) + $currentRole = "Candidate"; + else $currentRole = Clean::simpleString($_SESSION["role"]); try { - $action = $_REQUEST['action'] ? $action = $_REQUEST['action'] : (new ControllerCandidate())->goToForm(); - foreach ($listControllers as $controller) { - if (method_exists($controller, $action)) { - (new $controller)->$action(); // Si oui, on appelle cette fonction + $action = isset($_REQUEST['action']) ? Clean::simpleString($_REQUEST['action']) : (new ControllerCandidate())->goToForm(); + foreach ($mapRoleAccess[$currentRole] as $role) { + if (method_exists($controllerPath . $role, $action)) { + (new $controllerPath . $role)->$action(); // Si oui, on appelle cette fonction } } } catch (PDOException|Exception $e) { $dVueError[] = "Erreur innatendue !"; // Ecriture du message d'erreur echo "ERREUUUUUR"; } - exit(0); } -} +} \ No newline at end of file