64,73 → 64,26 |
protected $total_resultat; |
|
// +-------------------------------------------------------------------------------------------------------------------+ |
public function consulter($ressources, $parametres) { |
$this->traiterParametres($parametres); |
$this->traiterVersionProjet($ressources); |
$this->traiterRessources($ressources); |
$resultat_formate = ''; |
public function traiterParametres() { |
if (isset($this->parametres) && !empty($this->parametres)) { |
$this->table_param = $this->parametres; |
|
if ($this->corps_http == '' && $this->entete_http == '') { |
foreach ($this->table_version as $version) { |
$this->table = $version; //on stocke le nom de la table correspondant à la version du projet en cours |
$requete = $this->assemblerLaRequete(); //print_r($requete); |
$resultat = $this->getBdd()->recupererTous($requete); |
$res_version = $this->testerResultat($resultat, $requete); |
} |
if ($this->corps_http == '' && $this->entete_http == '') { |
if (isset($res_version)) { |
$resultat_formate = json_encode($res_version); |
} |
} |
} |
$this->formerReponseHTTP($resultat_formate); |
} |
|
public function testerResultat($resultat, $requete) { |
if ($resultat == '') { //cas ou la requete comporte des erreurs |
$s = 'La requête SQL formée comporte une erreur !!'; |
Debug::printr($requete); |
$this->renvoyerErreur(RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE, $s); |
} elseif ($resultat) { |
if (count($this->table_version) > 1) { |
$res_version[$version] = $this->retournerResultatFormate($resultat); |
} else { |
$res_version = $this->retournerResultatFormate($resultat); |
} |
} else { |
if ($this->format_reponse == 'zone-geo/id/relations') { |
//si aucune relation n'existe, la valeur null est retournée |
$res_version = null; |
} else { |
$d = 'Données recherchées introuvables dans la base'; |
$this->renvoyerErreur(RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE, $d); |
Debug::printr($requete); |
} |
} |
return $res_version; |
} |
|
// +-------------------------------------------------------------------------------------------------------------------+ |
public function traiterParametres($parametres) { |
if (isset($parametres) && !empty($parametres)) { |
$this->table_param = $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. |
// masque.region : filtre uniquement sur la region. |
if (isset($parametres['recherche']) && $parametres['recherche'] != '') { |
$this->recherche = $parametres['recherche']; |
if (isset($this->parametres['recherche']) && $this->parametres['recherche'] != '') { |
$this->recherche = $this->parametres['recherche']; |
} |
|
foreach ($parametres as $param => $valeur) { |
switch ($param) { |
case 'masque' : $this->ajouterLeFiltreMasque('masque', $valeur); break; |
case 'masque_code' : $this->ajouterLeFiltreMasque('dep', $valeur); break; |
case 'masque_nom' : $this->ajouterLeFiltreMasque('nccenr', $valeur); break; |
case 'masque_region' : $this->ajouterLeFiltreMasque('region', $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 'masque.code' : $this->ajouterLeFiltreMasque('dep', $valeur); break; |
case 'masque.nom' : $this->ajouterLeFiltreMasque('nccenr', $valeur); break; |
case 'masque.region' : $this->ajouterLeFiltreMasque('region', $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.'; |
174,9 → 127,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 = /zone-geo/#id |
$this->traiterRessourceId(); |