Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1359 Rev 1399
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
 * Le web service récupère une liste de noms suivant un référentiel et un masque donné
5
 * pour retourner une liste d'images associée à une observation
-
 
6
 *
5
 *
7
 * @category	php 5.2
6
 * @category	php 5.2
8
 * @package	del
7
 * @package	del
9
 * @subpackage images
8
 * @subpackage images
-
 
9
 * @author		Aurélien Peronnet <aurelien@tela-botanica.org>
10
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
10
 * @author		Grégoire Duché <gregoire@tela-botanica.org>
11
 * @copyright	Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org)
11
 * @copyright	Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org)
12
 * @license	http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
12
 * @license	http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
13
 * @license	http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
13
 * @license	http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
14
 * @version	$Id: Bdd.php 403 2012-02-22 14:35:20Z gduche $
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
15
 * @see http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=ApiIdentiplante01Images
Line 35... Line 35...
35
		$this->bdd = $this->gestionBdd->getBdd();	
35
		$this->bdd = $this->gestionBdd->getBdd();	
36
	}
36
	}
Line 37... Line 37...
37
	
37
	
38
	/**
38
	/**
39
	 * Méthode principale de la classe.
-
 
40
	 * Lance la récupération des images dans la base et les place dans un objet ResultatService 
-
 
41
	 * pour l'afficher.
39
	 * Méthode principale de la classe.
42
	 * @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
40
	 * @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
43
	 * @param array $parametres les paramètres situés après le ? dans l'url
41
	 * @param array $parametres les paramètres situés après le ? dans l'url
44
	 * */
42
	 * */
45
	public function consulter($ressources, $parametres) {
43
	public function consulter($ressources, $parametres) {
Line 46... Line 44...
46
		$this->initialiserRessourcesEtParametres($ressources, $parametres);
44
		$this->initialiserRessourcesEtParametres($ressources, $parametres);
47
		
45
		
48
		// Lancement du service
46
		// Lancement du service
49
		$communes = $this->chargerCommunes($this->masque->getMasque('nom'));
47
		$taxons = $this->chargerNoms($this->masque->getMasque('referentiel'), $this->masque->getMasque('nom'));
50
		$total = $this->compterCommunes($communes);
48
		$total = $this->compterNoms($taxons);
51
		$this->navigation->setTotal($total);
49
		$this->navigation->setTotal($total);
Line 52... Line 50...
52
		$this->conteneur->setSansLimite();
50
		$this->conteneur->setSansLimite();
53
		$resultat = new ResultatService();
51
		$resultat = new ResultatService();
54
		
52
		
Line 55... Line 53...
55
		$resultat->corps = array('entete' => $this->conteneur->getEntete(), 'resultats' => $communes);
53
		$resultat->corps = array('entete' => $this->conteneur->getEntete(), 'resultats' => $taxons);
56
		return $resultat;
54
		return $resultat;
Line 63... Line 61...
63
	
61
	
64
	/*-------------------------------------------------------------------------------
62
	/*-------------------------------------------------------------------------------
65
							   CHARGEMENT DES COMMENTAIRES 
63
							   CHARGEMENT DES COMMENTAIRES 
66
	--------------------------------------------------------------------------------*/
64
	--------------------------------------------------------------------------------*/
67
	/**
65
	/**
68
	* Chargement depuis le serveur de toutes les communes
66
	* Chargement depuis le serveur de tous les noms
69
	* */
67
	* */
70
	private function chargerCommunes($requete) {
68
	private function chargerNoms($referentiel, $requete) {
-
 
69
		$url = sprintf($this->conteneur->getParametre('url_service_completion_base'), $referentiel, urlencode($requete));
-
 
70
		$res = json_decode(@file_get_contents($url),true);
-
 
71
		$res = (array)$res;
-
 
72
		$res_fmt = array();
-
 
73
		if(isset($res['resultat'])) {
-
 
74
			foreach($res['resultat'] as $nn => $info_nom) {
-
 
75
				$res_fmt[] = array($info_nom['nom_sci_complet'], (string)$nn);
-
 
76
			}
-
 
77
		}
71
		return json_decode(file_get_contents("http://www.tela-botanica.org/eflore/cel/jrest/NameSearch/bdtfx/".$requete));
78
		return $res_fmt;
Line 72... Line 79...
72
	}
79
	}
73
	
80
	
74
	/**
81
	/**
75
	* Compter le nombre total de communes pour affichage dans entete.
82
	* Compter le nombre total de noms pour affichage dans entete.
76
	* */
83
	* */
77
	private function compterCommunes($communes) {
84
	private function compterNoms($taxons) {
78
		return sizeof($communes);
85
		return sizeof($taxons);
79
	}
86
	}
80
}
87
}