Rev 41 | Rev 207 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?phpclass OdsEvenement extends GestionTriple {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) {print_r($params);$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();}private function getElementParDefaut($param) {}private function getEvenementsPourEspece($params) {$id_espece = $params[0];$requete_evenements_pour_espece = 'SELECT oe_ce_evenements FROM ods_especes '.'WHERE oe_id_espece = '.$this->proteger($id_espece);$evenements_pour_espece = $this->executerRequete($requete_evenements_pour_espece);$evenements_pour_espece = $evenements_pour_espece[0]['oe_ce_evenements'];$tableau_evenements_espece = split(',',$evenements_pour_espece);foreach($tableau_evenements_espece as &$evenement_espece) {$evenement_espece = $this->proteger($evenement_espece);}$evenements_espece_chaine_bdd = implode(',',$tableau_evenements_espece);$requete_liste_evenements_pour_espece = 'SELECT * FROM ods_triples '.'WHERE ot_id_triple IN '.'('.$evenements_espece_chaine_bdd.')';$liste_evenements_pour_espece = $this->executerRequete($requete_liste_evenements_pour_espece);$liste_evenements_pour_espece_formatee = $this->formaterTableauEvenementPourEnvoi($liste_evenements_pour_espece);return $liste_evenements_pour_espece_formatee;}private function formaterTableauEvenementPourEnvoi($liste_evenements) {$tableau_evenements_formate = array();foreach($liste_evenements as $evenement) {$identifiant_stade = $evenement['ot_id_triple'];$stade_observation_complet = $evenement['ot_cle'];$infos_stades = $this->renvoyerInformationStadeAPartirChaineTriple($stade_observation_complet);$titre_stade = $infos_stades['nom'];$numero_stade = $infos_stades['numero'];$abreviation_stade = $infos_stades['abreviation'];$tableau_evenements_formate[$titre_stade]['id'] = $evenement['ot_id_triple'];$tableau_evenements_formate[$titre_stade]['nom'] = $titre_stade;$tableau_evenements_formate[$titre_stade]['abreviation'] = $abreviation_stade;$tableau_evenements_formate[$titre_stade]['stades'][$identifiant_stade] = $numero_stade;}return $tableau_evenements_formate;}}?>