| 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);
|