Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1280 Rev 1358
Line 44... Line 44...
44
		
44
		
45
		// Gestion des configuration du script
45
		// Gestion des configuration du script
46
		$this->configurer($ressources);
46
		$this->configurer($ressources);
Line 47... Line -...
47
		$this->verifierConfiguration();
-
 
48
		
47
		$this->verifierConfiguration();
49
		
48
		
50
		// Lancement du service
49
		// Lancement du service
-
 
50
		$liaisons = $this->chargerLiaisons();
51
		$liaisons = $this->chargerLiaisons();
51
		$observation = $this->chargerObservation($liaisons);
-
 
52
		// modifie $observation
52
		$observation = $this->chargerObservation($liaisons);
53
		$this->chargerImages($observation);
Line 53... Line 54...
53
		$observation = $this->chargerImages($observation);
54
		// modifie $observation
54
		$observation = $this->chargerCommentaires($observation);
55
		$this->chargerCommentaires($observation);
55
		
56
		
56
		// Mettre en forme le résultat et l'envoyer pour affichage
57
		// Mettre en forme le résultat et l'envoyer pour affichage
Line 167... Line 168...
167
	
168
	
168
	/**
169
	/**
169
	 * Sélectionner toutes les images de chaque observation
170
	 * Sélectionner toutes les images de chaque observation
170
	 * @param array $observations la liste des observations 
171
	 * @param array $observations la liste des observations 
171
	 * */
172
	 * */
-
 
173
	private function chargerImages(&$observation) {
172
	private function chargerImages($observation) {
174
		$images = $this->bdd->recupererTous(sprintf(
173
		$requeteImages = 'SELECT * FROM '. $this->gestionBdd->formaterTable('del_obs_image', 'doi').
175
			'SELECT * FROM %s INNER JOIN %s ON doi.id_image = di.id_image WHERE doi.id_observation = %d',
174
						 'INNER JOIN '.$this->gestionBdd->formaterTable('del_image', 'di').
176
			$this->gestionBdd->formaterTable('del_obs_image', 'doi'),
175
						 'ON doi.id_image = di.id_image '.
177
			$this->gestionBdd->formaterTable('del_image', 'di'),
176
						 'WHERE doi.id_observation = '.$observation['id_observation'];
-
 
177
			
178
			$observation['id_observation']));
178
		$images = $this->bdd->recupererTous($requeteImages);
179
		if(!$images) return;
-
 
180
		$images = $this->formaterImages($images);
179
		$images = $this->formaterImages($images);
181
		// modifie $images
180
		$images = $this->chargerVotesImage($images);
182
		$this->chargerVotesImage($images);
181
		$observation['images'] = $images;
-
 
182
		
-
 
183
		return $observation;
183
		$observation['images'] = $images;
Line 184... Line 184...
184
	}
184
	}
185
	
185
	
186
	/**
186
	/**
187
	* Charger les votes pour chaque image
187
	* Charger les votes pour chaque image
188
	* */
188
	* */
-
 
189
	private function chargerVotesImage(&$images) {
189
	private function chargerVotesImage($images) {
190
		$resultatsVotes = $this->bdd->recupererTous(sprintf(
190
		$requeteVotes = 'SELECT v.*, p.* FROM '.
-
 
191
		$this->gestionBdd->formaterTable('del_image_vote', 'v').
-
 
192
									' INNER JOIN del_image_protocole p '.
191
			'SELECT v.*, p.* FROM %s INNER JOIN del_image_protocole p ON v.ce_protocole = p.id_protocole %s -- %s',
-
 
192
			$this->gestionBdd->formaterTable('del_image_vote', 'v'),
193
										'ON v.ce_protocole = p.id_protocole '.
193
			$this->chargerClauseWhereVotesImage(),
Line 194... Line 194...
194
		$this->chargerClauseWhereVotesImage();
194
			__FILE__ . ':' . __LINE__));
195
		$resultatsVotes = $this->bdd->recupererTous($requeteVotes);
-
 
196
 
195
		if(!$resultatsVotes) return;
197
		$votes = $this->formaterVotesImages($resultatsVotes);
196
 
198
 
197
		$votes = $this->formaterVotesImages($resultatsVotes);
199
		foreach ($images as $id => $image) {
198
		foreach ($images as $id => $image) {
200
			if (isset($votes[$image['id_image']])) {
199
			if (isset($votes[$image['id_image']])) {
201
				foreach($votes[$image['id_image']] as $id_vote => $vote_image) {
200
				foreach($votes[$image['id_image']] as $id_vote => $vote_image) {
202
					$images[$id]['protocoles_votes'][$id_vote] = $vote_image;
201
					$images[$id]['protocoles_votes'][$id_vote] = $vote_image;
203
				}
-
 
204
			}
-
 
205
		}
202
				}
Line 206... Line 203...
206
	
203
			}
207
		return $images;
204
		}
208
	}
205
	}
