Subversion Repositories eFlore/Applications.cel

Rev

Rev 1527 | Blame | Last modification | View Log | RSS feed

<?php
/**
* PHP Version 5
*
* @category  PHP
* @package   jrest
* @author    David Delon <david.delon@clapas.net>
* @copyright 2010 Tela-Botanica
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @version   SVN: <svn_id>
* @link      /doc/jrest/
*/

/**
* NameImage.php  
* 
* in : utf8
* out : 8859
* 
* Cas d'utilisation :
* Service recherche d'image a partir d'un numero nomenclatural
* 
* 1: Le service recoit un numero nomenclatural
* 2: Le service calcul le numero taxonomique associe
* 3: Le service recherche une image disponible pour ce numero taxonomique
* 4: Le service redimensionne l'image et la renvoie
*/
class NameImage extends Cel  {

        function getElement($uid){
                
                $image = array("","");
                if(isset($uid[0]) && isset($uid[1])) {
                        $uid[0] = $uid[0] != '' ? $uid[0] : 'bdtfx';
                        $image = $this->obtenirIllustration($uid[0], $uid[1]);
                }
                
                $this->envoyerJson($image);                     
                return true;    
        }
        
        function obtenirIllustration($referentiel_taxo, $nn) {
                // TODO: gérer ici les images d'autres référentiels si celles si sont disponibles
                $retour = array("","");
                switch($referentiel_taxo) {
                        case 'bdtfx':
                                $retour = $this->effectuerRequetePhotoFlora($nn);
                                break;
                                        
                        default:
                                break;
                }
                return $retour;
        }
        
        private function effectuerRequetePhotoFlora($nn) {
                $url_photoflora = $this->config['eflore']['url_service_photoflora'];
                $url = $url_photoflora.'?masque.nn='.$nn.'&navigation.limite=1';
                $resultat = @file_get_contents($url);
                $resultat = json_decode($resultat);
                if(is_object($resultat) && isset($resultat->resultats)) {
                        $element = (array)$resultat->resultats;
                        $element = array_pop($element);
                        if(is_object($element)) {
                                $image = array($element->{'binaire.href'}, $element->{'binaire.hrefmax'});
                        } else {
                                $image = array('','');
                        }
                }
                return $image;
        }
}
/* +--Fin du code ---------------------------------------------------------------------------------------+
* $Log$
* Revision 1.4  2008-11-13 11:29:12  ddelon
* Reecriture gwt-ext
*
* Revision 1.2  2008-01-30 08:57:28  ddelon
* fin mise en place mygwt
*
* Revision 1.1  2007-06-06 13:31:16  ddelon
* v0.09
* 
*/
?>