/** * Supprimer un Token * @param $id_token L'identifiant du Token à supprimer * @return object 2 attributs, bool success et array string msg * @static */ public static function dropToken($id_token) { $std = (object) array('success' => false, 'msg' => array()); $tokenDAO = new TokenDAO(BDD::getInstancePDO()); $token = $tokenDAO->getOne($id_token); if ($token->id_membre == $_SESSION['user']->id_membre || $_SESSION['user']->groupe == 'Administrateur') { if ($tokenDAO->desactiver($id_token)) { $std->msg[] = 'Token désactivé'; $std->success = true; return $std; } else { $std->msg[] = 'Erreur BDD'; } } else { $std->msg[] = 'Vous n\'avez pas le droit de supprimer ce token'; } return $std; }
/** * @return \stdClass Objet Contient les informations du profil d'un membre */ public function getProfil() { $tokenDAO = new TokenDAO(BDD::getInstancePDO()); $technoteDAO = new TechnoteDAO(BDD::getInstancePDO()); $commentaireDAO = new CommentaireDAO(BDD::getInstancePDO()); $questionDAO = new QuestionDAO(BDD::getInstancePDO()); $reponseDAO = new ReponseDAO(BDD::getInstancePDO()); $actionDAO = new ActionDAO(BDD::getInstancePDO()); $res = new stdClass(); $res->nbTokenActif = $tokenDAO->getNbActif($this->id_membre); $res->tokenActif = $tokenDAO->getActif($this->id_membre); $res->nbTechnoteRedige = $technoteDAO->getNbRedige($this->id_membre); $res->nbCommentaireRedige = $commentaireDAO->getNbRedige($this->id_membre); $res->nbQuestionRedige = $questionDAO->getNbRedige($this->id_membre); $res->nbReponseRedige = $reponseDAO->getNbRedige($this->id_membre); $res->actions = $actionDAO->getLast($this->id_membre); return $res; }
<?php // Charge le fichier de configuration require 'config.php'; // Charge l'autoloader de Composer require 'vendor/autoload.php'; // Charge l'autoloader de classe require 'Autoloader.php'; Autoloader::Autoload(); // Démarre une session session_start(); // Connecte le client s'il possède un cookie $tokenDAO = new TokenDAO(BDD::getInstancePDO()); if (!isset($_SESSION['user'])) { $tokenDAO->checkToken(); } // Si le client n'est pas connecté if ($_SESSION['user'] === false) { // Récupère l'id du groupe Visiteur $groupeDAO = new GroupeDAO(BDD::getInstancePDO()); $groupe = $groupeDAO->getOneByLibelle('Visiteur'); // Récupère les doits du groupe Visiteur $droitGroupeDAO = new DroitGroupeDAO(BDD::getInstancePDO()); $_SESSION['droits']['groupe'] = $droitGroupeDAO->getAllForOneGroupeTree($groupe->id_groupe); $_SESSION['droits']['membre'] = array(); } // Créé le jeton pour éviter la faille CSRF if (empty($_SESSION['jetonCSRF'])) { $_SESSION['jetonCSRF'] = hash('sha1', uniqid(rand(), true) . SALT_JETON_CSRF); } // Enregistre la visite si c'est la premiere de cette heure