Subversion Repositories eFlore/Applications.eflore-consultation

Rev

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

Rev 1127 Rev 1136
Line 41... Line 41...
41
			}
41
			}
42
		}
42
		}
43
		return $urls;
43
		return $urls;
44
	}
44
	}
Line -... Line 45...
-
 
45
 
-
 
46
	// retourne les urls d'une série d'images tirées de del, avec en premier les
-
 
47
	// images d'organes les mieux votées, et ensuite toute les autres images disponibles
-
 
48
	public function getUrlsImagesOrganesParIdsNom($idNom) {
-
 
49
		$infosImages0 = $this->getInfosMeilleuresImagesParTag($idNom, array('fleur', 'feuille', 'fruit', 'ecorce', 'port', 'rameau'), Eflore::PROTOCOLE_CAPITALISATION, 6);
-
 
50
		$infosImages1 = $this->getInfosImagesParIdsNoms(array($idNom));
-
 
51
		//echo "ORGANES <pre>" . print_r($infosImages0, true) . "</pre>";
-
 
52
		//echo "TOUT <pre>" . print_r($infosImages1, true) . "</pre>";
-
 
53
		$urls = array();
-
 
54
		foreach ($infosImages0 as $imgs) {
-
 
55
			foreach ($imgs as $img) {
-
 
56
				$id = $img['determination.nom_sci.code'];
-
 
57
				$urls[$id][] = $img['binaire.href'];
-
 
58
			}
-
 
59
		}
-
 
60
		foreach ($infosImages1 as $img) {
-
 
61
			$id = $img['determination.nom_sci.code'];
-
 
62
			if (! in_array($img['binaire.href'], $urls[$id])) {
-
 
63
				$urls[$id][] = $img['binaire.href'];
-
 
64
			}
-
 
65
		}
-
 
66
		//echo "URLS <pre>" . print_r($urls, true) . "</pre>";
-
 
67
		//exit;
-
 
68
		return $urls;
-
 
69
	}
45
 
70
 
46
	public function getInfosImagesParIdsNoms(Array $idsNoms) {
71
	public function getInfosImagesParIdsNoms(Array $idsNoms) {
47
		$pas = 800;
72
		$pas = 800;
48
		if(count($idsNoms) >= $pas) {
73
		if(count($idsNoms) >= $pas) {
49
			$images = array();
74
			$images = array();
Line 109... Line 134...
109
		$images = (isset($donnees['resultats'])) ? $donnees['resultats'] : array();
134
		$images = (isset($donnees['resultats'])) ? $donnees['resultats'] : array();
110
		return $images;
135
		return $images;
111
	}
136
	}
Line 112... Line 137...
112
 
137
 
113
	/**
138
	/**
114
	 * Retourne les $limite images ayant le plus de votes pour le protocole $protocole et le(s) tag(s) $tags
139
	 * Retourne les $limite images ayant le plus de votes pour CHAQUE tag de $tags pour le protocole $protocole
115
	 */
140
	 */
116
	public function getInfosMeilleuresImagesParTag($nn, $tags, $protocole = Eflore::PROTOCOLE_CAPITALISATION, $limite = 10, $format = 'CRS') {
141
	public function getInfosMeilleuresImagesParTag($nn, $tags, $protocole = Eflore::PROTOCOLE_CAPITALISATION, $limite = 10, $format = 'CRS') {
117
		if (! is_array($tags)) {
142
		if (! is_array($tags)) {
118
			$tags = array($tags);
143
			$tags = array($tags);
Line 125... Line 150...
125
			$images_tag[$tag] = $this->formaterResultatImagesDel($images);
150
			$images_tag[$tag] = $this->formaterResultatImagesDel($images);
126
		}
151
		}
127
		return $images_tag;
152
		return $images_tag;
128
	}
153
	}
Line -... Line 154...
-
 
154
 
-
 
155
	/**
-
 
156
	 * Retourne l'image ayant le plus de votes pour le pour capitalisation d'images, pour le premier tags de $tags. S'il
-
 
157
	 * n'y a aucune image pour le premier tag, parcourt les autres tags jusqu'à en trouver une.
-
 
158
	 */
-
 
159
	public function getInfosMeilleureImageParPrioriteTags($nn, $tags, $format = 'CRS') {
-
 
160
		if (! is_array($tags)) {
-
 
161
			$tags = array($tags);
-
 
162
		}
-
 
163
		$image = null;
-
 
164
		foreach ($tags as $tag) {
-
 
165
			$url = $this->getUrlMeilleuresImagesParTag($nn, $tag, Eflore::PROTOCOLE_CAPITALISATION, 1, $format);
-
 
166
			$donnees = $this->chargerDonnees($url);
-
 
167
			$image = (isset($donnees['resultats'])) ? $donnees['resultats'] : array();
-
 
168
			$image = $this->formaterResultatImagesDel($image);
-
 
169
			if (empty($image) == false) {
-
 
170
				break;
-
 
171
			}
-
 
172
		}
-
 
173
		//echo "<pre>" . print_r($image, true) . "</pre>";
-
 
174
		if (is_array($image)) {
-
 
175
			$image = array_pop($image);
-
 
176
		}
-
 
177
		return $image;
-
 
178
	}
129
 
179
 
130
	private function getUrlImagesParIdsNoms($idsNoms) {
180
	private function getUrlImagesParIdsNoms($idsNoms) {
131
		$tpl = $this->obtenirSqueletteSelonApi('imagesResultatsDetermination');
181
		$tpl = $this->obtenirSqueletteSelonApi('imagesResultatsDetermination');
132
		$params = array('idsNoms' => implode(',', $idsNoms), 'referentiel' => Registre::get('parametres.referentiel'));
182
		$params = array('idsNoms' => implode(',', $idsNoms), 'referentiel' => Registre::get('parametres.referentiel'));
133
		$url = $this->formaterUrl($tpl, $params);
183
		$url = $this->formaterUrl($tpl, $params);