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) { //TODO: méthode de creation d'évènements spéciale aux admins } /** * Méthode appelée pour supprimer un élément */ public function deleteElement($uid) { //TODO: méthode de suppression d'évènements spéciale aux admins } private function getElementParDefaut($param) { $this->getTousEvenements($param); } private function getTousEvenements($params) { $requete_liste_evenements_pour_espece = 'SELECT * FROM ods_triples '. 'WHERE ot_ce_parent = 12'; $liste_evenements_pour_espece = $this->executerRequete($requete_liste_evenements_pour_espece); $liste_evenements_pour_espece_formatee = $this->formaterTableauEvenementPourEnvoiParId($liste_evenements_pour_espece); return $liste_evenements_pour_espece_formatee; } 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 = explode(',',$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 formaterTableauEvenementPourEnvoiParId($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']; $description_stade = $evenement['ot_description']; $tableau_evenements_formate[$identifiant_stade]['code'] = $numero_stade; $tableau_evenements_formate[$identifiant_stade]['nom'] = $titre_stade; } return $tableau_evenements_formate; } 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']; $description_stade = $evenement['ot_description']; $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]['description'][$identifiant_stade] = $description_stade; $tableau_evenements_formate[$titre_stade]['stades'][$identifiant_stade] = $numero_stade; } return $tableau_evenements_formate; } } ?>