Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1848 Rev 1849
Line 92... Line 92...
92
 
92
 
93
		// Vérifie si la proposition existe, et la crée sinon
93
		// Vérifie si la proposition existe, et la crée sinon
94
		// (cas du vote sur la proposition fabriquée à partir de l'observation originale)
94
		// (cas du vote sur la proposition fabriquée à partir de l'observation originale)
95
		$idProposition = $this->ressources[1];
95
		$idProposition = $this->ressources[1];
96
		if ($idProposition == 0) {
96
		if ($idProposition == 0) {
97
			$idProposition = $this->renvoyerIdOuCreerPropositionDeterminationInitiale($idProposition);
97
			$idProposition = $this->creerPropositionDeterminationInitiale($idProposition);
-
 
98
		}
-
 
99
		$idVote = $this->ajouterVote();
-
 
100
		if ($idVote) {
-
 
101
			$resultat = new ResultatService();
-
 
102
			$resultat->corps = array('id_vote' => $idVote);
-
 
103
			return $resultat;
-
 
104
		}
-
 
105
		return false;
-
 
106
	}
-
 
107
 
-
 
108
	private function ajouterVote() {
98
		}
109
		$idObsP = $this->bdd->proteger($this->ressources[0]);
99
		$idPropositionP = $this->bdd->proteger($idProposition);
110
		$idPropositionP = $this->bdd->proteger($this->ressources[1]);
100
		$idUtilisateurP = $this->bdd->proteger($parametres['utilisateur']);
111
		$idUtilisateurP = $this->bdd->proteger($this->parametres['utilisateur']);
101
		$valeurP = $this->bdd->proteger($parametres['valeur']);
112
		$valeurP = $this->bdd->proteger($this->parametres['valeur']);
102
		$requete = 'INSERT INTO del_commentaire_vote (ce_proposition , ce_utilisateur , valeur , date) '.
113
		$requete = 'INSERT INTO del_commentaire_vote (ce_proposition , ce_utilisateur , valeur , date) '.
103
			"VALUES ($idPropositionP, $idUtilisateurP, $valeurP, NOW()) ".
114
			"VALUES ($idPropositionP, $idUtilisateurP, $valeurP, NOW()) ".
Line 104... Line 115...
104
			' -- '.__FILE__.' : '.__LINE__;
115
			' -- '.__FILE__.' : '.__LINE__;
105
 
116
 
-
 
117
		$resultat = $this->bdd->executer($requete);
106
		$resultats = $this->bdd->requeter($requete);
118
		if ($resultat === false) {
107
		if ($resultats == false) {
119
			$msg = "Un problème est survenu lors de l'ajout d'un vote.";
-
 
120
			throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR);
-
 
121
		} else if ($resultat === 0) {
108
			RestServeur::envoyerEnteteStatutHttp(RestServeur::HTTP_CODE_MAUVAISE_REQUETE);
122
			$msg = "Aucun vote ne correspond au critères fournis : ".
109
		} else {
123
				"idObs -> $idObsP, idProposition -> $idPropositionP et id_utilisateur -> $idUtilisateurP.";
-
 
124
			throw new Exception($msg, RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE);
-
 
125
		}
-
 
126
		// ATTENTION : idVote doit être récupéré avant toute nouvelle requete !
110
			RestServeur::envoyerEnteteStatutHttp(RestServeur::HTTP_CODE_CREATION_OK);
127
		$idVote = $this->bdd->recupererIdDernierAjout();
Line 111... Line 128...
111
		}
128
		return $idVote;
112
	}
129
	}
113
 
130
 
114
	private function renvoyerIdOuCreerPropositionDeterminationInitiale($id_observation) {
131
	private function creerPropositionDeterminationInitiale($id_observation) {
115
		$proposition_existe = $this->propositionInitialeExiste($id_observation);
132
		$proposition_existe = $this->propositionInitialeExiste($id_observation);
116
		if(!$proposition_existe) {
133
		if ($proposition_existe === false) {
117
			$id_proposition = $this->creerPropositionAPartirObservation($id_observation);
134
			$id_proposition = $this->creerPropositionAPartirObservation($id_observation);
118
		} else {
135
		} else {