Rev 2037 | Rev 2458 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //// in utf8// out utf8// Fournit un référentiel relatif à l'utilisateur sur les noms ou les valeurs des champs étendusclass NomsChampsEtendus extends Cel {/*** Suivant le type de référentiel donné en paramètre, renvoie les liste de ses éléments** uid[0] : "cle" ou "valeur"* $_GET["start"] et $GET_["limit"] : selection intervalle* $_GET["cle"] : restreint la recherche sur les valeurs d'une certaine clé* $_GET["recherche"] : cherche les noms qui commmencent selon la valeur*/function getElement($uid){if (!$this->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)." ";$resultat = Cel::db()->requeter($requete);$referentiel = array();foreach($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()->requeter($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) != '');}}