Subversion Repositories eFlore/Applications.del

Rev

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

<?php
class NomsTaxons extends Del {
        
        private $debut = 0;
        private $limite = 50;
        
        /**
        * Méthode appelée avec une requête de type GET avec une url de la forme
        * http://localhost/jrest/ExempleService/
        *
        * Sert normalement à renvoyer la description des possibilités du service
        *
        */
        public function getRessource() {
                return $this->getElement(array());
        }
        
        /**
        * Méthode appelée avec une requête de type GET avec une url de la forme
        * http://localhost/jrest/ExempleService/uid[0]/$uid[1]/ etc...
        *
        * Sert normalement à ramener un élément précis indiqué par un identifiant
        * qui se situe dans l'url après le nom du service
        * Le filtrage, le format de retour, les paramètres optionnels ... sont normalement indiqués
        * dans le tableau $_GET
        * Pour obtenir l'élément 2501 dans le format HTML cela pourrait donner
        * http://localhost/jrest/ExempleService/2501?format=HTML
        *
        * @param $uid un tableau contenant les élements passés dans l'url après le nom du service
        *
        */
        public function getElement($uid)
        {
                $format = 'json';
                $retour_completion_noms = json_encode(array());
                $recherche = '';
                
                $this->debut = isset($_GET['debut']) ? $_GET['debut'] : $this->debut;
                $this->limite = isset($_GET['limite']) ? $_GET['limite'] : $this->limite;
        
                $format = isset($_GET['format']) ? strtolower($_GET['format']) : $format;                       
                $recherche = isset($uid[0]) && $uid[0] != '' ? $uid[0] : '';
                $recherche_suite = isset($uid[1]) && $uid[1] != '' ? '/'.$uid[1] : '';
                
                $recherche .= $recherche_suite;
        
                switch ($format) {              
                        case 'json':
                                $retour_completion_noms = $this->obtenirNomsCompletes($recherche);
                                $mime = 'application/json';
                        break;
                }
        
                $this->envoyer($retour_completion_noms,$mime);
        }
        
        private function obtenirNomsCompletes($requete) {
                return file_get_contents("http://www.tela-botanica.org/eflore/cel2/jrest/NameSearch/".$requete);
        }
}
?>