Subversion Repositories eFlore/Applications.eflore-consultation

Rev

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

Rev 923 Rev 931
Line 36... Line 36...
36
	public function getTplNom() {
36
	public function getTplNom() {
37
		return self::TPL_VUE;
37
		return self::TPL_VUE;
38
	}
38
	}
Line 39... Line 39...
39
 
39
 
40
	public function formater() {
40
	public function formater() {
41
		$this->obtenirUrlsImagesCoste();
41
		$this->obtenirUrlsDessins();
42
		$this->obtenirUrlsPhotos();
42
		$this->obtenirUrlsPhotos();
43
		$this->chargerRepartition();
43
		$this->chargerRepartition();
-
 
44
		$this->extraireInfosNomsPourTplDetermination();
44
		$this->extraireInfosNomsPourTplDetermination();
45
		$this->infosPourTpl['urlWidget'] = Config::get('base_url_widget')."?referentiel=".Registre::get('parametres.referentiel');
Line 45... Line 46...
45
	}
46
	}
-
 
47
	
46
	
48
	
47
	
49
	private function obtenirUrlsDessins() {
48
	private function obtenirUrlsImagesCoste() {
50
		if (Config::get(Registre::get('parametres.referentiel').'.baseDessins') != "") {
49
		$this->extraireInfosTaxons();
51
			$this->extraireInfosTaxons();
50
		$this->imagesService->setProjet('coste');
52
			$this->imagesService->setProjet(Config::get(Registre::get('parametres.referentiel').'.baseDessins'));
51
		$tax = implode(',', $this->infosPourTpl['taxons']);
53
			$tax = implode(',', $this->infosPourTpl['taxons']);
52
		$this->imagesService->setNnTaxon($tax);
54
			$this->imagesService->setNnTaxon($tax);
53
		$costeImg = $this->imagesService->getInfosImagesTaxons();
55
			$costeImg = $this->imagesService->getInfosImagesTaxons();
54
		if (!empty($costeImg)) {
56
			if (!empty($costeImg)) {
55
			foreach ($costeImg as  $infos) {
57
				foreach ($costeImg as  $infos) {
-
 
58
					$num_taxon = $infos['num_taxonomique'];
56
				$num_taxon = $infos['num_taxonomique'];
59
					$images[$num_taxon][] = $infos['binaire.href'];
57
				$images[$num_taxon][] = $infos['binaire.href'];
60
					$this->infosPourTpl['dessins'] = $images;
58
				$this->infosPourTpl['imagesCoste'] = $images;
61
				}
59
			}
62
			}
60
		}
63
		}
Line 69... Line 72...
69
	
72
	
70
	private function obtenirUrlsPhotos() {
73
	private function obtenirUrlsPhotos() {
71
		$this->imagesService->setProjet('cel');
74
		$this->imagesService->setProjet('cel');
72
		$ids = $this->extraireIdDesNoms();
75
		$ids = $this->extraireIdDesNoms();
73
		$urls = $this->imagesService->getUrlsImagesParIdsNoms($ids);
76
		$urls = $this->imagesService->getUrlsImagesParIdsNoms($ids);
74
		$this->infosPourTpl['imagesUrls'] = $this->supprimerCodeReftaxDesIds($urls);
77
		$this->infosPourTpl['imagesUrls'] = $this->supprimerCodeReferentielDesIds($urls);
75
	}
78
	}
76
	private function extraireIdDesNoms() {
79
	private function extraireIdDesNoms() {
77
		$ids = array();
80
		$ids = array();
78
		foreach ($this->noms as $id => $nom) {
81
		foreach ($this->noms as $id => $nom) {
Line 89... Line 92...
89
				}
92
				}
90
			}
93
			}
91
		}
94
		}
92
		return $ids;
95
		return $ids;
93
	}
96
	}
