Subversion Repositories eFlore/Applications.del

Rev

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

Rev 2190 Rev 2199
Line 44... Line 44...
44
		'groupby' => array(),
44
		'groupby' => array(),
45
		'orderby' => array());
45
		'orderby' => array());
Line 46... Line 46...
46
 
46
 
47
	private $champsPrenom = array('prenom_utilisateur');
47
	private $champsPrenom = array('prenom_utilisateur');
48
	private $champsNom = array('nom_utilisateur');
48
	private $champsNom = array('nom_utilisateur');
Line 49... Line 49...
49
	private $champsSousRequeteObs = array('masque.genre', 'masque.famille', 'masque.ns', 'masque.commune', 'masque.milieu', 'masque.pays');
49
	private $champsSousRequeteObs = array('masque.standard','masque.genre', 'masque.famille', 'masque.ns', 'masque.commune', 'masque.milieu', 'masque.pays');
50
 
50
 
51
	public function __construct(Conteneur $conteneur) {
51
	public function __construct(Conteneur $conteneur) {
52
		$this->conteneur = $conteneur;
52
		$this->conteneur = $conteneur;
Line 108... Line 108...
108
		}
108
		}
109
	}
109
	}
Line 110... Line 110...
110
 
110
 
111
	public function getWhere() {
111
	public function getWhere() {
-
 
112
		// Sous-requete spéciale pour éviter de rechercher dans la table obs jointe à img depuis Pictoflora...
112
		// Sous-requete spéciale pour éviter de rechercher dans la table obs jointe à img depuis Pictoflora...
113
		//print_r($this->requete);
113
		if (isset($this->requete['where']['OR_SOUS_REQUETE']) && count($this->requete['where']['OR_SOUS_REQUETE']) > 0) {
114
		if (isset($this->requete['where']['OR_SOUS_REQUETE']) && count($this->requete['where']['OR_SOUS_REQUETE']) > 0) {
114
			$clauseWhereSousRequete = implode(' OR ', $this->requete['where']['OR_SOUS_REQUETE']);
115
			$clauseWhereSousRequete = implode(' OR ', $this->requete['where']['OR_SOUS_REQUETE']);
115
			$sousRequete = 'di.ce_observation IN '.
116
			$sousRequete = 'di.ce_observation IN '.
116
				"(SELECT id_observation FROM del_observation AS do WHERE $clauseWhereSousRequete ) ";
117
				"(SELECT id_observation FROM del_observation AS do WHERE $clauseWhereSousRequete ) ";
Line 160... Line 161...
160
	/**
161
	/**
161
	 * @param $p les paramètres (notamment de masque) passés par l'URL et déjà traités/filtrés (sauf quotes)
162
	 * @param $p les paramètres (notamment de masque) passés par l'URL et déjà traités/filtrés (sauf quotes)
162
	 * @param $req le tableau, passé par référence représentant les composants de la requête à bâtir
163
	 * @param $req le tableau, passé par référence représentant les composants de la requête à bâtir
163
	 */
164
	 */
164
	public function ajouterContraintes() {
165
	public function ajouterContraintes() {
-
 
166
		$this->ajouterContrainteStandard();
165
		$this->ajouterContrainteAuteur();
167
		$this->ajouterContrainteAuteur();
166
		$this->ajouterContrainteDate();
168
		$this->ajouterContrainteDate();
167
		$this->ajouterContraintePays();
169
		$this->ajouterContraintePays();
168
		$this->ajouterContrainteDepartement();
170
		$this->ajouterContrainteDepartement();
169
		$this->ajouterContrainteIdZoneGeo();
171
		$this->ajouterContrainteIdZoneGeo();
Line 174... Line 176...
174
		$this->ajouterContrainteReferentiel();
176
		$this->ajouterContrainteReferentiel();
175
		$this->ajouterContrainteCommune();
177
		$this->ajouterContrainteCommune();
176
		$this->ajouterContraintePnInscrits();
178
		$this->ajouterContraintePnInscrits();
177
	}
179
	}
Line -... Line 180...
-
 
180
 
-
 
181
	private function ajouterContrainteStandard() {
-
 
182
		if (isset($this->parametres['masque.standard'])) {
-
 
183
			$donnees_standard = $this->parametres['masque.standard'];
-
 
184
			$this->addWhere('masque.standard', "do.donnees_standard = $donnees_standard");
-
 
185
			$this->ajouterJoinObsSiNecessaire();
-
 
186
		}
-
 
187
	}
178
 
188
 
179
	private function ajouterContrainteAuteur() {
189
	private function ajouterContrainteAuteur() {
180
		if (isset($this->parametres['masque.auteur'])) {
190
		if (isset($this->parametres['masque.auteur'])) {
181
			$auteur = $this->parametres['masque.auteur'];
191
			$auteur = $this->parametres['masque.auteur'];
182
			// id du poster de l'obs
192
			// id du poster de l'obs
Line 850... Line 860...
850
	}
860
	}
Line 851... Line 861...
851
	
861
	
852
	private function getCombinaisonChampsDateMax() {
862
	private function getCombinaisonChampsDateMax() {
853
		return "GREATEST(IFNULL(dc.date,0), IFNULL(dcv.date,0), IFNULL(do.date_observation,0), IFNULL(dcp.date_validation,0), IFNULL(dcpr.date,0))";
863
		return "GREATEST(IFNULL(dc.date,0), IFNULL(dcv.date,0), IFNULL(do.date_observation,0), IFNULL(dcp.date_validation,0), IFNULL(dcpr.date,0))";
854
	}
-
 
855
}
864
	}
-
 
865
}