Subversion Repositories Sites.obs-saisons.fr

Compare Revisions

Ignore whitespace Rev 283 → Rev 284

/trunk/applications/jrest/services/OdsEspece.php
42,8 → 42,28
* Méthode appelée pour mettre à jour un élément
*/
public function updateElement($uid, $params) {
// fonction devant uniquement être appelée depuis le serveur
// lui-même, cad par l'application de saisie
$controle = new ControleUtilisateur($this->config);
$controle->controleAppelIpAutorisee();
 
//TODO: méthode de modification d'espèce spéciale aux admins
$requete = 'UPDATE ods_especes SET ';
foreach($params as $param => $valeur) {
$requete .= 'oe_'.$param.' = '.$this->proteger($valeur).', ';
}
$requete = rtrim ($requete, ', ');
$requete .= ' WHERE oe_id_espece = '.$this->proteger($uid[0]);
$modification_espece = $this->executerRequeteSimple($requete);
if(!$modification_espece) {
$retour['erreurs'] = 'erreur de modification';
} else {
$retour = 'ok';
}
$this->envoyer($retour);
}
/**
88,6 → 108,7
'SELECT oi_ce_espece FROM ods_individus '.
'WHERE oi_ce_station = '.$this->proteger($id_station).
') '.
' AND oe_espece_active = 1 '.
'ORDER BY oe_ce_type, oe_nom_vernaculaire';
 
101,50 → 122,64
return $especes_pour_station;
}
private function getEspecesActivesParType() {
return $this->getEspecesParType(true);
}
private function getEspecesParType() {
return $this->obtenirEspecesParType(false);
}
private function getEspecesParTypeAdmin() {
return $this->obtenirEspecesParType(true);
}
private function obtenirEspecesParType($toutes_les_especes = false) {
$requete_toute_espece = 'SELECT * FROM ods_especes ORDER BY oe_ce_type, oe_nom_vernaculaire';
$requete_toute_espece = 'SELECT * FROM ods_especes '.
($toutes_les_especes ? '' : ' WHERE oe_espece_active = 1 ').
'ORDER BY oe_ce_type, oe_nom_vernaculaire';
$liste_espece = $this->executerRequete($requete_toute_espece);
$liste_type_espece = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_TYPE_ESPECE);
$liste_type_espece = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_TYPE_ESPECE);
$especes_par_type = array();
foreach($liste_espece as $espece) {
foreach($liste_espece as $espece) {
$espece = $this->formaterTableauEspecePourEnvoi($espece);
$type = $espece['type'];
$nom_type = $liste_type_espece[$type]['ot_valeur'];
if(!isset($especes_par_type[$type])) {
$especes_par_type[$type] = array(
'nom' => $nom_type,
'especes' => array()
'nom' => $nom_type,
'especes' => array()
);
}
$especes_par_type[$type]['especes'][$espece['id_espece']] = $espece;
$especes_par_type[$type]['especes'][$espece['id_espece']] = $espece;
}
return $especes_par_type;
return $especes_par_type;
}
public function getToutesEspeces() {
$requete_toute_espece = 'SELECT * FROM ods_especes ORDER BY oe_nom_vernaculaire';
$requete_toute_espece = 'SELECT * FROM ods_especes WHERE oe_espece_active = 1 ORDER BY oe_nom_vernaculaire ';
$liste_espece = $this->executerRequete($requete_toute_espece);
$liste_type_espece = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_TYPE_ESPECE);
$especes_par_id = array();
 
foreach($liste_espece as $espece) {
$espece = $this->formaterTableauEspecePourEnvoi($espece);
$especes_par_id[$espece['id_espece']] = $espece;
}
 
return $especes_par_id;
}
158,9 → 193,9
'description' => $espece['oe_description'],
'climat' => $espece['oe_ce_climat'],
'evenements' => $espece['oe_ce_evenements'],
'type' => $espece['oe_ce_type']
);
'type' => $espece['oe_ce_type'],
'active' => $espece['oe_espece_active']
);
}
}
?>