Rev 1707 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php// declare(encoding='UTF-8');/*** Web service fournissant une liste de noms de communes correspondants au terme recherché.** @category DEL* @package Services* @subpackage Communes* @version 0.1* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>* @copyright ©1999-2014, Tela Botanica (<accueil@tela-botanica.org>)*/class ListeCommunes {private $conteneur;private $navigation;private $masque;private $parametres = array();private $ressources = array();public function __construct(Conteneur $conteneur = null) {$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;$this->conteneur->chargerConfiguration('config_communes.ini');$this->navigation = $conteneur->getNavigation();$this->masque = $conteneur->getMasque();}/*** Méthode principale de la classe.* Lance la récupération des images dans la base et les place dans un objet ResultatService* pour l'afficher.* @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)* @param array $parametres les paramètres situés après le ? dans l'url* */public function consulter($ressources, $parametres) {$this->initialiserRessourcesEtParametres($ressources, $parametres);$communes = $this->chargerCommunes($this->masque->getMasque('nom'));$total = $this->compterCommunes($communes);$this->navigation->setTotal($total);$this->conteneur->setSansLimite();$resultat = new ResultatService();$resultat->corps = array('entete' => $this->conteneur->getEntete(), 'resultats' => $communes);return $resultat;}private function initialiserRessourcesEtParametres($ressources, $parametres) {$this->ressources = $ressources;$this->parametres = $parametres;}private function chargerCommunes($requete) {$urlCelTpl = $this->conteneur->getParametre('urlServiceCelCommune');$url = $urlCelTpl.$requete;$restClient = $this->conteneur->getRestClient();$resultatJson = $restClient->consulter($url);$resultat = json_decode($resultatJson);return $resultat;}private function compterCommunes($communes) {return count($communes);}}