Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1793 Rev 1813
Line 1... Line 1...
1
<?php
1
<?php
2
// declare(encoding='UTF-8');
2
// declare(encoding='UTF-8');
3
/**
3
/**
4
 * Le web service récupére un identifiant de proposition et appelle un service web externe
4
 * Le web service récupére un identifiant de proposition et appelle un service web externe
5
 * (du cel) afin de modifier le nom de l'observation associée par celui de la proposition
5
 * (du CEL) afin de modifier le nom de l'observation associée par celui de la proposition.
6
 *
6
 *
7
 * @category	php 5.2
7
 * @category   DEL
8
 * @package	del
8
 * @package    Services
9
 * @subpackage images
9
 * @subpackage Determinations
-
 
10
 * @version    0.1
10
 * @author		Aurélien Peronnet <aurelien@tela-botanica.org>
11
 * @author     Mathias CHOUET <mathias@tela-botanica.org>
11
 * @copyright	Copyright (c) 2013, Tela Botanica (accueil@tela-botanica.org)
12
 * @author     Jean-Pascal MILCENT <jpm@tela-botanica.org>
12
 * @license	http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
13
 * @author     Aurelien PERONNET <aurelien@tela-botanica.org>
13
 * @license	http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
14
 * @license    GPL v3 <http://www.gnu.org/licenses/gpl.txt>
14
 * @version	$Id$
15
 * @license    CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
15
 * @see http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=ApiIdentiplante01Images
16
 * @copyright  1999-2014 Tela Botanica <accueil@tela-botanica.org>
16
 */
17
 */
Line 17... Line 18...
17
 
18
 
Line 18... Line 19...
18
class ValiderDetermination {
19
class ValiderDetermination {
Line 24... Line 25...
24
	private $idAuteurObs = null;
25
	private $idAuteurObs = null;
25
	private $idValidateurObs = null;
26
	private $idValidateurObs = null;
Line 26... Line 27...
26
 
27
 
27
	public function __construct(Conteneur $conteneur = null) {
28
	public function __construct(Conteneur $conteneur = null) {
28
		$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
-
 
29
		$this->conteneur->chargerConfiguration('config_determinations.ini');
29
		$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
30
		$this->bdd = $this->conteneur->getBdd();
30
		$this->bdd = $this->conteneur->getBdd();
Line 31... Line 31...
31
	}
31
	}
32
 
32
 
Line 49... Line 49...
49
	}
49
	}
Line 50... Line 50...
50
 
50
 
51
	private function verifierParametres($ressources, $parametres) {
51
	private function verifierParametres($ressources, $parametres) {
52
		$erreurs = array();
52
		$erreurs = array();
53
		if (!is_numeric($ressources[1])) {
53
		if (!is_numeric($ressources[1])) {
54
			$erreurs[] = '- la ressource indiquant l\'identifiant de la proposition doit être numérique';
54
			$erreurs[] = "La ressource indiquant l'identifiant de la proposition doit être numérique.";
Line 55... Line 55...
55
		}
55
		}
56
 
56
 
57
		// Le paramètre auteur.id (id de l'auteur de la détermination)
57
		// Le paramètre auteur.id (id de l'auteur de la détermination)
58
		// est là pour éviter que le $_POST ne soit vide
58
		// est là pour éviter que le $_POST ne soit vide
59
		if (!isset($parametres['auteur.id'])) {
59
		if (!isset($parametres['auteur.id'])) {
60
			$erreurs[] = "- le paramètre 'auteur.id' est manquant";
-
 
61
		}
60
			$erreurs[] = "Le paramètre 'auteur.id' est manquant.";
62
 
61
		}
63
		// Le paramètre validateur.id (id de la personne validant la détemrinatiuon)
62
		// Le paramètre validateur.id (id de la personne validant la détemrinatiuon)
64
		// est là pour éviter que le $_POST ne soit vide
63
		// est là pour éviter que le $_POST ne soit vide
65
		if (isset($parametres['validateur.id']) && !is_numeric($parametres['validateur.id'])) {
64
		if (isset($parametres['validateur.id']) && !is_numeric($parametres['validateur.id'])) {
Line 66... Line 65...
66
			$erreurs[] = "- le paramètre 'validateur.id' doit être un entier";
65
			$erreurs[] = "Le paramètre 'validateur.id' doit être un entier.";
67
		}
66
		}
68
 
67
 
69
		if ($erreurs) {
68
		if ($erreurs) {
70
			$msg = "Erreur dans les paramètres d'appel au web service :\n" . implode("\n", $erreurs);
69
			$msg = "Erreur dans les paramètres d'appel au web service :\n\n" . implode("\n", $erreurs);
Line 71... Line 70...
71
			throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR);
70
			throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR);
72
		}
71
		}
73
	}
72
	}
74
 
73
 
75
	/**
74
	/**
76
	 * 1) récupère l'observation, autrement échec
75
	 * 1) récupère l'observation, autrement échec
77
	 * 2) récupère et l'id auteur de l'obs et vérfie qu'il correspond à l'id de l'utilisateur actuel
76
	 * 2) récupère et l'id auteur de l'obs et vérifie qu'il correspond à l'id de l'utilisateur actuel
78
	 * 3) prépare les nouvelles valeurs à transférer au service CEL
77
	 * 3) prépare les nouvelles valeurs à transférer au service CEL