Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1773 Rev 1793
Line 16... Line 16...
16
 */
16
 */
Line 17... Line 17...
17
 
17
 
Line 18... Line 18...
18
class ValiderDetermination {
18
class ValiderDetermination {
19
 
-
 
20
	private $conteneur;
19
 
21
	private $gestionBdd;
20
	private $conteneur;
22
	private $bdd;
21
	private $bdd;
23
	private $idObs = null;
22
	private $idObs = null;
24
	private $idProposition = null;
23
	private $idProposition = null;
Line 25... Line 24...
25
	private $idAuteurObs = null;
24
	private $idAuteurObs = null;
26
	private $idValidateurObs = null;
25
	private $idValidateurObs = null;
27
 
26
 
28
	public function __construct(Conteneur $conteneur = null) {
-
 
29
		$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
27
	public function __construct(Conteneur $conteneur = null) {
30
		$this->conteneur->chargerConfiguration('config_determinations.ini');
28
		$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
Line 31... Line 29...
31
		$this->gestionBdd = $conteneur->getGestionBdd();
29
		$this->conteneur->chargerConfiguration('config_determinations.ini');
32
		$this->bdd = $this->gestionBdd->getBdd();
30
		$this->bdd = $this->conteneur->getBdd();
33
	}
31
	}
Line 43... Line 41...
43
			$code = RestServeur::HTTP_CODE_ERREUR;
41
			$code = RestServeur::HTTP_CODE_ERREUR;
44
			throw new Exception($msg, $code);
42
			throw new Exception($msg, $code);
45
		}
43
		}
46
		return 'OK';
44
		return 'OK';
47
	}
45
	}
48
	
46
 
49
	private function validateurEstPresent($parametres) {
47
	private function validateurEstPresent($parametres) {
50
		return isset($parametres['validateur.id']) && is_numeric($parametres['validateur.id']) && $parametres['validateur.id'] != 0;
48
		return isset($parametres['validateur.id']) && is_numeric($parametres['validateur.id']) && $parametres['validateur.id'] != 0;
51
	}
49
	}
Line 52... Line 50...
52
 
50
 
Line 59... Line 57...
59
		// 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)
60
		// est là pour éviter que le $_POST ne soit vide
58
		// est là pour éviter que le $_POST ne soit vide
61
		if (!isset($parametres['auteur.id'])) {
59
		if (!isset($parametres['auteur.id'])) {
62
			$erreurs[] = "- le paramètre 'auteur.id' est manquant";
60
			$erreurs[] = "- le paramètre 'auteur.id' est manquant";
63
		}
61
		}
64
		
62
 
65
		// Le paramètre validateur.id (id de la personne validant la détemrinatiuon)
63
		// Le paramètre validateur.id (id de la personne validant la détemrinatiuon)
66
		// est là pour éviter que le $_POST ne soit vide
64
		// est là pour éviter que le $_POST ne soit vide
67
		if (isset($parametres['validateur.id']) && !is_numeric($parametres['validateur.id'])) {
65
		if (isset($parametres['validateur.id']) && !is_numeric($parametres['validateur.id'])) {
68
			$erreurs[] = "- le paramètre 'validateur.id' doit être un entier";
66
			$erreurs[] = "- le paramètre 'validateur.id' doit être un entier";
69
		}
67
		}
Line 70... Line 68...
70
 
68
 
71
		if ($erreurs) {
69
		if ($erreurs) {
72
			$msg = "Erreur dans les paramètres d'appel au web service :\n" . implode("\n", $erreurs);
70
			$msg = "Erreur dans les paramètres d'appel au web service :\n" . implode("\n", $erreurs);
Line 129... Line 127...
129
 
127
 
130
	private function verifierDroitUtilisateur() {
128
	private function verifierDroitUtilisateur() {
131
		$controleAcces = $this->conteneur->getControleAcces();
129
		$controleAcces = $this->conteneur->getControleAcces();
132
		$utilisateurInfos = $controleAcces->getInfosUtilisateurConnecte();
130
		$utilisateurInfos = $controleAcces->getInfosUtilisateurConnecte();
133
		$utilisateurId = $utilisateurInfos['id_utilisateur'];
131
		$utilisateurId = $utilisateurInfos['id_utilisateur'];
134
		
132
 
135
		// si l'utilisateur connecté n'est ni auteur de l'observation, ni au moins administrateur de niveau 1
133
		// si l'utilisateur connecté n'est ni auteur de l'observation, ni au moins administrateur de niveau 1
136
		if (($this->idAuteurObs != $utilisateurId) && $utilisateurInfos['admin'] < 1) {
134
		if (($this->idAuteurObs != $utilisateurId) && $utilisateurInfos['admin'] < 1) {
137
			$msg = "Seul l'utilisateur ayant saisi l'observation, un administrateur ou un validateur peut la valider : veuillez vous identifier.\n";
135
			$msg = "Seul l'utilisateur ayant saisi l'observation, un administrateur ou un validateur peut la valider : veuillez vous identifier.\n";
138
			throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR);
136
			throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR);