/** * @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; }
private static function checkAdd(&$param) { $std = (object) array('success' => false, 'msg' => array()); $questionDAO = new QuestionDAO(BDD::getInstancePDO()); if (($res = $questionDAO->getOne($param['id_question'])) !== false) { if (($res = self::checkReponse($param['reponse'])) !== true) { $std->msg[] = $res; } if (($res = self::checkReponseParent($param['id_reponse_parent'], $param['id_question'])) !== true) { $std->msg[] = $res; } } else { $std->msg[] = 'La question n\'existe pas'; } if (empty($std->msg)) { $std->success = true; } return $std; }
public static function recherche(&$param, $page) { $std = (object) array('success' => false, 'msg' => array()); $cond = array(); $strPagination = ''; // On construit l'URL pour la pagination, et on construit un tableau pour la requête SQL if (!empty($param['titre'])) { $cond['titre'] = $param['titre']; $strPagination .= '&titre=' . urlencode($param['titre']); } if (!empty($param['date_debut'])) { if (($res = Date::verifierDate($param['date_debut'])) !== true) { $std->msg[] = $res . ' (date de début)'; } else { $cond['date_debut'] = $param['date_debut']; $strPagination .= '&date_debut=' . $param['date_debut']; } } if (!empty($param['date_fin'])) { if (($res = Date::verifierDate($param['date_fin'])) !== true) { $std->msg[] = $res . ' (date de fin)'; } else { $cond['date_fin'] = $param['date_fin']; $strPagination .= '&date_fin=' . $param['date_fin']; } } if (!empty($param['resolu'])) { if ($param['resolu'] != 'oui' && $param['resolu'] != 'non') { $std->msg[] = 'Valeur invalide pour le champ résolu'; } else { $cond['resolu'] = $param['resolu']; $strPagination .= '&resolu=' . $param['resolu']; } } if (!empty($param['mots_cles'])) { // Construit un tableau de mots clés $tabMC = explode(',', $param['mots_cles']); $tabMCClean = array(); foreach ($tabMC as $key => $value) { // On enlève les espaces de début et de fin $valueClean = trim($value); if ($valueClean != '') { $tabMCClean[] = $valueClean; // Si le mot clé est obligatoire, on supprime le + de début if ($valueClean[0] == '+') { $valueClean = substr($valueClean, 1); } if (($res = MotCle::checkExisteByLabel($valueClean)) !== true) { $std->msg[] = $res; } } } $cond['mots_cles'] = $tabMCClean; } // S'il y a des erreurs, on s'arrête if (!empty($std->msg)) { return $std; } $questionDAO = new QuestionDAO(BDD::getInstancePDO()); // On récupère le nombre de questions qu'on a en résultat $count = $questionDAO->getQuestionsWithSearch(NB_QUESTIONS_PAGE, $cond, true); // On créé la pagination $std->pagination = new Pagination($page, $count, NB_QUESTIONS_PAGE, '/questions?recherche=' . $strPagination . '&page='); // On récupère les questions $std->questions = $questionDAO->getQuestionsWithSearch(NB_QUESTIONS_PAGE, $cond, false, $std->pagination->debut); if (empty($std->questions)) { $std->msg[] = 'Aucune question avec ces critères'; } else { $std->success = true; } return $std; }
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; } }