Modification du frontController pour la gestion des rôles, il faut encore créer la connexion pour pouvoir accéder à la page de gestion du formulaire
continuous-integration/drone/push Build is passing Details

LoginModification
johan 2 years ago
parent 2ba46b4171
commit 9cca9bbe68

@ -1,7 +1,6 @@
<?php <?php
namespace DataManagement; namespace Config\DataManagement;
class Clean class Clean
{ {
/** /**

@ -1,7 +1,6 @@
<?php <?php
namespace DataManagement; namespace Config\DataManagement;
class Validate class Validate
{ {
/** /**

@ -4,6 +4,7 @@ namespace Controller;
use Exception; use Exception;
use PDOException; use PDOException;
use Config\DataManagement;
/** /**
* Permet de gérer l'appel des controllers en fonction de l'action et du rôle de l'utilisateur * Permet de gérer l'appel des controllers en fonction de l'action et du rôle de l'utilisateur
@ -16,23 +17,26 @@ class FrontController
*/ */
public function __construct() public function __construct()
{ {
$listControllers = array("\\Controller\\ControllerCandidate", "\\Controller\\ControllerAdmin");
global $rep, $views; global $rep, $views;
$dVueError = array(); $dVueError = array();
$controllerPath = "\\Controller\\Controller";
$mapRoleAccess = array(
"Candidate" => array("Candidate"),
"Admin" => array("Candidate", "Admin"));
if (!isset($_SESSION["role"]))
$currentRole = "Candidate";
else $currentRole = Clean::simpleString($_SESSION["role"]);
try { try {
$action = $_REQUEST['action'] ? $action = $_REQUEST['action'] : (new ControllerCandidate())->goToForm(); $action = isset($_REQUEST['action']) ? Clean::simpleString($_REQUEST['action']) : (new ControllerCandidate())->goToForm();
foreach ($listControllers as $controller) { foreach ($mapRoleAccess[$currentRole] as $role) {
if (method_exists($controller, $action)) { if (method_exists($controllerPath . $role, $action)) {
(new $controller)->$action(); // Si oui, on appelle cette fonction (new $controllerPath . $role)->$action(); // Si oui, on appelle cette fonction
} }
} }
} catch (PDOException|Exception $e) { } catch (PDOException|Exception $e) {
$dVueError[] = "Erreur innatendue !"; // Ecriture du message d'erreur $dVueError[] = "Erreur innatendue !"; // Ecriture du message d'erreur
echo "ERREUUUUUR"; echo "ERREUUUUUR";
} }
exit(0); exit(0);
} }
} }
Loading…
Cancel
Save