Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 1135 → Rev 1136

/trunk/metier/api_0.1/Images.php
43,6 → 43,31
return $urls;
}
 
// retourne les urls d'une série d'images tirées de del, avec en premier les
// images d'organes les mieux votées, et ensuite toute les autres images disponibles
public function getUrlsImagesOrganesParIdsNom($idNom) {
$infosImages0 = $this->getInfosMeilleuresImagesParTag($idNom, array('fleur', 'feuille', 'fruit', 'ecorce', 'port', 'rameau'), Eflore::PROTOCOLE_CAPITALISATION, 6);
$infosImages1 = $this->getInfosImagesParIdsNoms(array($idNom));
//echo "ORGANES <pre>" . print_r($infosImages0, true) . "</pre>";
//echo "TOUT <pre>" . print_r($infosImages1, true) . "</pre>";
$urls = array();
foreach ($infosImages0 as $imgs) {
foreach ($imgs as $img) {
$id = $img['determination.nom_sci.code'];
$urls[$id][] = $img['binaire.href'];
}
}
foreach ($infosImages1 as $img) {
$id = $img['determination.nom_sci.code'];
if (! in_array($img['binaire.href'], $urls[$id])) {
$urls[$id][] = $img['binaire.href'];
}
}
//echo "URLS <pre>" . print_r($urls, true) . "</pre>";
//exit;
return $urls;
}
 
public function getInfosImagesParIdsNoms(Array $idsNoms) {
$pas = 800;
if(count($idsNoms) >= $pas) {
111,7 → 136,7
}
 
/**
* Retourne les $limite images ayant le plus de votes pour le protocole $protocole et le(s) tag(s) $tags
* Retourne les $limite images ayant le plus de votes pour CHAQUE tag de $tags pour le protocole $protocole
*/
public function getInfosMeilleuresImagesParTag($nn, $tags, $protocole = Eflore::PROTOCOLE_CAPITALISATION, $limite = 10, $format = 'CRS') {
if (! is_array($tags)) {
127,6 → 152,31
return $images_tag;
}
 
/**
* Retourne l'image ayant le plus de votes pour le pour capitalisation d'images, pour le premier tags de $tags. S'il
* n'y a aucune image pour le premier tag, parcourt les autres tags jusqu'à en trouver une.
*/
public function getInfosMeilleureImageParPrioriteTags($nn, $tags, $format = 'CRS') {
if (! is_array($tags)) {
$tags = array($tags);
}
$image = null;
foreach ($tags as $tag) {
$url = $this->getUrlMeilleuresImagesParTag($nn, $tag, Eflore::PROTOCOLE_CAPITALISATION, 1, $format);
$donnees = $this->chargerDonnees($url);
$image = (isset($donnees['resultats'])) ? $donnees['resultats'] : array();
$image = $this->formaterResultatImagesDel($image);
if (empty($image) == false) {
break;
}
}
//echo "<pre>" . print_r($image, true) . "</pre>";
if (is_array($image)) {
$image = array_pop($image);
}
return $image;
}
 
private function getUrlImagesParIdsNoms($idsNoms) {
$tpl = $this->obtenirSqueletteSelonApi('imagesResultatsDetermination');
$params = array('idsNoms' => implode(',', $idsNoms), 'referentiel' => Registre::get('parametres.referentiel'));