Subversion Repositories eFlore/Applications.del

Rev

Rev 1700 | Rev 1794 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1700 Rev 1707
Line 1... Line 1...
1
<?php
1
<?php
2
// declare(encoding='UTF-8');
2
// declare(encoding='UTF-8');
3
/**
3
/**
4
	* Le web service image récupère toutes les données de la table del_obs_images
4
 * Web service fournissant une liste de noms de communes correspondants au terme recherché.
5
 * pour retourner une liste d'images associée à une observation
-
 
6
 *
5
 *
7
 * @category	php 5.2
6
 * @category	DEL
8
 * @package	del
7
 * @package		Services
9
 * @subpackage images
8
 * @subpackage	Communes
-
 
9
 * @version		0.1
10
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
10
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
11
 * @copyright	Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org)
11
 * @license		GPL v3 <http://www.gnu.org/licenses/gpl.txt>
12
 * @license	http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
12
 * @license		CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
13
 * @license	http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
13
 * @copyright	©1999-2014, Tela Botanica (<accueil@tela-botanica.org>)
14
 * @version	$Id: Bdd.php 403 2012-02-22 14:35:20Z gduche $
-
 
15
 * @see http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=ApiIdentiplante01Images
-
 
16
 */
14
 */
Line 17... Line 15...
17
 
15
 
Line 18... Line 16...
18
class ListeCommunes {
16
class ListeCommunes {
19
 
17
 
20
	private $conteneur;
18
	private $conteneur;
21
	private $navigation;
-
 
22
	private $masque;
-
 
23
	private $gestionBdd;
19
	private $navigation;
24
	private $bdd;
20
	private $masque;
25
	private $parametres = array();
-
 
Line 26... Line 21...
26
	private $ressources = array();
21
	private $parametres = array();
27
	private $requete = null;
22
	private $ressources = array();
28
 
23
 
29
	public function __construct(Conteneur $conteneur = null) {
24
	public function __construct(Conteneur $conteneur = null) {
30
		$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
25
		$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
31
		$this->conteneur->chargerConfiguration('config_communes.ini');
-
 
32
		$this->navigation = $conteneur->getNavigation();
-
 
33
		$this->masque = $conteneur->getMasque();
26
		$this->conteneur->chargerConfiguration('config_communes.ini');
Line 34... Line 27...
34
		$this->gestionBdd = $conteneur->getGestionBdd();
27
		$this->navigation = $conteneur->getNavigation();
35
		$this->bdd = $this->gestionBdd->getBdd();
28
		$this->masque = $conteneur->getMasque();
36
	}
29
	}
Line 43... Line 36...
43
	 * @param array $parametres les paramètres situés après le ? dans l'url
36
	 * @param array $parametres les paramètres situés après le ? dans l'url
44
	 * */
37
	 * */
45
	public function consulter($ressources, $parametres) {
38
	public function consulter($ressources, $parametres) {
46
		$this->initialiserRessourcesEtParametres($ressources, $parametres);
39
		$this->initialiserRessourcesEtParametres($ressources, $parametres);
Line 47... Line -...
47
 
-
 
48
		// Lancement du service
40
 
49
		$communes = $this->chargerCommunes($this->masque->getMasque('nom'));
41
		$communes = $this->chargerCommunes($this->masque->getMasque('nom'));
50
		$total = $this->compterCommunes($communes);
42
		$total = $this->compterCommunes($communes);
51
		$this->navigation->setTotal($total);
43
		$this->navigation->setTotal($total);
52
		$this->conteneur->setSansLimite();
-
 
Line -... Line 44...
-
 
44
		$this->conteneur->setSansLimite();
53
		$resultat = new ResultatService();
45
 
54
 
46
		$resultat = new ResultatService();
55
		$resultat->corps = array('entete' => $this->conteneur->getEntete(), 'resultats' => $communes);
47
		$resultat->corps = array('entete' => $this->conteneur->getEntete(), 'resultats' => $communes);
Line 56... Line 48...
56
		return $resultat;
48
		return $resultat;
57
	}
49
	}
58
 
50
 
59
	private function initialiserRessourcesEtParametres($ressources, $parametres) {
51
	private function initialiserRessourcesEtParametres($ressources, $parametres) {
Line 60... Line -...
60
		$this->ressources = $ressources;
-
 
61
		$this->parametres = $parametres;
-
 
62
	}
-
 
63
 
-
 
64
	/*-------------------------------------------------------------------------------
-
 
65
							   CHARGEMENT DES COMMENTAIRES
-
 
66
	--------------------------------------------------------------------------------*/
52
		$this->ressources = $ressources;
67
	/**
53
		$this->parametres = $parametres;
-
 
54
	}
-
 
55
 
-
 
56
	private function chargerCommunes($requete) {
-
 
57
		$urlCelTpl = $this->conteneur->getParametre('urlServiceCelCommune');
-
 
58
		$url = $urlCelTpl.$requete;
68
	* Chargement depuis le serveur de toutes les communes
59
		$restClient = $this->conteneur->getRestClient();
Line 69... Line -...
69
	* */
-
 
70
	private function chargerCommunes($requete) {
-
 
71
		return json_decode(file_get_contents("http://api.tela-botanica.org/service:cel:LocationSearch/".$requete));
-
 
72
	}
60
		$resultatJson = $restClient->consulter($url);
73
 
61
		$resultat = json_decode($resultatJson);
74
	/**
62
		return $resultat;
75
	* Compter le nombre total de communes pour affichage dans entete.
-
 
76
	* */
-
 
77
	private function compterCommunes($communes) {
63
	}
-
 
64
 
78
		return sizeof($communes);
65
	private function compterCommunes($communes) {