Subversion Repositories eFlore/Applications.cel

Rev

Rev 1870 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1870 Rev 1873
Line 1... Line 1...
1
<?php
1
<?php
-
 
2
/**
-
 
3
 * @category  PHP
-
 
4
 * @package   jrest
-
 
5
 * @author    Aurélien Peronnet <aurelien@tela-botania.org>
-
 
6
 * @author    Raphaël Droz <raphael@tela-botania.org>
-
 
7
 * @copyright 2013 Tela-Botanica
-
 
8
 * @license   Licence CECILL <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt>
-
 
9
 * @license	  GPL v3 <http://www.gnu.org/licenses/gpl.txt>
-
 
10
 *
-
 
11
 */
-
 
12
 
2
class CelValidationObservation extends Cel {
13
class CelValidationObservation extends Cel {
3
	/**
14
	/**
4
	* Méthode appelée avec une requête de type POST avec un identifiant d'obs.
15
	* Méthode appelée avec une requête de type POST avec un identifiant d'obs.
5
	* Modifie le taxon associé à une observation avec les informations envoyées
16
	* Modifie le taxon associé à une observation avec les informations envoyées
6
	* Utilisé par:
17
	* Utilisé par:
7
	* - del/services/modules/0.1/determinations/ValiderDetermination.php::modifierObservationParDetermination()
18
	* - del/services/modules/0.1/determinations/ValiderDetermination.php::modifierObservationParDetermination()
8
	*
19
	*
9
	* @param int $uid[0] identifiant observation
20
	* @param int $uid[0] identifiant observation
10
	* @param pairs array tableau contenant les valeurs à modifier
21
	* @param pairs array tableau contenant les valeurs à modifier
-
 
22
	* @param pairs['obsKeywordDelete'] optional string: mot-clef à délier à cette observation
11
	*/
23
	*/
12
	public function updateElement($uid, $pairs) {
24
	public function updateElement($uid, $pairs) {
13
		// ce service est uniquement destiné à être appelé en local, 
25
		// ce service est uniquement destiné à être appelé en local, 
14
		// depuis le serveur lui même 
26
		// depuis le serveur lui même 
15
		// en particulier par l'application identiplante
27
		// en particulier par l'application identiplante
16
		$this->controleAppelIpAutorisee();
28
		$this->controleAppelIpAutorisee();
17
		self::verifierParametresObligatoires($uid, $pairs);
29
		self::verifierParametresObligatoires($uid, $pairs);
18
		$id = $uid[0];
30
		$id = $uid[0];
Line 19... Line 31...
19
 
31
 
-
 
32
		$gestion_observation = new GestionObservation($this->config);
20
		$gestion_observation = new GestionObservation($this->config);
33
		$pairs = array_map('trim', $pairs);
21
		$utilisateur = $pairs['ce_utilisateur'];
34
		$utilisateur = $pairs['ce_utilisateur'];
22
		unset($pairs['ce_utilisateur'], $pairs['id_observation']);
-
 
Line -... Line 35...
-
 
35
		unset($pairs['ce_utilisateur'], $pairs['id_observation']);
-
 
36
 
-
 
37
		// mise à jour des mots-clefs suite à une validation:
-
 
38
		// typiquement, DEL modifierObservationParDetermination()
-
 
39
		// nous enverra obsKeywordDelete=aDeterminer en plus de certitude=Certaine
-
 
40
		$obsKeywordDelete = @trim($pairs['obsKeywordDelete']);
-
 
41
		// $imgKeywordDelete = @trim($pairs['imgKeywordDelete']);
-
 
42
		unset($pairs['obsKeywordDelete']); // , $pairs['imgKeywordDelete']);
23
		$modification = $gestion_observation->modifierObservationPublique($utilisateur, $id, $pairs);
43
 
-
 
44
		$modification = $gestion_observation->modifierObservationPublique($utilisateur, $id, $pairs);
-
 
45
		if($modification) {
-
 
46
			// quel impact de ces valeurs de retour ?
-
 
47
			if($kid = InventoryKeyWordList::getMotsClefId($utilisateur, 'obs', $obsKeywordDelete))
-
 
48
				InventoryKeyWordObsLink::unlinkKeyword($this->config, 'obs', explode(',', $id), $utilisateur, $kid);
24
 
49
			/* if($kid = InventoryKeyWordList::getMotsClefId($utilisateur, 'images', $imgKeywordDelete))
25
		if($modification) {
50
			   InventoryKeyWordObsLink::unlinkKeyword($this->config, 'obs', explode(',', $id), $utilisateur, $kid); */
26
			header("Content-Type: text/plain; charset=utf-8");
51
			header("Content-Type: text/plain; charset=utf-8");
27
			die("OK"); // attention, compatibilité avec ValiderDetermination.php de DEL !
52
			die("OK"); // attention, compatibilité avec ValiderDetermination.php de DEL !
28
		}
53
		}