Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1209 Rev 1252
Line 108... Line 108...
108
		$this->verifierParametresAjoutModif($ressources, $parametres);
108
		$this->verifierParametresAjoutModif($ressources, $parametres);
Line 109... Line 109...
109
 
109
 
110
		// Vérifie si la proposition existe, et la crée sinon
110
		// Vérifie si la proposition existe, et la crée sinon
111
		// (cas du vote sur la proposition fabriquée à partir de l'observation originale)
111
		// (cas du vote sur la proposition fabriquée à partir de l'observation originale)
112
		if($ressources[1] == 0) {
112
		if($ressources[1] == 0) {
113
			$ressources[1] = $this->creerPropositionAPartirObservation($ressources[0]);
113
			$ressources[1] = $this->renvoyerIdOuCreerPropositionDeterminationInitiale($ressources[0]);
Line 114... Line 114...
114
		}
114
		}
115
		
115
		
116
		$insertion = 'INSERT INTO del_commentaire_vote '.
116
		$insertion = 'INSERT INTO del_commentaire_vote '.
Line 148... Line 148...
148
		}	
148
		}	
Line 149... Line 149...
149
		
149
		
150
		return $id_commentaire;
150
		return $id_commentaire;
Line -... Line 151...
-
 
151
	}
-
 
152
	
-
 
153
	private function renvoyerIdOuCreerPropositionDeterminationInitiale($id_observation) {
-
 
154
		$proposition_existe = $this->propositionInitialeExiste($id_observation);
-
 
155
		if(!$proposition_existe) {
-
 
156
			$id_proposition = $this->creerPropositionAPartirObservation($id_observation);
-
 
157
		} else {
-
 
158
			$requete = "SELECT id_commentaire FROM del_commentaire WHERE ce_observation = ".$id_observation." ".
-
 
159
					   "AND proposition_initiale = 1";
-
 
160
			$resultat = $this->bdd->recuperer($requete);
-
 
161
			$id_proposition = $resultat['id_commentaire'];
-
 
162
		}
-
 
163
		return $id_proposition;
-
 
164
	}
-
 
165
	
-
 
166
	private function propositionInitialeExiste($id_observation) {
-
 
167
	
-
 
168
		$requete = "SELECT COUNT(*) >= 1 as existe FROM del_commentaire WHERE ce_observation = ".$id_observation." ".
-
 
169
												"AND proposition_initiale = 1";		
-
 
170
		$resultat = $this->bdd->recuperer($requete);
-
 
171
		return $resultat['existe'] == 1;
151
	}
172
	}
Line 152... Line 173...
152
	
173
	
153
	private function creerPropositionAPartirObservation($id_observation) {
174
	private function creerPropositionAPartirObservation($id_observation) {
154
				
175
				
Line 185... Line 206...
185
		// Si l'identifiant de proposition vaut 0, c'est un vote sur une proposition
206
		// Si l'identifiant de proposition vaut 0, c'est un vote sur une proposition
186
		// fabriquée à partir de l'observation originale, dont on doit obtenir l'id
207
		// fabriquée à partir de l'observation originale, dont on doit obtenir l'id
187
		// (cas où l'on vient de voter pour celle et cela a créé la proposition, puis 
208
		// (cas où l'on vient de voter pour celle et cela a créé la proposition, puis 
188
		// on revote pour celle ci en changeant d'avis sans recharger la page)
209
		// on revote pour celle ci en changeant d'avis sans recharger la page)
189
		if($ressources[1] == 0) {
210
		if($ressources[1] == 0) {
190
			$id_proposition = $this->renvoyerIdPropositionObservation($ressources[0]);
211
			$id_proposition = $this->renvoyerIdOuCreerPropositionDeterminationInitiale($ressources[0]);
191
			if($id_proposition == null) {
212
			if($id_proposition == null) {
192
				$this->envoyerMessageErreurIdProposition();
213
				$this->envoyerMessageErreurIdProposition();
193
				exit;
214
				exit;
194
			} else {
215
			} else {
195
				$ressources[1] = $id_proposition;
216
				$ressources[1] = $id_proposition;