2,6 → 2,8 |
|
class OdsIndividu extends JRestService { |
|
const PREFIXE = 'get'; |
|
/** |
* Méthode appelée avec une requête de type GET. |
* |
8,13 → 10,19 |
*/ |
function getElement($param = array()) { |
|
$donnees_test = $this->retournerDonneesTest(); |
$type = $param[0]; |
|
if($param[0] == "*") { |
$info = $donnees_test; |
} else if(is_numeric($param[0])) { |
$info = $donnees_test[$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); |
24,20 → 32,36 |
* 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 { |
$elements_requis = array('id_participant','id_espece','id_station','individu_nom'); |
|
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete); |
foreach($elements_requis as $requis) { |
if(!isset($params[$requis])) { |
//$erreurs[$requis] = 'erreur '; |
} |
} |
$this->envoyer((string) $id_personne); |
|
if(!empty($erreurs)) { |
$this->envoyer($erreurs); |
} |
|
$id_participant = $params['id_participant']; |
|
$requete_creation_individu = 'INSERT INTO ods_individus '. |
'(oi_ce_espece, oi_ce_station, oi_nom) '. |
'VALUES ('. |
$this->proteger($params['id_espece']).','. |
$this->proteger($params['id_station']).','. |
$this->proteger($params['individu_nom']).')'; |
$creation_individu = $this->executerRequeteSimple($requete_creation_individu); |
|
if(!$creation_individu) { |
// TODO: comment gère t'on les erreurs ? |
} |
|
$this->envoyer(); |
} |
|
/** |
* Méthode appelée pour mettre à jour un élément |
*/ |
89,59 → 113,60 |
$this->envoyer(); |
} |
|
private function retournerDonneesTest() { |
private function getInformationsIndividu($params) { |
|
$id_individu = $params[0]; |
|
$requete_toute_espece = 'SELECT * FROM ods_individus '. |
'WHERE oi_id_individu = '.$this->proteger($id_individu); |
$liste_espece = $this->executerRequete($requete_toute_espece); |
|
} |
|
private function getIndividusPourStation($params) { |
|
$id_station = $params[0]; |
|
$requete_individus_station = 'SELECT * FROM ods_individus '. |
'WHERE oi_ce_station = '.$this->proteger($id_station); |
$liste_individus_pour_station = $this->executerRequete($requete_individus_station); |
|
foreach($liste_individus_pour_station as &$individu_pour_station) { |
|
$individu_pour_station = $this->formaterTableauIndividuPourEnvoi($individu_pour_station); |
} |
|
return $liste_individus_pour_station; |
} |
|
private function getIndividusPourStationPourEspece($params) { |
|
$id_station = $params[0]; |
$id_espece = $params[1]; |
|
$requete_individus_station_espece = 'SELECT * FROM ods_individus '. |
'WHERE oi_ce_station = '.$this->proteger($id_station).' '. |
'AND oi_ce_espece ='.$this->proteger($id_espece); |
|
$liste_individus_pour_station_pour_espece = $this->executerRequete($requete_individus_station_espece); |
|
foreach($liste_individus_pour_station_pour_espece as &$individu_pour_station_pour_espece) { |
|
$individu_pour_station_pour_espece = $this->formaterTableauIndividuPourEnvoi($individu_pour_station_pour_espece); |
} |
|
return $liste_individus_pour_station_pour_espece; |
} |
|
private function formaterTableauIndividuPourEnvoi($individu) { |
|
return array( |
'1' => |
array( |
'id' => '1', |
'nom' => 'Individu 1', |
'nom_scientifique' => 'Acer monspessulanum', |
'nom_vernaculaire' => 'Erable de Montpellier', |
'description' => 'Quel bel individu!' |
), |
'2' => |
array( |
'id' => '2', |
'nom' => 'Individu 2', |
'nom_scientifique' => 'Acer monspessulanum', |
'nom_vernaculaire' => 'Erable de Montpellier', |
'description' => 'Quel bel individu!' |
), |
'id_espece' => $individu['oi_id_individu'], |
'id_espece' => $individu['oi_ce_espece'], |
'id_station' => $individu['oi_ce_station'], |
'nom' => $individu['oi_nom'] |
); |
|
'3' => |
array( |
'id' => '3', |
'nom' => 'Individu 3', |
'nom_scientifique' => 'Acer monspessulanum', |
'nom_vernaculaire' => 'Erable de Montpellier', |
'description' => 'Quel bel individu!' |
), |
'4' => |
array( |
'id' => '4', |
'nom' => 'Individu 4', |
'nom_scientifique' => 'Acer monspessulanum', |
'nom_vernaculaire' => 'Erable de Montpellier', |
'description' => 'Quel bel individu!' |
), |
'5' => |
array( |
'id' => '5', |
'nom' => 'Individu 5', |
'nom_scientifique' => 'Acer monspessulanum', |
'nom_vernaculaire' => 'Erable de Montpellier', |
'description' => 'Quel bel individu!' |
), |
'6' => |
array( |
'id' => '6', |
'nom' => 'Individu 6', |
'nom_scientifique' => 'Acer monspessulanum', |
'nom_vernaculaire' => 'Erable de Montpellier', |
'description' => 'Quel bel individu!' |
) |
); |
} |
} |
?> |