Rev 947 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php// declare(encoding='UTF-8');/*** Classe gérant les images.** @category PHP 5.2* @package eflore-consultation* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>* @author Delphine CAUQUIL <delphine@tela-botanica.org>* @copyright 2011 Tela-Botanica* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2* @version $Id$*/class Images extends Eflore {private $nntaxon;private $limite;private $depart;public function setNnTaxon($nntax) {$this->nntaxon = $nntax;}public function setLimite($limite) {$this->limite = $limite;}public function setDepart($depart) {$this->depart = $depart;}//TODO: créer des fonctions spécifiques cel et photoflora pour plus de clarté ?public function getUrlsImagesParIdsNoms(Array $idsNoms) {$infosImages = $this->getInfosImagesParIdsNoms($idsNoms);$urls = array();if (count($infosImages) > 0) {foreach ($infosImages as $img) {$id = $img['determination.nom_sci.code'];$urls[$id][] = $img['binaire.href'];}}return $urls;}public function getInfosImagesParIdsNoms(Array $idsNoms) {$pas = 800;if(count($idsNoms) >= $pas) {$images = array();$idsPartages = array_chunk($idsNoms, $pas);foreach ($idsPartages as $sousEnsembleIdsNoms) {$url = $this->getUrlImagesParIdsNoms($sousEnsembleIdsNoms);$donnees = $this->chargerDonnees($url);$resultats = (isset($donnees['resultats'])) ? $donnees['resultats'] : array();$images += $resultats;}} else {$url = $this->getUrlImagesParIdsNoms($idsNoms);$donnees = $this->chargerDonnees($url);$images = (isset($donnees['resultats'])) ? $donnees['resultats'] : array();}return $images;}public function getInfosImageParIdImage($id_image) {$tpl = Config::get('imagesPopupTpl');$url = $this->formaterUrl($tpl, array('id' => $id_image, 'referentiel' => Registre::get('parametres.referentiel')));return $this->chargerDonnees($url);}public function getInfosImages() {$url = $this->getUrlImages();$donnees = $this->chargerDonnees($url);$images = (empty($donnees['resultats']) == false) ? $donnees['resultats'] : array();return $images;}public function getInfosImagesTaxons() {$pas = 800;$idsTaxons = explode(',', $this->nntaxon);if(count($idsTaxons) >= $pas) {$images = array();$idsPartages = array_chunk($idsTaxons, $pas);foreach ($idsPartages as $sousEnsembleIdsTaxons) {$url = $this->getUrlImagesTaxons(implode(',',$sousEnsembleIdsTaxons));$donnees = $this->chargerDonnees($url);$resultats = (empty($donnees['resultats']) == false) ? $donnees['resultats'] : array();$images += $resultats;}} else {$url = $this->getUrlImagesTaxons($idsTaxons);$donnees = $this->chargerDonnees($url);$images = (isset($donnees['resultats'])) ? $donnees['resultats'] : array();}return $images;}private function getUrlImagesParIdsNoms($idsNoms) {$tpl = Config::get('imagesResultatsDeterminationTpl');$params = array('idsNoms' => implode(',', $idsNoms), 'referentiel' => Registre::get('parametres.referentiel'));$url = $this->formaterUrl($tpl, $params);return $url;}public function getUrlPremiereImageParIdsNoms($idsNoms) {$tpl = Config::get('imagesPremiereTpl');$params = array('idsNoms' => implode(',', $idsNoms), 'referentiel' => Registre::get('parametres.referentiel'));$url = $this->formaterUrl($tpl, $params);$donnees = $this->chargerDonnees($url);$images = (isset($donnees['resultats'])) ? $donnees['resultats'] : array();return $images;}private function getUrlImages() {$tpl = Config::get('imagesTpl');$params = array('projet' => $this->getProjet(), 'limite' => $this->limite, 'depart' => $this->depart, 'referentiel' => Registre::get('parametres.referentiel'));$url = $this->formaterUrl($tpl, $params);return $url;}private function getUrlImagesTaxons($idsTaxons) {$tpl = Config::get('imagesTaxonsTpl');$params = array('projet' => $this->getProjet(),'nntaxon'=> $idsTaxons, 'referentiel' => Registre::get('parametres.referentiel'));$url = $this->formaterUrl($tpl, $params);return $url;}}?>