94
	private function supprimerCodeReftaxDesIds($urls) {
97
	private function supprimerCodeReferentielDesIds($urls) {
95
		$urlsNettoyees = array();
98
		$urlsNettoyees = array();
96
		foreach ($urls as $id => $url) {
99
		foreach ($urls as $id => $url) {
97
			$id = $this->supprimerCodeReftax($id);
100
			$id = $this->supprimerCodeReferentiel($id);
98
			$urlsNettoyees[$id] = $url;
101
			$urlsNettoyees[$id] = $url;
99
		}
102
		}
100
		return $urlsNettoyees;
103
		return $urlsNettoyees;
101
	}
104
	}
102
	private function supprimerCodeReftax($chaine) {
105
	private function supprimerCodeReferentiel($chaine) {
103
		$codeReftax = $this->parametres->reftaxCourant.'.';
106
		$codeReferentiel = $this->parametres->referentielCourant.'.';
104
		$chaine = str_replace($codeReftax, '', $chaine);
107
		$chaine = str_replace($codeReferentiel, '', $chaine);
105
		return $chaine;
108
		return $chaine;
106
	}
109
	}
Line 107... Line 110...
107
	
110
	
108
	// TODO : utiliser le conteneur pour charger tous les objets de cette classe
111
	// TODO : utiliser le conteneur pour charger tous les objets de cette classe
-
 
112
	private function chargerRepartition() {
109
	private function chargerRepartition() {
113
		if (Config::get(Registre::get('parametres.referentiel').'.baseRepartition') != "") {
110
		$conteneur = new Conteneur();
114
			$conteneur = new Conteneur();
111
		$cartesWs = $conteneur->getApiCartes();
115
			$cartesWs = $conteneur->getApiCartes();
112
		$cartesWs->setProjet('chorodep');
116
			$cartesWs->setProjet(Config::get(Registre::get('parametres.referentiel').'.baseRepartition'));
113
		$cartesWs->setLargeur('108x101');
117
			$cartesWs->setLargeur('108x101');
114
		$urls = array();
118
			$urls = array();
115
		foreach ($this->noms as $id => $nom) {
119
			foreach ($this->noms as $id => $nom) {
116
			if (array_key_exists('nom_retenu.id', $nom)) {
120
				if (array_key_exists('nom_retenu.id', $nom)) {
117
				$id = $nom['nom_retenu.id'];
121
					$id = $nom['nom_retenu.id'];
118
				$cartesWs->setId("nn:$id");
122
					$cartesWs->setId("nn:$id");
119
				if (array_key_exists($id, $urls) == false) {
123
					if (array_key_exists($id, $urls) == false) {
-
 
124
						$urls[$id] = $cartesWs->getUrlPng();
120
					$urls[$id] = $cartesWs->getUrlPng();
125
					}
121
				}
126
				}
-
 
127
			}
122
			}
128
			$this->infosPourTpl['repartition']['urls'] = $urls;
123
		}
-
 
124
		$this->infosPourTpl['repartition']['urls'] = $urls;
129
		}
Line 125... Line 130...
125
	}
130
	}
126
 
131
 
127
	private function extraireInfosNomsPourTplDetermination() {
132
	private function extraireInfosNomsPourTplDetermination() {
Line 225... Line 230...
225
			$this->infosPourTpl['noms'][$id] = $nom;
230
			$this->infosPourTpl['noms'][$id] = $nom;
226
		}
231
		}
227
	}
232
	}
228
	private function classerAlphabetiquement($champs, $valeurs) {
233
	private function classerAlphabetiquement($champs, $valeurs) {
229
		$this->trieur->setTableau($valeurs);
234
		$this->trieur->setTableau($valeurs);
230
		$this->trieur->setChampsEtOrdres(array($champs => SORT_NATURAL));
235
		$this->trieur->setChampsEtOrdres(array($champs => 'nat'));
231
		return $this->trieur->trier();
236
		return $this->trieur->trier();
232
	}
237
	}