Subversion Repositories eFlore/Applications.del

Rev

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

Rev 751 Rev 759
Line 21... Line 21...
21
	private $conteneur;
21
	private $conteneur;
22
	private $navigation;
22
	private $navigation;
23
	private $masque;
23
	private $masque;
24
	private $gestionBdd;
24
	private $gestionBdd;
25
	private $bdd;
25
	private $bdd;
-
 
26
	private $parametres = array();
-
 
27
	private $ressources = array();
Line 26... Line 28...
26
	
28
	
27
	public function __construct(Conteneur $conteneur = null) {
29
	public function __construct(Conteneur $conteneur = null) {
28
		$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
30
		$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
-
 
31
		$this->conteneur->chargerConfiguration('config_departements.ini');
29
		$this->conteneur->chargerConfiguration('config_departements.ini');
32
		$this->conteneur->chargerConfiguration('config_votes.ini');
30
		$this->navigation = $conteneur->getNavigation();
33
		$this->navigation = $conteneur->getNavigation();
31
		$this->masque = $conteneur->getMasque();
34
		$this->masque = $conteneur->getMasque();
32
		$this->gestionBdd = $conteneur->getGestionBdd();
35
		$this->gestionBdd = $conteneur->getGestionBdd();
33
		$this->bdd = $this->gestionBdd->getBdd();
36
		$this->bdd = $this->gestionBdd->getBdd();
Line 39... Line 42...
39
	 * pour l'afficher.
42
	 * pour l'afficher.
40
	 * @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
43
	 * @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
41
	 * @param array $parametres les paramètres situés après le ? dans l'url
44
	 * @param array $parametres les paramètres situés après le ? dans l'url
42
	 * */
45
	 * */
43
	public function consulter($ressources, $parametres) {
46
	public function consulter($ressources, $parametres) {
-
 
47
		$this->initialiserRessourcesEtParametres($ressources, $parametres);
Line 44... Line 48...
44
		
48
		
45
		// Gestion des configuration du script
49
		// Gestion des configuration du script
46
		$this->configurer();
50
		$this->configurer();
Line 57... Line 61...
57
		$resultat = new ResultatService();
61
		$resultat = new ResultatService();
58
		$resultat->corps = array('entete' => $this->conteneur->getEntete(), 'resultats' => $images);
62
		$resultat->corps = array('entete' => $this->conteneur->getEntete(), 'resultats' => $images);
59
		return $resultat;
63
		return $resultat;
60
	}
64
	}
Line -... Line 65...
-
 
65
	
-
 
66
	private function initialiserRessourcesEtParametres($ressources, $parametres) {
-
 
67
		$this->ressources = $ressources;
-
 
68
		$this->parametres = $parametres;
61
	
69
	}
62
	/*-------------------------------------------------------------------------------
70
	/*-------------------------------------------------------------------------------
63
	 							CONFIGURATION DU SERVICE
71
	 							CONFIGURATION DU SERVICE
64
	 --------------------------------------------------------------------------------*/
72
	 --------------------------------------------------------------------------------*/
65
	/**
73
	/**
66
	 * Configuration du service en fonction du fichier de config config_del.ini
74
	 * Configuration du service en fonction du fichier de config config_del.ini
67
	 * */
75
	 * */
68
	public function configurer() {
76
	public function configurer() {
69
		$this->mappingFiltre = $this->conteneur->getParametre('mapping_masque');
77
		$this->mappingFiltre = $this->conteneur->getParametre('mapping_masque');
-
 
78
		$this->mappingObservation = $this->conteneur->getParametre('mapping_observation');
70
		$this->mappingObservation = $this->conteneur->getParametre('mapping_observation');
79
		$this->mappingVotes = $this->conteneur->getParametre('mapping_votes');
Line 71... Line 80...
71
	}
80
	}
72
	
81
	
73
	/**
82
	/**
Line 251... Line 260...
251
	/**
260
	/**
252
	* Charger les votes pour chaque image
261
	* Charger les votes pour chaque image
253
	* */
262
	* */
254
	private function chargerVotes($images) {
263
	private function chargerVotes($images) {
Line 255... Line -...
255
		
-
 
256
		if (sizeof($this->imageIds) > 0) {
-
 
-
 
264
		
Line 257... Line 265...
257
			$chaineImageIds = implode(',', $this->imageIds);
265
		
258
			
266
			
259
			$requeteVotes = 'SELECT * FROM '.
267
			$requeteVotes = 'SELECT * FROM '.
260
			                $this->gestionBdd->formaterTable('del_image_vote').
268
			                $this->gestionBdd->formaterTable('del_image_vote').
Line 261... Line 269...
261
			                'WHERE ce_image IN ('.$chaineImageIds.')';
269
			                'WHERE '.$this->chargerClauseWhereVotes();
262
			$resultatsVotes = $this->bdd->recupererTous($requeteVotes);
270
			$resultatsVotes = $this->bdd->recupererTous($requeteVotes);
Line 268... Line 276...
268
			foreach ($images as $id => $image) {
276
			foreach ($images as $id => $image) {
269
				if (isset($votes[$image['id_image']])) {
277
				if (isset($votes[$image['id_image']])) {
270
					$images[$id]['votes'] = $votes[$image['id_image']];
278
					$images[$id]['votes'] = $votes[$image['id_image']];
271
				}
279
				}
272
			}
280
			}
273
		}
-
 
Line 274... Line 281...
274
		
281
		
275
		return $images;
282
		return $images;
Line -... Line 283...
-
 
283
	}
-
 
284
	
-
 
285
	private function chargerClauseWhereVotes() {
-
 
286
		if (sizeof($this->imageIds) > 0) {
-
 
287
			$chaineImageIds = implode(',', $this->imageIds);
-
 
288
			$where[] = 'ce_image  IN ('.$chaineImageIds.')';
-
 
289
		}
-
 
290
		if (isset($this->parametres['protocole'])) {
-
 
291
			$where[] = 'ce_protocole = '.$this->proteger($this->parametres['protocole']);
-
 
292
		}
-
 
293
		return implode(' AND ', $where);
276
	}
294
	}
277
	
295
	
278
	/*-------------------------------------------------------------------------------
296
	/*-------------------------------------------------------------------------------
Line 279... Line 297...
279
								FORMATER ET METTRE EN FORME
297
								FORMATER ET METTRE EN FORME
Line 300... Line 318...
300
	*  @return $observation l'observation mise en forme
318
	*  @return $observation l'observation mise en forme
301
	* */
319
	* */
302
	private function formaterVotes($votes) {
320
	private function formaterVotes($votes) {
303
		$retour = array();
321
		$retour = array();
304
		foreach ($votes as $vote) {
322
		foreach ($votes as $vote) {
305
			$idImage = $vote['ce_image'];
-
 
306
			$id = $vote['id_vote_image'];
323
			$retour_vote = array();
307
			$id_protocole = $vote['ce_protocole'];
-
 
308
			$auteur_id = $vote['ce_utilisateur'];
324
			foreach ($vote as $param=>$valeur) {
309
			$valeur = $vote['valeur_vote'];
-
 
310
			$date = $vote['date_vote_image'];
325
				$retour_vote[$this->mappingVotes[$param]] = $valeur;
311
		
326
			}
312
			$retour[$idImage]['valeur'] = $valeur;
-
 
313
			$retour[$idImage]['protocole'] = $id_protocole;
327
			$retour[$vote['ce_image']][$vote['ce_protocole']][$vote['id_vote']] = $retour_vote;
314
			$retour[$idImage]['auteur_id'] = $auteur_id;
-
 
315
			$retour[$idImage]['date'] = $auteur_id;
-
 
316
		}
328
		}
Line 317... Line 329...
317
		
329
		
318
		return $retour;
330
		return $retour;