/** * Verifier si l'utilisateur est connecté * @param array liste des rôles */ public static function ifConnect($rolesAuth = array(), $url = null) { /* Vérifier si l'utilisateur est connecté */ if (!isset($_SESSION['utilisateur']['id']) || empty($_SESSION['utilisateur']['id'])) { /* Afficher une erreur 403 navigateur */ if (is_null($url)) { header('HTTP/1.0 403 Forbidden'); } else { /* Rediréction + message d'erreur */ header('location:' . $url); Tool::setFlash('Vous devez être connecté pour utiliser cette page', 'erreur'); } /* Fin du script */ die; } else { /* si l'utilisateur est connecté, verifier le rôle */ if (!empty($roles)) { if (!in_array($_SESSION['role']['id'], $rolesAuth)) { /* Afficher une erreur 403 navigateur */ header('HTTP/1.0 403 Forbidden'); die; } } } }
/** * Verification de l'accès d'un utilisateur à l'administration d'une application * @param object PDO */ public static function ifAdministrateurAccesApplication($bdd) { $utilisateur = $_SESSION['utilisateur']['id']; if (!in_array($utilisateur, explode(',', Application::getApplication($bdd)->applicationAdministrateur))) { Tool::setFlash('Vous n\'avez pas accès à l\'administration cette application', 'erreur'); header('location:' . BASEFRONT . 'dashboard/dashboard.php'); die; } }
/** * Verification de l'utilisateur * @param int l'identifiant de l'utilisateur * @param object PDO */ public static function ifUtilisateurAdmin($utilisateur, $bdd) { $sql = $bdd->prepare("SELECT COUNT(utilisateurId) AS count FROM utilisateur\n\t\t\t\t\t\t\t\t WHERE utilisateurId = :utilisateurId "); $sql->execute(array('utilisateurId' => $utilisateur)); if ($sql->rowCount() == 0) { Tool::setFlash('Erreur identifiant', 'erreur'); header('location:' . BASEADMIN . 'utilisateur/manageurUtilisateur.php'); die; } }
/** * Verification de l'existance d'un élément en BDD * @param int l'identifiant de lélément * @param string le nom de la table * @param string l'url de */ public static function ifIsset($id, $name, $url) { $nameId = $name . 'Id'; $sql = Database::getInstance()->bdd->prepare("SELECT {$nameId} FROM {$name}\n\t\t\t\t\t\t\t\t WHERE {$nameId} = :{$nameId} "); $sql->execute(array($nameId => $id)); if ($sql->rowCount() == 0) { Tool::setFlash('Erreur identifiant', 'erreur'); header('location:' . $url); die; } }
/** * Verification de l'existance d'un élément en BDD * @param int l'identifiant de lélément * @param string le nom de la table * @param string l'url de * @param object PDO */ public static function ifIsset($id, $name, $url, $bdd) { $nameId = $name . 'Id'; if (strpos($name, '_')) { $table = explode('_', $name); $nameId = end($table) . 'Id'; } $sql = $bdd->prepare("SELECT {$nameId} FROM {$name}\n\t\t\t\t\t\t\t\t WHERE {$nameId} = :{$nameId} "); $sql->execute(array($nameId => $id)); if ($sql->rowCount() == 0) { Tool::setFlash('Erreur identifiant', 'erreur'); header('location:' . $url); die; } }