Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 6 → Rev 13

/trunk/services/modules/0.1/iso-639-1/Langues.php
65,9 → 65,9
protected $total_resultat;
 
// +-------------------------------------------------------------------------------------------------------------------+
public function traiterParametres($parametres) {
if (isset($parametres) && !empty($parametres)) {
$this->table_param = $parametres;
public function traiterParametres() {
if (isset($this->parametres) && !empty($this->parametres)) {
$this->table_param = $$this->parametres;
 
// masque : filtre la liste en fonction d'un masque de recherche portant sur le code, le nom ou la region.
// masque.code : filtre uniquement sur le code. masque.nom : filtre uniquement sur le nom.
78,17 → 78,32
 
foreach ($parametres as $param => $valeur) {
switch ($param) {
case 'masque' : $this->ajouterLeFiltreMasque('masque', $valeur); break;
case 'masque_code' : $this->ajouterLeFiltreMasque('id', $valeur); break;
case 'masque_nom' : $this->ajouterLeFiltreMasque('nom', $valeur); break;
case 'retour_langue' : $this->retour_langue = $valeur; break;
case 'retour_format' : $this->retour_format = $valeur; break;
case 'navigation_depart' : $this->limite_requete['depart'] = $valeur; break;
case 'navigation_limite' : $this->limite_requete['limite'] = $valeur; break;
case 'recherche' : break;
default : $p = 'Erreur dans les paramètres de recherche de votre requête : '.
'</br> Le paramètre " '.$param.' " n\'existe pas.';
$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE, $p); break;
case 'masque' :
$this->ajouterLeFiltreMasque('masque', $valeur);
break;
case 'masque.code' :
$this->ajouterLeFiltreMasque('id', $valeur);
break;
case 'masque.nom' :
$this->ajouterLeFiltreMasque('nom', $valeur);
break;
case 'retour.langue' :
$this->retour_langue = $valeur;break;
case 'retour.format' :
$this->retour_format = $valeur;
break;
case 'navigation.depart' :
$this->limite_requete['depart'] = $valeur;
break;
case 'navigation.limite' :
$this->limite_requete['limite'] = $valeur;
break;
case 'recherche' :
break;
default :
$p = 'Erreur dans les paramètres de recherche de votre requête : '.
'</br> Le paramètre " '.$param.' " n\'existe pas.';
$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE, $p);
}
}
}
126,9 → 141,9
}
 
// +-------------------------------------------------------------------------------------------------------------------+
public function traiterRessources(&$ressources) {
if (isset($ressources) && !empty($ressources)) {
$this->table_ressources = $ressources;
public function traiterRessources() {
if (isset($this->ressources) && !empty($this->ressources)) {
$this->table_ressources = $this->ressources;
if (isset($this->table_ressources[0]) && !empty($this->table_ressources[0])) {
//requete = /langues/#id
$this->traiterRessourceId();
168,9 → 183,9
// +-------------------------------------------------------------------------------------------------------------------+
public function assemblerLaRequete() {
$requete = ' SELECT '.$this->requete_champ.
' FROM '.$this->table
.$this->formerRequeteCondition()
.$this->formerRequeteLimite();
' FROM '.$this->table
.$this->formerRequeteCondition()
.$this->formerRequeteLimite();
return $requete;
}
 
199,9 → 214,9
 
public function recupererTotalResultat() {
//on récupère le nombre total de résultats de la requete (ex : le nombre d'id contenu dans la liste /langues)
$requete = 'SELECT count(*) as nombre FROM '
.$this->table
.$this->formerRequeteCondition();
$requete = 'SELECT count(*) as nombre FROM '.
$this->table.
$this->formerRequeteCondition();
$res = $this->getBdd()->recuperer($requete);
 
if ($res) {
219,10 → 234,15
public function retournerResultatFormate($resultat) {
$this->recupererTableConfig('correspondance_champs');
switch ($this->format_reponse) {
case 'langues' : $reponse = $this->formaterLangues($resultat); break;
case 'langues/id' : $reponse = $this->formaterLanguesId($resultat[0]); break;
case 'langues/id/champ' : $reponse = $this->formaterLanguesIdChamp($resultat[0]); break;
default : break;
case 'langues' :
$reponse = $this->formaterLangues($resultat);
break;
case 'langues/id' :
$reponse = $this->formaterLanguesId($resultat[0]);
break;
case 'langues/id/champ' :
$reponse = $this->formaterLanguesIdChamp($resultat[0]);
break;
}
return $reponse;
}
234,8 → 254,12
$this->table_retour['total'] = $this->total_resultat;
//formuler les urls precedentes et suivantes affichées dans l'entete du resultat
$url = $this->formulerUrl($this->total_resultat, '/langues');
if ($url['precedent'] != '') { $this->table_retour['href.precedent'] = $url['precedent']; }
if ($url['suivant'] != '') { $this->table_retour['href.suivant'] = $url['suivant']; }
if (isset($url['precedent']) && $url['precedent'] != '') {
$this->table_retour['href.precedent'] = $url['precedent'];
}
if (isset($url['suivant']) && $url['suivant'] != '') {
$this->table_retour['href.suivant'] = $url['suivant'];
}
 
$table_retour_json['entete'] = $this->table_retour;
$this->table_retour = array();
245,15 → 269,22
foreach ($resultat as $tab) {
foreach ($tab as $key => $valeur) {
if ($valeur != '') {
if ($key == $id) {
$num = $valeur; $this->table_retour['code'] = $valeur; break;
//TODO : vérifier d'où venez $id
if ($key == 'id') {// ATTENTION : au départ valait $id!
$num = $valeur;
$this->table_retour['code'] = $valeur;
break;
} elseif ($key == 'nom_'.$this->retour_langue || ($this->retour_langue == 'fr' && $key == 'nom')) {
$this->table_retour['nom'] = $valeur; break;
$this->table_retour['nom'] = $valeur;
break;
} else {
switch ($key) {
case 'id' : $num = $valeur; $this->table_retour['code'] = $valeur; break;
case 'nom' : $this->table_retour['nom'] = $valeur; break;
default : break;
case 'id' :
$num = $valeur; $this->table_retour['code'] = $valeur;
break;
case 'nom' :
$this->table_retour['nom'] = $valeur;
break;
}
}
}