Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1803 Rev 1805
Line 21... Line 21...
21
	private $navigation;
21
	private $navigation;
22
	private $bdd;
22
	private $bdd;
23
	private $parametres = array();
23
	private $parametres = array();
Line 24... Line 24...
24
 
24
 
-
 
25
	private $mapping = array();
Line 25... Line 26...
25
	private $mapping = array();
26
	private $erreurs = array();
26
 
27
 
27
	public function __construct(Conteneur $conteneur) {
28
	public function __construct(Conteneur $conteneur) {
28
		$this->conteneur = $conteneur;
29
		$this->conteneur = $conteneur;
Line 46... Line 47...
46
 
47
 
47
		return $resultat;
48
		return $resultat;
Line 48... Line 49...
48
	}
49
	}
49
 
-
 
50
	private function verifierParametres() {
-
 
51
		$erreurs = array();
50
 
52
 
51
	private function verifierParametres() {
53
		if (!isset($this->parametres['observation'])) {
52
		if (!isset($this->parametres['observation'])) {
Line 54... Line 53...
54
			$erreurs[] = "Impossible d'ajouter un commentaire sans identifiant d'observation (paramètre 'observation').";
53
			$this->erreurs[] = "Impossible d'ajouter un commentaire sans identifiant d'observation (paramètre 'observation').";
55
		}
-
 
56
 
-
 
57
		if (!isset($this->parametres['auteur.id'])) {
-
 
58
			$paramsAuteur = array('auteur.nom', 'auteur.prenom', 'auteur.courriel');
-
 
59
			$paramsAuteurManquant = array();
-
 
60
			foreach ($paramsAuteur as $param) {
-
 
61
				if (!isset($this->parametres[$param])) {
-
 
62
					$paramsAuteurManquant[] = $param;
54
		}
63
				}
-
 
64
			}
-
 
65
			if (!empty($paramsAuteurManquant)) {
-
 
66
				$msgAuteurTpl = "Si le parametre 'auteur.id' n'est pas utilisé, il est nécessaire d'indiquer les ".
-
 
67
				"nom (paramètre 'auteur.nom'), prénom (paramètre 'auteur.prenom') et courriel ".
-
 
68
				"(paramètre 'auteur.courriel') de l'auteur.\nLes paramètres suivant sont abscents : %s\n";
55
 
Line -... Line 56...
-
 
56
		if (!isset($this->parametres['auteur.id'])) {
-
 
57
			$this->verifierParamsAuteurAnonyme();
69
				$erreurs[] = sprintf($msgAuteurTpl, implode(', ', $paramsAuteurManquant));
58
		}
70
			}
59
 
71
		}
60
		$this->verifierParamsNonVide();
Line 72... Line -...
72
 
-
 
73
		if (isset($this->parametres['nom_sel']) && trim($this->parametres['nom_sel']) == '' ) {
61
 
74
			$erreurs[] = "S'il est présent le paramètre «nom_sel» ne peut pas être vide.";
62
		if (isset($this->parametres['nom_sel_nn']) && !isset($this->parametres['nom_referentiel'])) {
75
		}
63
			$this->erreurs[] = "Si le paramètre «nom_sel_nn» est présent, le paramètre «nom_referentiel» doit l'être aussi.";
76
 
64
		}
77
		//TODO : Gérer le cas d'une proposition
65
 
Line -... Line 66...
-
 
66
		if (!empty($this->erreurs)) {
-
 
67
			$msg = "Erreur de configuration :\n".implode("\n\n", $this->erreurs);
-
 
68
			throw new Exception($msg, RestServeur::HTTP_CODE_MAUVAISE_REQUETE);
-
 
69
		}
-
 
70
	}
-
 
71
 
-
 
72
	private function verifierParamsAuteurAnonyme() {
-
 
73
		$paramsAuteur = array('auteur.nom', 'auteur.prenom', 'auteur.courriel');
-
 
74
		$paramsAuteurManquant = array();
-
 
75
		foreach ($paramsAuteur as $param) {
-
 
76
			if (!isset($this->parametres[$param])) {
-
 
77
				$paramsAuteurManquant[] = $param;
-
 
78
			}
-
 
79
		}
-
 
80
 
-
 
81
		if (!empty($paramsAuteurManquant)) {
-
 
82
			$msgAuteurTpl = "Si le parametre 'auteur.id' n'est pas utilisé, il est nécessaire d'indiquer les ".
-
 
83
			"nom (paramètre 'auteur.nom'), prénom (paramètre 'auteur.prenom') et courriel ".
-
 
84
			"(paramètre 'auteur.courriel') de l'auteur.\nLes paramètres suivant sont abscents : %s\n";
-
 
85
			$this->erreurs[] = sprintf($msgAuteurTpl, implode(', ', $paramsAuteurManquant));
-
 
86
		}
-
 
87
	}
-
 
88
 
-
 
89
	private function verifierParamsNonVide() {
-
 
90
		$paramsNonVide = array('nom_sel', 'nom_referentiel', 'nom_sel_nn');
-
 
91
		foreach ($paramsNonVide as $param) {
78
		if (!empty($erreurs)) {
92
			if (isset($this->parametres[$param]) && trim($this->parametres[$param]) == '' ) {
79
			$msg = "Erreur de configuration :\n".implode("\n\n", $erreurs);
93
				$this->erreurs[] = "S'il est présent le paramètre «$param» ne peut pas être vide.";
80
			throw new Exception($msg, RestServeur::HTTP_CODE_MAUVAISE_REQUETE);
94
			}
81
		}
95
		}
82
	}
96
	}