Subversion Repositories eFlore/Applications.del

Rev

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

Rev 841 Rev 855
Line 36... Line 36...
36
		RestServeur::envoyerEnteteStatutHttp(RestServeur::HTTP_CODE_METHODE_NON_AUTORISE);
36
		RestServeur::envoyerEnteteStatutHttp(RestServeur::HTTP_CODE_METHODE_NON_AUTORISE);
37
		RestServeur::ajouterMessage("Le service 'observation/#id/#id_proposition/vote' n'autorise pas la consultation.");
37
		RestServeur::ajouterMessage("Le service 'observation/#id/#id_proposition/vote' n'autorise pas la consultation.");
38
	}
38
	}
Line 39... Line 39...
39
	
39
	
-
 
40
	public function ajouter($ressources, $parametres) {
-
 
41
		
-
 
42
		//TODO: vérifier si la proposition existe, et la créer sinon
-
 
43
		// (cas du vote sur la proposition fabriquée à partir de l'observation originale)
-
 
44
		
-
 
45
		$this->verifierParametresAjoutModif($ressources, $parametres);
40
	public function ajouter($ressources, $parametres) {
46
		
41
		$insertion = 'INSERT INTO del_commentaire_vote '.
47
		$insertion = 'INSERT INTO del_commentaire_vote '.
42
							'(ce_proposition , ce_utilisateur , valeur , date) '.
48
							'(ce_proposition , ce_utilisateur , valeur , date) '.
43
							'VALUES ('.$this->proteger($ressources[1]).','.$this->proteger($parametres['utilisateur']).','.
49
							'VALUES ('.$this->proteger($ressources[1]).','.$this->proteger($parametres['utilisateur']).','.
44
							$this->proteger($parametres['valeur']).', NOW());';
50
							$this->proteger($parametres['valeur']).', NOW());';
Line 49... Line 55...
49
			RestServeur::envoyerEnteteStatutHttp(RestServeur::HTTP_CODE_CREATION_OK);
55
			RestServeur::envoyerEnteteStatutHttp(RestServeur::HTTP_CODE_CREATION_OK);
50
		}
56
		}
51
	}
57
	}
Line 52... Line 58...
52
	
58
	
-
 
59
	public function modifier($ressources, $parametres) {
-
 
60
		
-
 
61
		$this->verifierParametresAjoutModif($ressources, $parametres);
53
	public function modifier($ressources, $parametres) {
62
		
54
		$modification = 'UPDATE del_commentaire_vote '.
63
		$modification = 'UPDATE del_commentaire_vote '.
55
						'SET valeur ='.$this->proteger($parametres['valeur']).', '.
64
						'SET valeur ='.$this->proteger($parametres['valeur']).', '.
56
						'date = NOW() '.
65
						'date = NOW() '.
57
						'WHERE '.
66
						'WHERE '.
Line 63... Line 72...
63
		} else {
72
		} else {
64
			RestServeur::envoyerEnteteStatutHttp(RestServeur::HTTP_CODE_OK);
73
			RestServeur::envoyerEnteteStatutHttp(RestServeur::HTTP_CODE_OK);
65
		}
74
		}
66
	}
75
	}
Line -... Line 76...
-
 
76
	
-
 
77
	public function verifierParametresAjoutModif($ressources, $parametres) {
-
 
78
		$erreurs = array();
-
 
79
		if (!is_numeric($ressources[1])) {
-
 
80
			$erreurs[] = '- le paramètre indiquant l\'identifiant de la proposition doit être numérique ;';
-
 
81
		}
-
 
82
			
-
 
83
		if (!isset($parametres['utilisateur'])) {
-
 
84
			$erreurs[] = '- paramètre "utilisateur" manquant ;';
-
 
85
		}
-
 
86
			
-
 
87
		if (!isset($parametres['valeur'])) {
-
 
88
			$erreurs[] = '- paramètre "valeur" manquant ;';
-
 
89
		} else {
-
 
90
			if (!is_numeric($parametres['valeur'])) {
-
 
91
				$erreurs[] = '- le paramètre "valeur" doit être numérique ;';
-
 
92
			} elseif($parametres['valeur'] != 0 && $parametres['valeur'] != 1) {
-
 
93
				$erreurs[] = '- le paramètre "valeur" ne peut prendre que les valeur 0 ou 1 ;';
-
 
94
			}
-
 
95
		}
-
 
96
			
-
 
97
		if (!empty($erreurs)) {
-
 
98
			$e = 'Erreur lors de la configuration : '."\n";
-
 
99
			$e .= implode("\n", $erreurs);
-
 
100
			RestServeur::ajouterMessage($e);
-
 
101
			throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
-
 
102
		}
-
 
103
	}
67
	
104
	
68
	protected function proteger($valeur) {
105
	protected function proteger($valeur) {
69
		if (is_array($valeur)) {
106
		if (is_array($valeur)) {
70
			return $this->bdd->protegerTableau($valeur);
107
			return $this->bdd->protegerTableau($valeur);
71
		} else {
108
		} else {