Rev 41 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?phpclass OdsEspece extends JRestService {const PREFIXE = 'get';/*** Méthode appelée avec une requête de type GET.**/function getElement($param = array()) {$type = $param[0];if ($type == '*' || is_numeric($type)) {$info = $this->getElementParDefaut($param);} else {$methode = self::PREFIXE.$type;if (method_exists($this, $methode)) {array_shift($param);$info = $this->$methode($param);} else {$this->messages[] = "Le type d'information demandé '$type' n'est pas disponible.";}}// Envoi sur la sortie standard$this->envoyer($info);}/*** Méthode appelée pour ajouter un élément.*/public function createElement($params) {// Identification de l'utilisateurlist($id_utilisateur, $id_session) = $this->getIdentification($params);// Contrôle du non détournement de l'utilisateurif ($this->etreAutorise($id_utilisateur)) {try {} catch (PDOException $e) {$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete);}}$this->envoyer((string) $id_personne);}/*** Méthode appelée pour mettre à jour un élément*/public function updateElement($uid, $params) {//Mise à jour de la personne// Identification de l'utilisateurlist($id_utilisateur, $id_session) = $this->getIdentification($params);// Contrôle du non détournement de l'utilisateurif ($this->etreAutorise($id_utilisateur)) {try {} catch (PDOException $e) {$messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete);}}$this->envoyer();}/*** Méthode appelée pour supprimer un élément*/public function deleteElement($uid) {// Vérification de la présence des id passés par l'urlif (!isset($uid[0]) || !isset($uid[1])) {$this->messages[] = "Identifiant d'utilisateur ou de personne manquant. Vous ne devriez pas avoir accès à ce service.";} else {list($id_utilisateur, $id_session) = $this->getIdentification($uid[0]);// Contrôle du non détournement de l'utilisateurif ($this->etreAutorise($id_utilisateur)) {// Récupération des id passés par l'url$identifiants = explode(',', rtrim($uid[1], ','));if (count($identifiants) == 0) {$this->messages[] = "Aucun enregistrement n'a été supprimé.";} else {foreach ($identifiants as $id_personne) {try {} catch (PDOException $e) {$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete);}}}}}// Envoie sur la sortie standard$this->envoyer();}/** ======================= Methodes privées d'accès au informations ================================ */private function getElementParDefaut() {return $this->getEspeces();}private function getEspeces() {return array('1' => array('id' => '1','nom_vernaculaire' => 'Erable de Montpellier'),'2' => array('id' => '2','nom_vernaculaire' => 'Herbe à canard'),'3' => array('id' => '3','nom_vernaculaire' => 'Coquelicot'),'4' => array('id' => '4','nom_vernaculaire' => 'Herbe à chat'),'5' => array('id' => '5','nom_vernaculaire' => 'Hibou'),'6' => array('id' => '6','nom_vernaculaire' => 'Coucou'));}private function getEspece($params) {$id_espece = $params[0];$infos_espece = array('id' => $id_espece,'nom_scientifique' => 'Acer monspessulanum','nom_vernaculaire' => 'Erable de Montpellier','description' => 'Un arbre bien connu de tous','url_image' => 'http://www.tela-botanica.org/sites/eflore/generique/images/projets/eflore/bdnff/4.02/nt/8523/002543.jpg');return $infos_espece;}private function getEspecesPourStation($params) {$id_station = $params[0];$especes_dans_station = $this->getEspeces();$modulo = ($id_station+7)%6;if($modulo == 0) $modulo = 1;return array_slice($especes_dans_station, 0, $modulo);}private function getEspecesParType($params) {$id_type = $params[0];return $especes_par_type = array('1' => array('nom' => 'herbacées','especes' => array('1' => array('id' => '1','nom_vernaculaire' => 'Herbe de Montpellier'))),'2' => array('nom' => 'arbres','especes' => array('id' => array('id' => '1','nom_vernaculaire' => 'Erable de Montpellier'))),'3' => array('nom' => 'animaux','especes' => array('id' => array('id' => '1','nom_vernaculaire' => 'Hibou de Montpellier'))));return $especes_par_type;}}?>