Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1251 → Rev 1252

/trunk/services/modules/0.1/observations/VoteObservation.php
110,7 → 110,7
// Vérifie si la proposition existe, et la crée sinon
// (cas du vote sur la proposition fabriquée à partir de l'observation originale)
if($ressources[1] == 0) {
$ressources[1] = $this->creerPropositionAPartirObservation($ressources[0]);
$ressources[1] = $this->renvoyerIdOuCreerPropositionDeterminationInitiale($ressources[0]);
}
$insertion = 'INSERT INTO del_commentaire_vote '.
150,6 → 150,27
return $id_commentaire;
}
private function renvoyerIdOuCreerPropositionDeterminationInitiale($id_observation) {
$proposition_existe = $this->propositionInitialeExiste($id_observation);
if(!$proposition_existe) {
$id_proposition = $this->creerPropositionAPartirObservation($id_observation);
} else {
$requete = "SELECT id_commentaire FROM del_commentaire WHERE ce_observation = ".$id_observation." ".
"AND proposition_initiale = 1";
$resultat = $this->bdd->recuperer($requete);
$id_proposition = $resultat['id_commentaire'];
}
return $id_proposition;
}
private function propositionInitialeExiste($id_observation) {
$requete = "SELECT COUNT(*) >= 1 as existe FROM del_commentaire WHERE ce_observation = ".$id_observation." ".
"AND proposition_initiale = 1";
$resultat = $this->bdd->recuperer($requete);
return $resultat['existe'] == 1;
}
private function creerPropositionAPartirObservation($id_observation) {
$insertion = 'INSERT IGNORE INTO del_commentaire '.
187,7 → 208,7
// (cas où l'on vient de voter pour celle et cela a créé la proposition, puis
// on revote pour celle ci en changeant d'avis sans recharger la page)
if($ressources[1] == 0) {
$id_proposition = $this->renvoyerIdPropositionObservation($ressources[0]);
$id_proposition = $this->renvoyerIdOuCreerPropositionDeterminationInitiale($ressources[0]);
if($id_proposition == null) {
$this->envoyerMessageErreurIdProposition();
exit;