Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1848 → Rev 1849

/trunk/services/modules/0.1/observations/VoteObservation.php
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 '.