Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 60 | Rev 291 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
60 jpm 1
<?php
2
// declare(encoding='UTF-8');
3
/**
4
 * Classe gérant les noms scientifiques.
5
 *
6
 * @category	PHP 5.2
7
 * @package		eflore-consultation
8
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
9
 * @author		Delphine CAUQUIL <delphine@tela-botanica.org>
10
 * @copyright	2011 Tela-Botanica
11
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3
12
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2
13
 * @version		$Id$
14
 */
15
class Taxons extends Eflore {
16
 
17
	public function getStatsInitialesFamille() {
18
		$url = $this->getUrlStatsInitiales(self::RANG_FAMILLE);
19
		$donnees = $this->chargerDonnees($url);
63 jpm 20
		if (isset($donnees['Famille'])) {
21
			$initiales = $donnees['Famille'];
22
		} elseif (isset($donnees[self::RANG_FAMILLE])) {
23
			$initiales = $donnees[self::RANG_FAMILLE];
24
		}
25
 
60 jpm 26
		return $initiales;
27
	}
28
 
29
 
30
	public function getStatsInitialesGenre() {
31
		$url = $this->getUrlStatsInitiales(self::RANG_GENRE);
32
		$donnees = $this->chargerDonnees($url);
33
		$initiales = $donnees['Genre'];
63 jpm 34
		if (isset($donnees['Genre'])) {
35
			$initiales = $donnees['Genre'];
36
		} elseif (isset($donnees[self::RANG_GENRE])) {
37
			$initiales = $donnees[self::RANG_GENRE];
38
		}
60 jpm 39
		return $initiales;
40
	}
41
 
42
	private function getUrlStatsInitiales($rang) {
43
		$tpl = Config::get('taxonsStatsInitialesRangTpl');
44
		$params = array('rang' => $rang);
45
		$url = $this->formaterUrl($tpl, $params);
46
		return $url;
47
	}
48
 
49
	public function getListeFamilleParInitiale($lettre) {
50
		$url = $this->getUrlInitiales(self::RANG_FAMILLE, $lettre);
51
		$donnees = $this->chargerDonneesRecursivement($url);
63 jpm 52
		$taxons = ($donnees === false) ?  $donnees : $donnees['resultat'];
60 jpm 53
		return $taxons;
54
	}
55
 
56
	public function getListeGenreParInitiale($lettre) {
57
		$url = $this->getUrlInitiales(self::RANG_GENRE, $lettre);
58
		$donnees = $this->chargerDonneesRecursivement($url);
63 jpm 59
		$taxons = ($donnees === false) ?  $donnees : $donnees['resultat'];
60 jpm 60
		return $taxons;
61
	}
62
 
63
	private function getUrlInitiales($rang, $lettre) {
64
		$tpl = Config::get('taxonsListeInitialesRangTpl');
65
		$params = array('rang' => $rang, 'initiale' => $lettre);
66
		$url = $this->formaterUrl($tpl, $params);
67
		return $url;
68
	}
69
 
70
	public function getRechercheEtendue($nom) {
71
		$url = $this->getUrlRecherche($nom, 'etendue');
72
		return $this->chargerDonnees($url);
73
	}
74
 
75
	public function getRechercheFloue($nom) {
76
		$url = $this->getUrlRecherche($nom, 'floue');
77
		return $this->chargerDonnees($url);
78
	}
79
 
80
	private function getUrlRecherche($nom, $typeRech) {
81
		$tpl = Config::get('taxonsRechercheTpl');
82
		$params = array('valeur' => $nom, 'type' => $typeRech);
83
		$url = $this->formaterUrl($tpl, $params);
84
		return $url;
85
	}
86
}
87
?>