Line 222... Line 219...
222
	
219
	
223
	/**
220
	/**
224
	* Récupérer tous les commentaires au total
221
	* Récupérer tous les commentaires au total
225
	* @param array $observations la liste des observations à mettre à jour
222
	* @param array $observations la liste des observations à mettre à jour
226
	* */
223
	* */
227
	private function chargerCommentaires($observation) {
-
 
228
		
224
	private function chargerCommentaires(&$observation) {
229
		$requeteCommentaires = 'SELECT * FROM '.$this->gestionBdd->formaterTable('del_commentaire', 'dc').
225
		$requeteCommentaires = 'SELECT * FROM '.$this->gestionBdd->formaterTable('del_commentaire', 'dc').
230
							   'WHERE ce_observation = '.$observation['id_observation'];
226
							   'WHERE ce_observation = '.$observation['id_observation'];
-
 
227
		$commentaires = $this->bdd->recupererTous($requeteCommentaires);
231
		$commentaires = $this->bdd->recupererTous($requeteCommentaires);
228
		if(!$commentaires) return;
232
		
229
 
233
		$commentaires_formates = array();
230
		$commentaires_formates = array();
234
		foreach ($commentaires as $commentaire) {
231
		foreach ($commentaires as $commentaire) {
235
			$commentaire = $this->formaterCommentaire($commentaire);
232
			$commentaire = $this->formaterCommentaire($commentaire);
236
			if (isset($commentaire['nom_sel']) && $commentaire['nom_sel'] != null) {
233
			if (isset($commentaire['nom_sel']) && $commentaire['nom_sel'] != null) {
237
				$commentaire['votes'] = $this->chargerVotes($commentaire['id_commentaire']);
234
				$commentaire['votes'] = $this->chargerVotes($commentaire['id_commentaire']);
238
			}
235
			}
239
			$commentaires_formates[$commentaire['id_commentaire']] = $commentaire;
236
			$commentaires_formates[$commentaire['id_commentaire']] = $commentaire;
240
		}
237
		}
241
		$observation['commentaires'] = $commentaires_formates;
-
 
242
		
-
 
243
		return $observation;
238
		$observation['commentaires'] = $commentaires_formates;
Line 244... Line 239...
244
	}
239
	}
245
	
240
	
246
	private function chargerVotes($id_commentaire) {
241
	private function chargerVotes($id_commentaire) {
Line 262... Line 257...
262
	--------------------------------------------------------------------------------*/
257
	--------------------------------------------------------------------------------*/
Line 263... Line 258...
263
	
258
	
264
	/**
259
	/**
265
	 * Formater les images d'une observation
260
	 * Formater les images d'une observation
-
 
261
	 * @param array $images les images de l'observation
266
	 * @param array $images les images de l'observation
262
	 * // TODO: en faire le maximum dans le SELECT
267
	 * */
263
	 * */
268
	private function formaterImages($images) {
264
	private function formaterImages($images) {
269
		$imagesRetour = array();
265
		$imagesRetour = array();