Rev 873 | Rev 1765 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php// declare(encoding='UTF-8');// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel ///*** Service fournissant la liste des ids des images liées à une observation.* Encodage en entrée : utf8* Encodage en sortie : utf8** Cas d'utilisation :* /CelImage/liste-ids?obsId=[0-9]+ : ids des images liées à l'observation possédant l'identifiant 'obsId'.** Sortie :* Type de sortie : json (par défaut), HTML en cas d'erreur.** @author Jean-Pascal MILCENT <jpm@tela-botanica.org>* @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 AND coi.id_utilisateur = co.ce_utilisateur) '.' LEFT JOIN cel_images AS cim '.' ON (coi.id_image = cim.id_image) '."WHERE co.id_observation IN ($observations) ";$resultat_requete_images = $this->requeter($requete);$infos = array();if(is_array($resultat_requete_images)) {$infos = $resultat_requete_images;}foreach ($infos as $info) {if(is_numeric($info['ci_id_image'])) {$ids[$info['id']][] = (int) $info['ci_id_image'];}}}}return $ids;}}