Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1938 → Rev 1939

/trunk/jrest/services/Inventory.php
106,6 → 106,9
foreach($champs_etendus as &$champ_etendu) {
$objet_champ_etendu = new ChampEtendu();
$objet_champ_etendu->id = $id_obs;
if($this->doitGenererCleChampEtendu($champ_etendu)) {
$champ_etendu['cle'] = $gestion_champs_etendus->transformerLabelEnCle($champ_etendu['label']);
}
$objet_champ_etendu->cle = $champ_etendu['cle'];
$objet_champ_etendu->label = $champ_etendu['label'];
$objet_champ_etendu->valeur = $champ_etendu['valeur'];
140,6 → 143,9
foreach($champs_etendus as &$champ_etendu) {
$objet_champ_etendu = new ChampEtendu();
$objet_champ_etendu->id = $id_nouvelle_obs;
if($this->doitGenererCleChampEtendu($champ_etendu)) {
$champ_etendu['cle'] = $gestion_champs_etendus->transformerLabelEnCle($champ_etendu['label']);
}
$objet_champ_etendu->cle = $champ_etendu['cle'];
$objet_champ_etendu->label = $champ_etendu['label'];
$objet_champ_etendu->valeur = $champ_etendu['valeur'];
183,6 → 189,13
exit() ;
}
function doitGenererCleChampEtendu($champ_etendu) {
return !isset($champ_etendu['cle']) ||
trim($champ_etendu['cle'] == "" ||
strpos($champ_etendu['cle'],'tempid_') !== false);
}
}
/* +--Fin du code ---------------------------------------------------------------------------------------+
* $Log$
/trunk/jrest/services/NomsChampsEtendus.php
New file
0,0 → 1,83
<?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 étendus
class 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)." ";
$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) {
$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) != "");
}
}
?>