Subversion Repositories eFlore/Applications.eflore-consultation

Rev

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

Rev Author Line No. Line
272 delphine 1
<?php
2
// declare(encoding='UTF-8');
3
/**
4
 * Classe mère du module Liste.
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 Statut extends aControleur {
985 delphine 16
	private $conteneur = null;
17
	private $nomCourant = null;
18
	private $wikini = null;
19
	private $statuts = null;
1130 aurelien 20
	private $meta;
985 delphine 21
	private $referentiel = null;
1130 aurelien 22
	private $appUrls;
985 delphine 23
 
422 delphine 24
	public function __construct(Conteneur $conteneur) {
25
		$this->conteneur = $conteneur;
26
		$this->nomCourant = $this->conteneur->getNomCourant();
27
		$this->wikini = $this->conteneur->getApiWikini();
768 aurelien 28
		$this->statuts = $this->conteneur->getApiStatuts();
1130 aurelien 29
		$this->meta = $this->conteneur->getApiMetaDonnees();
985 delphine 30
		$this->referentiel = $this->conteneur->getParametre('referentiel');
1130 aurelien 31
		$this->appUrls = $this->conteneur->getAppUrls();
422 delphine 32
	}
33
 
768 aurelien 34
	public function getBloc() {
35
		$donnees = array();
36
		$donnees['statuts'] = $this->getStatutsZoneGeo();
1139 aurelien 37
		if(empty($donnees['statuts'])) {
768 aurelien 38
			$donnees['wikini'] = $this->getWikini();
39
		}
1139 aurelien 40
		$donnees['liste_rouge'] = $this->getCategorieListeRouge();
768 aurelien 41
		return $donnees;
42
	}
43
 
422 delphine 44
	public function obtenirDonnees() {
417 aurelien 45
		$donnees = array();
46
		$donnees['wikini'] = $this->getWikini();
768 aurelien 47
		$donnees['statuts'] = $this->getStatuts();
1139 aurelien 48
		$donnees['liste_rouge'] = $this->getCategorieListeRouge();
272 delphine 49
		return $donnees;
50
	}
417 aurelien 51
 
768 aurelien 52
	private function getStatuts() {
985 delphine 53
		$statuts = "";
54
		$projet = Config::get($this->referentiel.'.baseStatuts');
55
		if ($projet != "") {
56
			$nnr = $this->nomCourant->getNnr();
57
			$statuts = $this->statuts->getStatuts($projet, $nnr);
1130 aurelien 58
			$this->meta->setProjet($projet);
59
			$meta = $this->meta->getMetaDonnees();
60
			$statuts['meta'] = $meta[0];
61
			$statuts['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees($projet);
985 delphine 62
		}
768 aurelien 63
		return $statuts;
64
	}
65
 
66
	private function getStatutsZoneGeo() {
985 delphine 67
		$statuts = "";
68
		$projet = Config::get($this->referentiel.'.baseStatuts');
69
		if ($projet != "") {
70
			$nnr = $this->nomCourant->getNnr();
1445 delphine 71
			$reponse = $this->statuts->getStatutsZoneGeo($projet, $nnr);
1477 mathias 72
			if (! empty($reponse)) {
73
				foreach ($reponse as $statut) {
74
					$statuts[$statut['type_protection']][] = $statut['zone_application'];
75
				}
1445 delphine 76
			}
1130 aurelien 77
			$this->meta->setProjet($projet);
78
			$meta = $this->meta->getMetaDonnees();
985 delphine 79
		}
768 aurelien 80
		return $statuts;
81
	}
82
 
1139 aurelien 83
	private function getCategorieListeRouge() {
84
		$liste_rouge = "";
85
		$projet = Config::get($this->referentiel.'.baseListeRouge');
86
		if ($projet != "") {
87
			$nnr = $this->nomCourant->getNnr();
88
			$liste_rouge = $this->statuts->getCategorieListeRouge($projet, $nnr);
89
			$this->meta->setProjet($projet);
90
			$meta = $this->meta->getMetaDonnees();
91
			$liste_rouge['meta'] = $meta[0];
92
			$liste_rouge['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees($projet);
93
		}
94
		return $liste_rouge;
95
	}
96
 
417 aurelien 97
	private function getWikini() {
98
		$wikini = array();
99
		$wikini['titre'] = 'Wikini';
100
		$referentiel = $this->conteneur->getParametre('referentiel');
101
		$num_tax = $this->nomCourant->getNomSelectionne()->get('num_taxonomique');
102
		$page_wiki = $this->wikini->getPageWikiPourRefEtNumTax($referentiel, $num_tax);
418 aurelien 103
		$wikini['statuts_de_protection'] = $this->wikini->getTexteFormate($page_wiki, 'statuts de protection');
417 aurelien 104
		return $wikini;
105
	}
272 delphine 106
}
107
?>