Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1984 → Rev 1985

/trunk/services/bibliotheque/Sql.php
46,7 → 46,7
 
private $champsPrenom = array('du.prenom', 'prenom_utilisateur');
private $champsNom = array('du.nom', 'nom_utilisateur');
private $champsSousRequeteObs = array('masque.genre', 'masque.famille', 'masque.ns', 'masque.commune', 'masque.milieu');
private $champsSousRequeteObs = array('masque.genre', 'masque.famille', 'masque.ns', 'masque.commune', 'masque.milieu', 'masque.pays');
 
public function __construct(Conteneur $conteneur) {
$this->conteneur = $conteneur;
166,6 → 166,7
public function ajouterContraintes() {
$this->ajouterContrainteAuteur();
$this->ajouterContrainteDate();
$this->ajouterContraintePays();
$this->ajouterContrainteDepartement();
$this->ajouterContrainteIdZoneGeo();
$this->ajouterContrainteGenre();
299,12 → 300,29
}
}
}
private function ajouterContraintePays() {
if (isset($this->parametres['masque.pays'])) {
// Attention le standard contient parfois FX pour la france métropolitaine
// Dans ce cas particulier on cherche donc FR et FX
$this->parametres['masque.pays'] = strtoupper($this->parametres['masque.pays']);
if(strpos($this->parametres['masque.pays'], 'FR') !== false) {
$this->parametres['masque.pays'] = str_replace('FR', 'FR,FX', $this->parametres['masque.pays']);
}
$pays = explode(',', $this->parametres['masque.pays']);
$pays = implode(',', $this->bdd->proteger($pays));
$this->addWhere('masque.pays', "do.pays IN ($pays)");
if ($this->etreAppliImg()) {
$this->addJoin('LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) ');
}
}
}
 
private function ajouterContrainteIdZoneGeo() {
if (isset($this->parametres['masque.id_zone_geo'])) {
$idZgMotif = $this->bdd->proteger($this->parametres['masque.id_zone_geo']);
$this->addWhere('masque.id_zone_geo', "do.ce_zone_geo = $idZgMotif");
 
if ($this->etreAppliImg()) {
$this->addJoin('LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) ');
}