Rev 31 | Rev 46 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?phpclass OdsObservation extends GestionTriple {const PREFIXE = 'get';const ABBR_LISTE_EVENEMENTS = 'evenement';/*** 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();}private function getElementParDefaut($params) {}private function getObservationsPourStation($params) {$id_station = $params[0];$annee = $params[1];return ;}private function getObservationsPourIndividu($params) {$id_individu = $params[0];$annee = $params[1];$requete_liste_observation_individu = 'SELECT * FROM ods_observations '.'WHERE oo_ce_individu ='.$this->proteger($id_individu).' '.'ORDER BY oo_date';$liste_observation_individu = $this->executerRequete($requete_liste_observation_individu);$liste_observation_individu_formatees =array();$requete_evenements_pour_espece_individu_1 = 'SELECT oe_ce_evenements FROM ods_especes '.'WHERE oe_id_espece = '.'('.'SELECT oi_ce_espece FROM ods_individus '.'WHERE oi_id_individu = '.$this->proteger($id_individu).' '.')';$evenements_pour_espece_chaine = $this->executerRequete($requete_evenements_pour_espece_individu_1);$evenements_pour_espece_chaine = $evenements_pour_espece[0]['oe_ce_evenements'];$tableau_evenements_espece = split(',',$evenements_pour_espece_chaine);foreach($tableau_evenements_espece as &$evenement_espece) {$evenement_espece = $this->proteger($evenement_espece);}$evenements_espece_chaine_bdd = implode(',',$tableau_evenements_espece);$requete_liste_evenement_espece_individu = 'SELECT * FROM ods_triples '.'WHERE ot_id_triple IN '.'('.$evenements_espece_chaine_bdd.')';$liste_evenement_espece_individu = $this->executerRequete($requete_liste_evenement_espece_individu);$liste_evenement_espece_individu = $liste_evenement_espece_individu[0];foreach($liste_observation_individu as $observation_individu) {$annee_obs = date($observation_individu['oo_date'], "Y");$stade_observation_complet = $observation_individu['oo_ce_evenement'];$infos_stades = split('_',$stade_observation_complet);$titre_stade = $infos_stades[1];$numero_stade = $infos_stades[3];$date_observation_formatee = date($observation_individu['oo_date'],$this->config['appli']['format_date']);$liste_observation_individu_formatees[$annee_obs][$titre_stade][$numero_stade] = $date_observation_formatee;}return $liste_observation_individu_formatees;}/*private function getMajEspece() {$id_maj = '97,98,99,100,101,102,108,109,110,111';$stade_ajoute = '20';$tab = explode(',',$id_maj);foreach($tab as $id) {$requete = 'SELECT oe_ce_evenements FROM ods_especes WHERE oe_id_espece = '.$id;echo $requete.'<br />';$res = $this->executerRequete($requete);print_r($res);if($res[0]['oe_ce_evenements'] == 0) {$evts = ''.$stade_ajoute;} else {$evts = $res[0]['oe_ce_evenements'].','.$stade_ajoute;}$evts = $this->proteger($evts);$requete = 'UPDATE ods_especes SET oe_ce_evenements = '.$evts.' WHERE `oe_id_espece` = '.$id;echo $requete.'<br />';;$this->executerRequeteSimple($requete);}}*/}?>