Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1981 Rev 1985
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('du.prenom', 'prenom_utilisateur');
47
	private $champsPrenom = array('du.prenom', 'prenom_utilisateur');
48
	private $champsNom = array('du.nom', 'nom_utilisateur');
48
	private $champsNom = array('du.nom', 'nom_utilisateur');
Line 49... Line 49...
49
	private $champsSousRequeteObs = array('masque.genre', 'masque.famille', 'masque.ns', 'masque.commune', 'masque.milieu');
49
	private $champsSousRequeteObs = array('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 164... Line 164...
164
	 * @param $req le tableau, passé par référence représentant les composants de la requête à bâtir
164
	 * @param $req le tableau, passé par référence représentant les composants de la requête à bâtir
165
	 */
165
	 */
166
	public function ajouterContraintes() {
166
	public function ajouterContraintes() {
167
		$this->ajouterContrainteAuteur();
167
		$this->ajouterContrainteAuteur();
168
		$this->ajouterContrainteDate();
168
		$this->ajouterContrainteDate();
-
 
169
		$this->ajouterContraintePays();
169
		$this->ajouterContrainteDepartement();
170
		$this->ajouterContrainteDepartement();
170
		$this->ajouterContrainteIdZoneGeo();
171
		$this->ajouterContrainteIdZoneGeo();
171
		$this->ajouterContrainteGenre();
172
		$this->ajouterContrainteGenre();
172
		$this->ajouterContrainteFamille();
173
		$this->ajouterContrainteFamille();
173
		$this->ajouterContrainteNs();
174
		$this->ajouterContrainteNs();
Line 297... Line 298...
297
			if ($this->etreAppliImg()) {
298
			if ($this->etreAppliImg()) {
298
				$this->addJoin('LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) ');
299
				$this->addJoin('LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) ');
299
			}
300
			}
300
		}
301
		}
301
	}
302
	}
-
 
303
	
-
 
304
	private function ajouterContraintePays() {
-
 
305
		if (isset($this->parametres['masque.pays'])) {
-
 
306
			// Attention le standard contient parfois FX pour la france métropolitaine
-
 
307
			// Dans ce cas particulier on cherche donc FR et FX
-
 
308
			$this->parametres['masque.pays'] = strtoupper($this->parametres['masque.pays']);
-
 
309
			if(strpos($this->parametres['masque.pays'], 'FR') !== false) {
-
 
310
				$this->parametres['masque.pays'] = str_replace('FR', 'FR,FX', $this->parametres['masque.pays']);
-
 
311
			}
-
 
312
			$pays = explode(',', $this->parametres['masque.pays']);
-
 
313
			$pays = implode(',', $this->bdd->proteger($pays));
-
 
314
			$this->addWhere('masque.pays', "do.pays IN ($pays)");
-
 
315
	
-
 
316
			if ($this->etreAppliImg()) {
-
 
317
				$this->addJoin('LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) ');
-
 
318
			}
-
 
319
		}
-
 
320
	}
Line 302... Line 321...
302
 
321
 
303
	private function ajouterContrainteIdZoneGeo() {
322
	private function ajouterContrainteIdZoneGeo() {
304
		if (isset($this->parametres['masque.id_zone_geo'])) {
323
		if (isset($this->parametres['masque.id_zone_geo'])) {
305
			$idZgMotif = $this->bdd->proteger($this->parametres['masque.id_zone_geo']);
324
			$idZgMotif = $this->bdd->proteger($this->parametres['masque.id_zone_geo']);
306
			$this->addWhere('masque.id_zone_geo', "do.ce_zone_geo = $idZgMotif");
-
 
307
 
325
			$this->addWhere('masque.id_zone_geo', "do.ce_zone_geo = $idZgMotif");
308
			if ($this->etreAppliImg()) {
326
			if ($this->etreAppliImg()) {
309
				$this->addJoin('LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) ');
327
				$this->addJoin('LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) ');
310
			}
328
			}
311
		}
329
		}