New file |
0,0 → 1,128 |
<?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; |
} |
} |
?> |