New file |
0,0 → 1,130 |
<?php |
|
class OdsObservation 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'utilisateur |
list($id_utilisateur, $id_session) = $this->getIdentification($params); |
|
// Contrôle du non détournement de l'utilisateur |
if ($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'utilisateur |
list($id_utilisateur, $id_session) = $this->getIdentification($params); |
|
// Contrôle du non détournement de l'utilisateur |
if ($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'url |
if (!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'utilisateur |
if ($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 = $param[0]; |
$annee = $param[1]; |
|
return ; |
|
} |
|
private function getObservationsPourIndividu($params) { |
|
$id_individu = $param[0]; |
$annee = $param[1]; |
|
return array( |
|
'1' => '01/01/2010', |
'2' => '13/01/2010', |
'3' => '06/02/2010', |
'4' => '08/05/2010', |
'5' => '09/07/2010', |
'6' => '08/08/2010', |
'7' => '25/10/2010', |
); |
} |
} |
?> |