Subversion Repositories eFlore/Applications.del

Rev

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

Rev 2063 Rev 2067
Line 170... Line 170...
170
			
170
			
171
			$evenements = $this->sql->getEvenementsObs($idsObsConcat, $id_utilisateur);			
171
			$evenements = $this->sql->getEvenementsObs($idsObsConcat, $id_utilisateur);			
Line 172... Line 172...
172
			$this->evenements_obs = array();
172
			$this->evenements_obs = array();
173
			
173
			
174
			foreach($evenements as &$evenement) {
-
 
175
				$this->affecterTypeEvenement($evenement, $id_utilisateur);
174
			foreach($evenements as &$evenement) {
176
				$this->evenementsObs[$evenement['id_observation']][] = $evenement['type'];
175
				$this->affecterTypeEvenement($evenement, $id_utilisateur, $evenement['id_observation']);
Line 177... Line 176...
177
			}
176
			}
178
	}
177
	}
-
 
178
 
-
 
179
	private function affecterTypeEvenement(&$evenement, $id_utilisateur, $id_observation) {
-
 
180
 
179
 
181
		$type = "";
180
	private function affecterTypeEvenement(&$evenement, $id_utilisateur) {
182
		$infos = "";
181
				
183
		
182
		// La date maximale détermine le type d'évènement
184
		// La date maximale détermine le type d'évènement
183
		switch($evenement['date_max']) {
185
		switch($evenement['date_max']) {
184
			// Quelqu'un a fait un nouveau commentaire ou proposition
186
			// Quelqu'un a fait un nouveau commentaire ou proposition
-
 
187
			case $evenement['date_com']:
185
			case $evenement['date_com']:
188
				if(!empty($evenement['nom_sel_com'])) {
186
				if(!empty($evenement['nom_sel_com'])) {
189
					$type = 'nouvelle_proposition';
-
 
190
					$infos = $evenement['proposition_commentaire_nom_sel'];
187
					$type = 'nouvelle_proposition';
191
				} else {
Line 188... Line 192...
188
				} else {
192
					$type = 'nouveau_commentaire';
189
					$type = 'nouveau_commentaire';
193
					$infos = $evenement['proposition_commentaire_texte'];
190
				}
194
				}
Line 201... Line 205...
201
			case $evenement['date_com_reponse']:
205
			case $evenement['date_com_reponse']:
202
					if(!empty($evenement['nom_sel_com_parent'])) {
206
					if(!empty($evenement['nom_sel_com_parent'])) {
203
						$type = 'nouvelle_reponse_autre_sur_proposition_vous';
207
						$type = 'nouvelle_reponse_autre_sur_proposition_vous';
204
					} else {
208
					} else {
205
						$type = 'nouvelle_reponse_autre_sur_commentaire_vous';
209
						$type = 'nouvelle_reponse_autre_sur_commentaire_vous';
206
					}
210
					}
-
 
211
					$infos = $evenement['proposition_commentaire_texte_commente'];
207
				break;
212
				break;
208
				// Quelqu'un a fait un nouveau vote
213
				// Quelqu'un a fait un nouveau vote
209
			case $evenement['date_vote']:
214
			case $evenement['date_vote']:
210
				$type = 'nouveau_vote';
215
				$type = 'nouveau_vote';
211
				// Sur une proposition qui n'est pas à moi sur une observation à moi
216
				// Sur une proposition qui n'est pas à moi sur une observation à moi
212
				if($evenement['utilisateur_commentaire_vote'] != $evenement['utilisateur_observation'] && $evenement['utilisateur_commentaire_vote'] != $id_utilisateur) {
217
				if($evenement['utilisateur_commentaire_vote'] != $evenement['utilisateur_observation'] && $evenement['utilisateur_commentaire_vote'] != $id_utilisateur) {
213
					$type .= "_autre_sur_com_autre_obs_vous";
218
					$type .= "_autre_sur_com_autre_obs_vous";
214
				} else {
219
				} else {
215
					// Sur une proposition qui est à moi sur une observation (à moi ou non)
220
					// Sur une proposition qui est à moi sur une observation (à moi ou non)
216
					$type .= "_autre_sur_com_vous";
221
					$type .= "_autre_sur_com_vous";
217
				}				 
222
				}	
-
 
223
				$infos = $evenement['proposition_commentaire_nom_sel_votee'];	
218
				break;
224
				break;
Line 219... Line 225...
219
		
225
		
220
				// Quelqu'un a validé une proposition
226
				// Quelqu'un a validé une proposition
221
			case $evenement['date_validation']:
227
			case $evenement['date_validation']:
-
 
228
				$type = "nouvelle_validation_autre_sur_prop_vous";
222
				$type = "nouvelle_validation_autre_sur_prop_vous";
229
				$infos = $evenement['proposition_validee_nom_sel'];
223
				// $type = "nouvelle_validation_vous_a_prop_autre";
230
				// $type = "nouvelle_validation_vous_a_prop_autre";
224
				break;
231
				break;
225
				// Cas qui ne devrait jamais arriver
232
				// Cas qui ne devrait jamais arriver
226
			default:
233
			default:
-
 
234
				$type = 'inconnu';
-
 
235
				$infos = "";
-
 
236
		}
-
 
237
		
-
 
238
		$infos_evts = array('type' => $type, 'infos_complementaires' => $infos);
-
 
239
		// La requête est un peu trop complexe et certains évènements sortent en doublons
-
 
240
		// donc on dédoublonne ici (mais ça n'est pas une solution pérenne)
-
 
241
		// TODO: optimiser et simplifier ceci
-
 
242
		if(empty($this->evenementsObs[$id_observation])) {
-
 
243
			$this->evenementsObs[$id_observation] = array();
-
 
244
		}
-
 
245
		if(array_search($infos_evts, $this->evenementsObs[$id_observation]) === false) {
227
				$type = 'inconnu';
246
			$this->evenementsObs[$id_observation][] = $infos_evts;
228
		}
-
 
229
		$evenement['type'] = $type;
247
		}
Line 230... Line 248...
230
	}
248
	}
231
 
249
 
232
	/**
250
	/**