Subversion Repositories Sites.obs-saisons.fr

Compare Revisions

Ignore whitespace Rev 32 → Rev 33

/trunk/applications/jrest/services/OdsIndividu.php
2,19 → 2,27
 
class OdsIndividu extends JRestService {
 
const PREFIXE = 'get';
/**
* Méthode appelée avec une requête de type GET.
*
*/
function getElement($param = array()) {
$type = $param[0];
$donnees_test = $this->retournerDonneesTest();
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,18 → 32,34
* 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);
$elements_requis = array('id_participant','id_espece','id_station','individu_nom');
foreach($elements_requis as $requis) {
if(!isset($params[$requis])) {
//$erreurs[$requis] = 'erreur ';
}
}
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();
}
/**
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];
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!'
),
'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!'
)
);
$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(
'id_espece' => $individu['oi_id_individu'],
'id_espece' => $individu['oi_ce_espece'],
'id_station' => $individu['oi_ce_station'],
'nom' => $individu['oi_nom']
);
}
}
?>