/** * Constructeur * * @param object $router Objet router. */ public function __construct($router) { // Contrôle de la connexion try { // Utilisateur connecté ? $auth = AuthManager::getInstance(); $this->authInfos = AuthHtml::afficherFormulaireConnexion('index.php?t=auth&a=connexion'); if ($auth->estConnecte()) { $this->authInfos = AuthHtml::afficherInformationsConnexion(); } $this->controllerClass = $router->getControllerClass(); $this->action = $router->getAction(); // La classe à instancier existe-t-elle ? if (!class_exists($this->controllerClass)) { throw new \Exception("La classe {$this->controllerClass} n'existe pas."); } // Y a-t-il une action demandée ? if ($this->action == 'defaut') { throw new \Exception("Aucune action demandée dans l'URL"); } // L'action demandée existe-t-elle ? if (!method_exists($this->controllerClass, $this->action)) { throw new \Exception("L'action {$this->action} n'existe pas."); } } catch (AuthException $e) { $html = $e->getMessage(); } }
public static function verifierStatut($tableau) { $statut = AuthManager::getInstance()->getStatut(); if (in_array($statut, $tableau)) { return true; } else { return false; } }
/** * Connecter l'utilisateur * * @return void */ public function connexion() { $login = $_POST['login']; $pass = $_POST['pass']; // On vérifie la connexion AuthManager::getInstance()->verifierAuthentification($login, $pass); // HTML $titre = "Connexion réussie"; $contenu = "<p>Vous êtes maintenant connecté !</p>"; $this->response->setPart('title', $titre); $this->response->setPart('content', $contenu); }
/** * Ajouter un article * * @return void */ public function ajouter() { $titre = "Ajouter un article"; if (AccessControl::verifierStatut(array('admin', 'rédacteur'))) { $article = Article::initialize(); $formulaire = new ArticleForm($article); // Encodage des caractères $encodeur = new EncodeurManager(); $encodeur->ajouter('Bv21411850\\Emdn2\\Utils\\Encodage\\EncodeurSpecialChars'); // L'utilisateur est-il connecté ? $auth = AuthManager::getInstance(); $contenu = $formulaire->construireFormulaire('article', 'index.php?t=article&a=enregistrer', $encodeur); } else { $contenu = "<p>Vous n'êtes pas autorisé à ajouter un article.</p>"; } $this->response->setPart('title', $titre); $this->response->setPart('content', $contenu); }