Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1142 Rev 1143
Line 26... Line 26...
26
	private $bdd;
26
	private $bdd;
27
	private $parametres = array();
27
	private $parametres = array();
28
	private $ressources = array();
28
	private $ressources = array();
29
	private $tri = 'date_transmission';
29
	private $tri = 'date_transmission';
30
	private $directionTri = 'desc';
30
	private $directionTri = 'desc';
-
 
31
	private $protocole_defaut = 1;
-
 
32
	private $valeur_vote_min_defaut = 3;
Line 31... Line 33...
31
	
33
	
32
	public function __construct(Conteneur $conteneur = null) {
34
	public function __construct(Conteneur $conteneur = null) {
33
		$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
35
		$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
34
		$this->conteneur->chargerConfiguration('config_departements_bruts.ini');
36
		$this->conteneur->chargerConfiguration('config_departements_bruts.ini');
Line 51... Line 53...
51
		$this->initialiserRessourcesEtParametres($ressources, $parametres);
53
		$this->initialiserRessourcesEtParametres($ressources, $parametres);
Line 52... Line 54...
52
		
54
		
53
		// Gestion des configuration du script
55
		// Gestion des configuration du script
54
		$this->configurer();
56
		$this->configurer();
-
 
57
		$this->verifierConfiguration();
-
 
58
 
Line 55... Line -...
55
		$this->verifierConfiguration();
-
 
56
		
59
		$this->verifierParametres();
57
		$this->verifierParametresTri();
-
 
-
 
60
		
58
		$this->initialiserTri();
61
		$this->initialiserTri();
59
		$this->parametres['protocole'] = '1';
62
		
60
		// Lancement du service
63
		// Lancement du service
61
		$liaisons = $this->chargerLiaisons();
64
		$liaisons = $this->chargerLiaisons();
62
		$total = $this->compterImages();
65
		$total = $this->compterImages();
Line 71... Line 74...
71
	}
74
	}
Line 72... Line 75...
72
	
75
	
73
	private function initialiserRessourcesEtParametres($ressources, $parametres) {
76
	private function initialiserRessourcesEtParametres($ressources, $parametres) {
74
		$this->ressources = $ressources;
77
		$this->ressources = $ressources;
-
 
78
		$this->parametres = $parametres;
-
 
79
		if(!isset($parametres['protocole'])) {
-
 
80
			$this->parametres['protocole'] = $this->protocole_defaut;
-
 
81
		}
-
 
82
		if(!isset($parametres['valeur_vote_min'])) {
-
 
83
			$this->parametres['valeur_vote_min'] = $this->valeur_vote_min_defaut;
75
		$this->parametres = $parametres;
84
		}
Line 76... Line 85...
76
	}
85
	}
77
	
-
 
78
	private function verifierParametresTri() {
86
	
79
		
-
 
80
		$erreurs = array();
-
 
81
		$tris_possibles = $this->conteneur->getParametre('tris_possibles');
87
	private function verifierParametres() {		
82
		$tris_possibles_tableau = explode(',', $tris_possibles);
88
		$erreurs = array();
83
		if(isset($this->parametres['tri']) && !in_array($this->parametres['tri'], $tris_possibles_tableau)) {
89
		if(isset($this->parametres['protocole']) && !is_numeric($this->parametres['protocole'])) {
Line 84... Line -...
84
			$erreurs[] = '- le type de tri demandé est incorrect, les valeurs possibles sont '.$tris_possibles.' ;';
-
 
85
		}
90
			$erreurs[] = '- la valeur pour le protocole doit être un entier ';
86
		
91
		}
87
		if(isset($this->parametres['tri']) && $this->parametres['tri'] == "votes") {
-
 
88
			if(!isset($this->parametres['protocole']) || !is_numeric($this->parametres['protocole'])) {
-
 
89
				$erreurs[] = '- Le paramètre protocole est obligatoire en cas de tri par vote et doit être un entier ;';
-
 
90
			}
-
 
91
		}
-
 
92
		
-
 
93
		$directions_tri = array('asc', 'desc');
92
		
Line 94... Line 93...
94
		if(isset($this->parametres['ordre']) && !in_array($this->parametres['ordre'], $directions_tri)) {
93
		if(isset($this->parametres['valeur_min_vote']) && !is_numeric($this->parametres['valeur_min_vote'])) {
95
			$erreurs[] = '- la direction du tri demandé est incorrecte, les valeurs supportées sont asc ou desc ;';
94
			$erreurs[] = '- la valeur minimum de valeur des votes doit être un entier ';
96
		}
95
		}
97
		 
96
		 
98
		if (!empty($erreurs)) {
97
		if (!empty($erreurs)) {
99
			$e = 'Erreur lors de l\'analyse des parametres du tri : '."\n";
98
			$e = 'Erreur lors de l\'analyse des parametres du service : '."\n";
Line 212... Line 211...
212
						   'ON doi.id_observation = dob.id_observation '.
211
						   'ON doi.id_observation = dob.id_observation '.
213
						   'INNER JOIN del_utilisateur du '.
212
						   'INNER JOIN del_utilisateur du '.
214
						   'ON du.id_utilisateur = di.ce_utilisateur '.
213
						   'ON du.id_utilisateur = di.ce_utilisateur '.
215
						   'LEFT JOIN del_image_vote dvote '.
214
						   'LEFT JOIN del_image_vote dvote '.
216
						   'ON doi.id_image = dvote.ce_image AND dvote.ce_protocole = '.$this->parametres['protocole'].' ';
215
						   'ON doi.id_image = dvote.ce_image AND dvote.ce_protocole = '.$this->parametres['protocole'].' ';
217
		$requeteLiaisons .= 'GROUP BY dvote.ce_image HAVING AVG(dvote.valeur) >= 3 ORDER BY moyenne_votes';
216
		$requeteLiaisons .= 'GROUP BY dvote.ce_image HAVING AVG(dvote.valeur) >= '.$this->parametres['valeur_vote_min'].' ORDER BY moyenne_votes';
218
		//$requeteLiaisons .= $this->getTri();
-
 
219
		$requeteLiaisons .= $this->gestionBdd->getLimitSql();
217
		$requeteLiaisons .= $this->gestionBdd->getLimitSql();
-
 
218
 
220
		return $this->bdd->recupererTous($requeteLiaisons);
219
		return $this->bdd->recupererTous($requeteLiaisons);
221
	}
220
	}
Line 222... Line 221...
222
	
221
	
223
	private function doitJoindreTableVotes() {
222
	private function doitJoindreTableVotes() {