Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php
class CelValidationObservation extends Cel {
/**
* Méthode appelée avec une requête de type POST avec un identifiant d'obs.
* Modifie le taxon associé à une observation avec les informations envoyées
*
* @param int $uid[0] identifiant observation
* @param pairs array tableau contenant les valeurs à modifier
*/
public function updateElement($uid,$pairs)
{
// ce service est uniquement destiné à être appelé en local,
// depuis le serveur lui même
// en particulier par l'application identiplante
$this->controleAppelIpAutorisee();
$this->verifierParametresObligatoires($uid, $pairs);
$id = $uid[0];
$gestion_observation = new GestionObservation($this->config);
$utilisateur = $pairs['ce_utilisateur'];
unset($pairs['ce_utilisateur']);
$modification = $gestion_observation->modifierObservationPublique($utilisateur, $id, $pairs);
if($modification !== false) {
$resultat = 'ok';
$this->envoyer($resultat);
exit;
} else {
$info = array();
$info = 'Impossible de modifier l\'observation associée à cet identifiant ';
$this->envoyer($info, 'text/html', 'utf-8', false);
exit;
}
}
private function verifierParametresObligatoires($uid ,$params) {
$params_obligatoires = array('id_observation',
'ce_utilisateur',
'nom_sel');
$info = array();
if(!isset($uid[0]) || !is_numeric($uid[0])) {
$info .= 'l\' identifiant doit être un entier ';
}
foreach($params_obligatoires as $param) {
if(!isset($params[$param]) || trim($params[$param]) == "") {
$info = 'le paramètre '.$param.' doit exister et ne peut pas être vide ';
}
}
if(!empty($info)) {
$this->envoyer($info, 'text/html', 'utf-8', false);
exit;
}
}
}
?>