* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) * @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL * @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL * @version $Id$ */ class CelImage extends Cel { /** * Méthode appelée avec une requête de type GET. */ public function getElement($params) { $parametres = $this->traiterParametres(array('mode'), $params, false); extract($parametres); $contenu = ''; $retour = null; if (isset($mode)) { $methode = $this->traiterNomMethodeGet($mode); if (method_exists($this, $methode)) { $this->parametres = array_shift($params); $retour = $this->$methode(); } else { $service = get_class($this); $this->messages[] = "Ce type de mode '$mode' pour le service '$service' n'est pas disponible."; } } else { $this->messages[] = "Vous devez indiquer un type de mode d'interrogation."; } if (is_null($retour)) { $this->messages[] = "Un problème est survenu lors de l'appel au service CelImage"; } $this->envoyerJson($retour); } /** * Carte par défaut */ private function getListeIds() { $ids = array(); if (isset($_GET['obsId'])) { $observations = $this->traiterValeursMultiples($_GET['obsId']); if (! is_null($observations)) { $requete = 'SELECT co.id_observation, cim.id_image '. 'FROM cel_obs AS co '. ' LEFT JOIN cel_obs_images AS coi '. ' ON (coi.id_observation = co.id_observation) '. ' LEFT JOIN cel_images AS cim '. ' ON (coi.id_image = cim.id_image) '. "WHERE co.id_observation IN ($observations) "; $resultat_requete_images = Cel::db()->requeter($requete); $infos = array(); if(is_array($resultat_requete_images)) { $infos = $resultat_requete_images; } foreach ($infos as $info) { if(is_numeric($info['id_image'])) { $ids[$info['id_observation']][] = (int) $info['id_image']; } } } } return $ids; } }