105,20 → 105,7 |
$idUtilisateurP = $this->bdd->proteger($this->parametres['utilisateur']); |
$valeurP = $this->bdd->proteger($this->parametres['valeur']); |
|
$gestion_utilisateur = $this->conteneur->getUtilisateur(); |
$utilisateur = $gestion_utilisateur->getUtilisateur(); |
// Si l'utilisateur n'est pas identifié on vérifie que le protocole n'impose |
// pas d'être connecté pour voter, et le cas échéant, on refuse le vote |
if(!$utilisateur['connecte']) { |
$requete_proto_identifie = 'SELECT identifie FROM del_image_protocole '. |
'WHERE id_protocole = '.$idProtocoleP; |
$proto_identifie = $this->bdd->recuperer($requete_proto_identifie); |
|
if($proto_identifie['identifie'] == 1) { |
$msg = "Ce protocole nécéssite d'être identifié pour voter."; |
throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR); |
} |
} |
$this->verifierAutorisationProtocoleIdentifie($this->parametres['protocole'], $this->parametres['utilisateur']); |
|
$requete = 'INSERT INTO del_image_vote (ce_image, ce_protocole, ce_utilisateur, valeur, date) '. |
"VALUES ( $idImgP, $idProtocoleP, $idUtilisateurP, $valeurP, NOW()) ". |
186,7 → 173,9 |
$idImgP = $this->bdd->proteger($this->ressources[0]); |
$idProtocoleP = $this->bdd->proteger($this->parametres['protocole']); |
$idUtilisateurP = $this->bdd->proteger($this->parametres['utilisateur']); |
// @SECURE vérifier que l'utilisateur qui modifie son vote est bien celui qui est connecté |
|
$this->verifierAutorisationProtocoleIdentifie($this->parametres['protocole'], $this->parametres['utilisateur']); |
|
$requete = 'UPDATE del_image_vote '. |
"SET valeur = $valeurP, date = NOW() ". |
"WHERE ce_image = $idImgP AND ce_protocole = $idProtocoleP AND ce_utilisateur = $idUtilisateurP ". |
256,6 → 245,38 |
} |
return $infos; |
} |
|
private function verifierAutorisationProtocoleIdentifie($idProtocole, $idUtilisateur) { |
|
$idProtocoleP = $this->bdd->proteger($idProtocole); |
|
$gestion_utilisateur = $this->conteneur->getUtilisateur(); |
$utilisateur = $gestion_utilisateur->getUtilisateur(); |
|
$utilisateurAComparer = $gestion_utilisateur->getIdAnonymeTemporaire(); |
|
// Si l'utilisateur n'est pas identifié on vérifie que le protocole n'impose |
// pas d'être connecté pour voter, et le cas échéant, on refuse le vote |
if(!$utilisateur['connecte']) { |
$requete_proto_identifie = 'SELECT identifie FROM del_image_protocole '. |
'WHERE id_protocole = '.$idProtocoleP; |
$proto_identifie = $this->bdd->recuperer($requete_proto_identifie); |
|
if($proto_identifie['identifie'] == 1) { |
$msg = "Ce protocole nécéssite d'être identifié pour voter."; |
throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR); |
} |
} else { |
$utilisateurAComparer = $utilisateur['id_utilisateur']; |
} |
|
// Sinon on vérifie tout de même que la personne identifiée est bien celle |
// associée aux votes dans les paramètres |
if($utilisateurAComparer != $idUtilisateur) { |
$msg = "L'utilisateur identifié et l'utilisateur du vote ne correspondent pas."; |
throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR); |
} |
} |
|
private function verifierAutorisationSuppression($voteInfos) { |
$gestion_utilisateur = $this->conteneur->getUtilisateur(); |