Line 103... |
Line 103... |
103 |
$idImgP = $this->bdd->proteger($this->ressources[0]);
|
103 |
$idImgP = $this->bdd->proteger($this->ressources[0]);
|
104 |
$idProtocoleP = $this->bdd->proteger($this->parametres['protocole']);
|
104 |
$idProtocoleP = $this->bdd->proteger($this->parametres['protocole']);
|
105 |
$idUtilisateurP = $this->bdd->proteger($this->parametres['utilisateur']);
|
105 |
$idUtilisateurP = $this->bdd->proteger($this->parametres['utilisateur']);
|
106 |
$valeurP = $this->bdd->proteger($this->parametres['valeur']);
|
106 |
$valeurP = $this->bdd->proteger($this->parametres['valeur']);
|
Line 107... |
Line -... |
107 |
|
- |
|
108 |
$gestion_utilisateur = $this->conteneur->getUtilisateur();
|
- |
|
109 |
$utilisateur = $gestion_utilisateur->getUtilisateur();
|
107 |
|
110 |
// Si l'utilisateur n'est pas identifié on vérifie que le protocole n'impose
|
- |
|
111 |
// pas d'être connecté pour voter, et le cas échéant, on refuse le vote
|
- |
|
112 |
if(!$utilisateur['connecte']) {
|
- |
|
113 |
$requete_proto_identifie = 'SELECT identifie FROM del_image_protocole '.
|
- |
|
114 |
'WHERE id_protocole = '.$idProtocoleP;
|
- |
|
115 |
$proto_identifie = $this->bdd->recuperer($requete_proto_identifie);
|
- |
|
116 |
|
- |
|
117 |
if($proto_identifie['identifie'] == 1) {
|
- |
|
118 |
$msg = "Ce protocole nécéssite d'être identifié pour voter.";
|
- |
|
119 |
throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR);
|
- |
|
120 |
}
|
- |
|
Line 121... |
Line 108... |
121 |
}
|
108 |
$this->verifierAutorisationProtocoleIdentifie($this->parametres['protocole'], $this->parametres['utilisateur']);
|
122 |
|
109 |
|
123 |
$requete = 'INSERT INTO del_image_vote (ce_image, ce_protocole, ce_utilisateur, valeur, date) '.
|
110 |
$requete = 'INSERT INTO del_image_vote (ce_image, ce_protocole, ce_utilisateur, valeur, date) '.
|
Line 184... |
Line 171... |
184 |
public function modifierVote() {
|
171 |
public function modifierVote() {
|
185 |
$valeurP = $this->bdd->proteger($this->parametres['valeur']);
|
172 |
$valeurP = $this->bdd->proteger($this->parametres['valeur']);
|
186 |
$idImgP = $this->bdd->proteger($this->ressources[0]);
|
173 |
$idImgP = $this->bdd->proteger($this->ressources[0]);
|
187 |
$idProtocoleP = $this->bdd->proteger($this->parametres['protocole']);
|
174 |
$idProtocoleP = $this->bdd->proteger($this->parametres['protocole']);
|
188 |
$idUtilisateurP = $this->bdd->proteger($this->parametres['utilisateur']);
|
175 |
$idUtilisateurP = $this->bdd->proteger($this->parametres['utilisateur']);
|
- |
|
176 |
|
189 |
// @SECURE vérifier que l'utilisateur qui modifie son vote est bien celui qui est connecté
|
177 |
$this->verifierAutorisationProtocoleIdentifie($this->parametres['protocole'], $this->parametres['utilisateur']);
|
- |
|
178 |
|
190 |
$requete = 'UPDATE del_image_vote '.
|
179 |
$requete = 'UPDATE del_image_vote '.
|
191 |
"SET valeur = $valeurP, date = NOW() ".
|
180 |
"SET valeur = $valeurP, date = NOW() ".
|
192 |
"WHERE ce_image = $idImgP AND ce_protocole = $idProtocoleP AND ce_utilisateur = $idUtilisateurP ".
|
181 |
"WHERE ce_image = $idImgP AND ce_protocole = $idProtocoleP AND ce_utilisateur = $idUtilisateurP ".
|
193 |
' -- '.__FILE__.' : '.__LINE__;
|
182 |
' -- '.__FILE__.' : '.__LINE__;
|
Line 254... |
Line 243... |
254 |
$msg = "Aucun vote ne correspond à l'identifiant $idVoteP.";
|
243 |
$msg = "Aucun vote ne correspond à l'identifiant $idVoteP.";
|
255 |
throw new Exception($msg, RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE);
|
244 |
throw new Exception($msg, RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE);
|
256 |
}
|
245 |
}
|
257 |
return $infos;
|
246 |
return $infos;
|
258 |
}
|
247 |
}
|
- |
|
248 |
|
- |
|
249 |
private function verifierAutorisationProtocoleIdentifie($idProtocole, $idUtilisateur) {
|
- |
|
250 |
|
- |
|
251 |
$idProtocoleP = $this->bdd->proteger($idProtocole);
|
- |
|
252 |
|
- |
|
253 |
$gestion_utilisateur = $this->conteneur->getUtilisateur();
|
- |
|
254 |
$utilisateur = $gestion_utilisateur->getUtilisateur();
|
- |
|
255 |
|
- |
|
256 |
$utilisateurAComparer = $gestion_utilisateur->getIdAnonymeTemporaire();
|
- |
|
257 |
|
- |
|
258 |
// Si l'utilisateur n'est pas identifié on vérifie que le protocole n'impose
|
- |
|
259 |
// pas d'être connecté pour voter, et le cas échéant, on refuse le vote
|
- |
|
260 |
if(!$utilisateur['connecte']) {
|
- |
|
261 |
$requete_proto_identifie = 'SELECT identifie FROM del_image_protocole '.
|
- |
|
262 |
'WHERE id_protocole = '.$idProtocoleP;
|
- |
|
263 |
$proto_identifie = $this->bdd->recuperer($requete_proto_identifie);
|
- |
|
264 |
|
- |
|
265 |
if($proto_identifie['identifie'] == 1) {
|
- |
|
266 |
$msg = "Ce protocole nécéssite d'être identifié pour voter.";
|
- |
|
267 |
throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR);
|
- |
|
268 |
}
|
- |
|
269 |
} else {
|
- |
|
270 |
$utilisateurAComparer = $utilisateur['id_utilisateur'];
|
- |
|
271 |
}
|
- |
|
272 |
|
- |
|
273 |
// Sinon on vérifie tout de même que la personne identifiée est bien celle
|
- |
|
274 |
// associée aux votes dans les paramètres
|
- |
|
275 |
if($utilisateurAComparer != $idUtilisateur) {
|
- |
|
276 |
$msg = "L'utilisateur identifié et l'utilisateur du vote ne correspondent pas.";
|
- |
|
277 |
throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR);
|
- |
|
278 |
}
|
- |
|
279 |
}
|
Line 259... |
Line 280... |
259 |
|
280 |
|
260 |
private function verifierAutorisationSuppression($voteInfos) {
|
281 |
private function verifierAutorisationSuppression($voteInfos) {
|
261 |
$gestion_utilisateur = $this->conteneur->getUtilisateur();
|
282 |
$gestion_utilisateur = $this->conteneur->getUtilisateur();
|
262 |
$utilisateur = $gestion_utilisateur->getUtilisateur();
|
283 |
$utilisateur = $gestion_utilisateur->getUtilisateur();
|