public function autocomplete($action, $id, $vars) { switch ($action) { case 'get': if (!empty($_GET['type']) && !empty($_GET['term'])) { $res = NULL; if ($_GET['type'] == 'motcle') { $motCleDAO = new MotCleDAO(BDD::getInstancePDO()); $res = $motCleDAO->getAllComposedOf($_GET['term']); } elseif ($_GET['type'] == 'membre') { $membreDAO = new MembreDAO(BDD::getInstancePDO()); $res = $membreDAO->getAllComposedOf($_GET['term']); } elseif ($_GET['type'] == 'titreTechnote') { $technoteDAO = new TechnoteDAO(BDD::getInstancePDO()); $res = $technoteDAO->getAllTitreComposedOf($_GET['term']); } elseif ($_GET['type'] == 'titreQuestion') { $questionDAO = new QuestionDAO(BDD::getInstancePDO()); $res = $questionDAO->getAllTitreComposedOf($_GET['term']); } echo json_encode($res); exit; } $this->vue->display('404.twig', $vars); exit; default: $this->vue->display('404.twig', $vars); exit; } }
public function mots_cles($action, $id, $vars) { switch ($action) { /**** GET ****/ case 'get': $vars['titrePage'] = 'Les mots clés'; // <h1> de la page $motCleDAO = new MotCleDAO(BDD::getInstancePDO()); $vars['motsCles'] = $motCleDAO->getAllForTable(); $this->vue->display('admin/motsCles_get_all.twig', $vars); exit; /**** EDIT ****/ /**** EDIT ****/ case 'edit': $vars['titrePage'] = 'Modification d\'un mot clé'; // <h1> de la page $motCleDAO = new MotCleDAO(BDD::getInstancePDO()); $vars['motCle'] = $motCleDAO->getOne($id); // Si un formulaire a été envoyé if (!empty($_POST)) { // Si le formulaire est valide au niveau faille CSRF if (!empty($_POST['jetonCSRF']) && $_POST['jetonCSRF'] == $_SESSION['jetonCSRF']) { // On essaye de faire les modifications $res = MotCle::edit($_POST, $id); if ($res->success) { $res->redirect = '/admin/mots_cles'; } echo json_encode($res); exit; } } $this->vue->display('admin/motCle_edit.twig', $vars); exit; /**** DROP ****/ /**** DROP ****/ case 'drop': if (!empty($_POST)) { // Si le formulaire est valide au niveau faille CSRF if (!empty($_POST['jetonCSRF']) && $_POST['jetonCSRF'] == $_SESSION['jetonCSRF']) { echo json_encode(MotCle::delete($id)); } } exit; default: $this->vue->display('404.twig', $vars); exit; } }
public static function add(&$param) { $std = (object) array('success' => false, 'msg' => array()); if (($res = MotCle::checkLabel($param['label'])) !== true) { $std->msg[] = $res; } if (!empty($std->msg)) { return $std; } // Si c'est un modérateur ou un admin actif, sinon non actif $actif = $_SESSION['user']->groupe == 'Administrateur' || $_SESSION['user']->groupe == 'Modérateur' ? 1 : 0; $motCle = new MotCle(array('id_mot_cle' => DAO::UNKNOWN_ID, 'label' => $param['label'], 'actif' => $actif)); $motCleDAO = new MotCleDAO(BDD::getInstancePDO()); $resSave = $motCleDAO->save($motCle); if ($resSave !== false) { $std->msg[] = 'Mot clé créer avec succès'; } else { $std->msg[] = 'Erreur BDD'; } $actionDAO = new ActionDAO(BDD::getInstancePDO()); $action = new Action(array('id_action' => DAO::UNKNOWN_ID, 'libelle' => "Création d\\'un mot clé (mot clé n°{$resSave->id_mot_cle} : {$resSave->label})", 'id_membre' => $_SESSION['user']->id_membre)); $actionDAO->save($action); $std->success = true; return $std; }