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; |
} |
} |
} |