Subversion Repositories eFlore/Applications.cel

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1502 aurelien 1
<?php
2
class CelValidationObservation extends Cel {
3
 
4
	/**
5
	* Méthode appelée avec une requête de type POST avec un identifiant d'obs.
6
	* Modifie le taxon associé à une observation avec les informations envoyées
7
	*
8
	* @param int $uid[0] identifiant observation
9
	* @param pairs array tableau contenant les valeurs à modifier
10
	*/
11
	public function updateElement($uid,$pairs)
12
	{
13
		// ce service est uniquement destiné à être appelé en local,
14
		// depuis le serveur lui même
15
		// en particulier par l'application identiplante
16
		$this->controleAppelIpAutorisee();
17
		$this->verifierParametresObligatoires($uid, $pairs);
18
		$id = $uid[0];
19
 
20
		$gestion_observation = new GestionObservation($this->config);
21
		$utilisateur = $pairs['ce_utilisateur'];
22
		unset($pairs['ce_utilisateur']);
23
		$modification = $gestion_observation->modifierObservationPublique($utilisateur, $id, $pairs);
24
 
25
		if($modification !== false) {
26
			$resultat = 'ok';
27
			$this->envoyer($resultat);
28
			exit;
29
		} else {
30
			$info = array();
31
			$info = 'Impossible de modifier l\'observation associée à cet identifiant ';
32
			$this->envoyer($info, 'text/html', 'utf-8', false);
33
			exit;
34
		}
35
	}
36
 
37
	private function verifierParametresObligatoires($uid ,$params) {
38
		$params_obligatoires = array('id_observation',
39
							 'ce_utilisateur',
40
							 'nom_sel');
41
		$info = array();
42
 
43
		if(!isset($uid[0]) || !is_numeric($uid[0])) {
44
			$info .= 'l\' identifiant doit être un entier ';
45
		}
46
 
47
		foreach($params_obligatoires as $param) {
48
			if(!isset($params[$param]) || trim($params[$param]) == "") {
49
				$info = 'le paramètre '.$param.' doit exister et ne peut pas être vide ';
50
			}
51
		}
52
 
53
		if(!empty($info)) {
54
			$this->envoyer($info, 'text/html', 'utf-8', false);
55
			exit;
56
		}
57
	}
58
}
59
?>