controleUtilisateur($uid[0]); if (!$this->paramObligatoiresSontPresents($uid)) { return; } if ($_GET['recherche'] == '*') { $_GET['recherche'] = '%'; } $referentiel_demande = $uid[1]; $idUtilisateur = Cel::db()->proteger($uid[0]); $requete = "SELECT DISTINCT $referentiel_demande " . 'FROM cel_obs '. "WHERE ce_utilisateur = '$idUtilisateur' "; if ($this->filtreRechercheEstDemande()) { $requete .= " AND $referentiel_demande LIKE '".$_GET["recherche"]."%'"; } if ($this->limiteEstDemandee()) { $requete .= " ORDER BY $referentiel_demande LIMIT ".$_GET['start'].','.$_GET['limit']; } $resultat = Cel::db()->requeter($requete); $referentiel = array(); foreach ($resultat as $cle => $valeur) { if ($this->estUneValeurValide($valeur[$referentiel_demande])) { $referentiel[] = $valeur[$referentiel_demande]; } } $this->envoyerJson($referentiel); return true; } private function paramObligatoiresSontPresents($uid) { return (isset($uid[1]) && in_array($uid[1], $this->referentiels) && (isset($uid[0]) && $uid[0] != '')); } private function filtreRechercheEstDemande() { return (isset($_GET['recherche']) && trim($_GET['recherche']) != ''); } private function limiteEstDemandee() { return isset($_GET['start']) && is_numeric($_GET['start']) && isset($_GET['limit']) && is_numeric($_GET['limit']); } private function estUneValeurValide($chaine) { return ($chaine != null && $chaine != '000null' && trim($chaine) != ''); } }