paramObligatoiresSontPresents($uid)) { return; } $_GET['recherche'] = str_replace('*', '%', $_GET['recherche']); $referentiel = array(); if($uid[0] == "cle") { $referentiel = $this->rechercherCles($_GET['recherche']); } else if($uid[0] == "valeur") { $referentiel = $this->rechercherValeurs($_GET['cle'], $_GET['recherche']); } $this->envoyerJson($referentiel); return true; } function rechercherCles($recherche_cle) { $requete = "SELECT DISTINCT cle, label FROM cel_obs_etendues WHERE ". "cle LIKE ".Cel::db()->proteger($recherche_cle)." OR ". "label LIKE ".Cel::db()->proteger($recherche_cle)." "; $referentiel_resultat = Cel::db()->executerRequete($requete); $referentiel = array(); foreach($referentiel_resultat as $valeur) { $referentiel[$valeur['cle']] = $valeur['label']; } return $referentiel; } function rechercherValeurs($cle, $recherche_valeur) { $requete = "SELECT DISTINCT valeur FROM cel_obs_etendues WHERE ". "cle = ".Cel::db()->proteger($cle)." AND ". "valeur LIKE ".Cel::db()->proteger($recherche_valeur.'%')." "; $referentiel_resultat = Cel::db()->executerRequete($requete); $referentiel = array(); foreach($referentiel_resultat as $valeur) { if(trim($valeur['valeur']) != "") { $referentiel[] = $valeur['valeur']; } } return $referentiel; } function paramObligatoiresSontPresents($uid) { return (isset($uid[0]) && ($uid[0] == "cle" || $uid[0] == "valeur")); } function filtreRechercheEstDemande() { return (isset($_GET["recherche"]) && trim($_GET["recherche"]) != ""); } function limiteEstDemandee() { return isset($_GET["start"]) && is_numeric($_GET["start"]) && isset($_GET["limit"]) && is_numeric($_GET["limit"]); } function estUneValeurValide($chaine) { return ($chaine != null && $chaine != "000null" && trim($chaine) != ""); } } ?>