94,26 → 94,43 |
// (cas du vote sur la proposition fabriquée à partir de l'observation originale) |
$idProposition = $this->ressources[1]; |
if ($idProposition == 0) { |
$idProposition = $this->renvoyerIdOuCreerPropositionDeterminationInitiale($idProposition); |
$idProposition = $this->creerPropositionDeterminationInitiale($idProposition); |
} |
$idPropositionP = $this->bdd->proteger($idProposition); |
$idUtilisateurP = $this->bdd->proteger($parametres['utilisateur']); |
$valeurP = $this->bdd->proteger($parametres['valeur']); |
$idVote = $this->ajouterVote(); |
if ($idVote) { |
$resultat = new ResultatService(); |
$resultat->corps = array('id_vote' => $idVote); |
return $resultat; |
} |
return false; |
} |
|
private function ajouterVote() { |
$idObsP = $this->bdd->proteger($this->ressources[0]); |
$idPropositionP = $this->bdd->proteger($this->ressources[1]); |
$idUtilisateurP = $this->bdd->proteger($this->parametres['utilisateur']); |
$valeurP = $this->bdd->proteger($this->parametres['valeur']); |
$requete = 'INSERT INTO del_commentaire_vote (ce_proposition , ce_utilisateur , valeur , date) '. |
"VALUES ($idPropositionP, $idUtilisateurP, $valeurP, NOW()) ". |
' -- '.__FILE__.' : '.__LINE__; |
|
$resultats = $this->bdd->requeter($requete); |
if ($resultats == false) { |
RestServeur::envoyerEnteteStatutHttp(RestServeur::HTTP_CODE_MAUVAISE_REQUETE); |
} else { |
RestServeur::envoyerEnteteStatutHttp(RestServeur::HTTP_CODE_CREATION_OK); |
$resultat = $this->bdd->executer($requete); |
if ($resultat === false) { |
$msg = "Un problème est survenu lors de l'ajout d'un vote."; |
throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR); |
} else if ($resultat === 0) { |
$msg = "Aucun vote ne correspond au critères fournis : ". |
"idObs -> $idObsP, idProposition -> $idPropositionP et id_utilisateur -> $idUtilisateurP."; |
throw new Exception($msg, RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE); |
} |
// ATTENTION : idVote doit être récupéré avant toute nouvelle requete ! |
$idVote = $this->bdd->recupererIdDernierAjout(); |
return $idVote; |
} |
|
private function renvoyerIdOuCreerPropositionDeterminationInitiale($id_observation) { |
private function creerPropositionDeterminationInitiale($id_observation) { |
$proposition_existe = $this->propositionInitialeExiste($id_observation); |
if(!$proposition_existe) { |
if ($proposition_existe === false) { |
$id_proposition = $this->creerPropositionAPartirObservation($id_observation); |
} else { |
$requete = 'SELECT id_commentaire '. |