Subversion Repositories eFlore/Applications.del

Compare Revisions

Regard whitespace Rev 790 → Rev 797

/trunk/services/modules/0.1/observations/ListeObservations.php
23,12 → 23,14
private $masque;
private $gestionBdd;
private $bdd;
private $parametres = array();
private $ressources = array();
public function __construct(Conteneur $conteneur = null) {
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
$this->conteneur->chargerConfiguration('config_departements_bruts.ini');
$this->conteneur->chargerConfiguration('config_observations.ini');
$this->conteneur->chargerConfiguration('config_votes.ini');
$this->conteneur->chargerConfiguration('config_mapping_votes.ini');
$this->navigation = $conteneur->getNavigation();
$this->masque = $conteneur->getMasque();
$this->gestionBdd = $conteneur->getGestionBdd();
43,6 → 45,7
* @param array $parametres les paramètres situés après le ? dans l'url
* */
public function consulter($ressources, $parametres) {
$this->initialiserRessourcesEtParametres($ressources, $parametres);
// Gestion des configuration du script
$this->configurer();
62,6 → 65,10
return $resultat;
}
private function initialiserRessourcesEtParametres($ressources, $parametres) {
$this->ressources = $ressources;
$this->parametres = $parametres;
}
/*-------------------------------------------------------------------------------
CONFIGURATION DU SERVICE
--------------------------------------------------------------------------------*/
152,34 → 159,38
switch ($idMasque) {
// nom du masque => nom BDD
case 'auteur' :
$where[] = $this->creerFiltreAuteur($this->masque->getMasque('auteur'));
$whereAuteur = ' '.$this->creerFiltreAuteur($this->masque->getMasque('auteur'));
if($whereAuteur != '') {
$where[] = $whereAuteur;
}
break;
case 'date' :
$where[] = $this->creerFiltreDate($valeurMasque);
$whereDate = ' '.$this->creerFiltreDate($valeurMasque);
if($whereDate != '') {
$where[] = $whereDate;
}
break;
case 'departement' :
$where[] = $this->creerFiltreIdZoneGeo($valeurMasque);
$where[] = ' '.$this->creerFiltreIdZoneGeo($valeurMasque);
break;
case 'genre' :
$where[] = ' '.$this->mappingFiltre['ns'].' LIKE '.$this->proteger('%'.$valeurMasque.'% %');
break;
case 'tag' :
$where[] = $this->creerFiltreMotsCles($valeurMasque);
$where[] = ' '.$this->creerFiltreMotsCles($valeurMasque);
break;
case 'nn' :
$where[] = ' '.$this->mappingFiltre['nn'].' = '.$this->proteger($valeurMasque);
break;
case 'ns' :
$where[] = " nom_sel LIKE ".$this->proteger($valeurMasque.'%');
$where[] = ' nom_sel LIKE '.$this->proteger($valeurMasque.'%');
break;
case 'commune' :
$where[] = ' '.$this->mappingFiltre[$idMasque].' LIKE '.$this->proteger($this->remplacerParJokerCaractere($valeurMasque).'%');
$where[] = ' '.$this->mappingFiltre[$idMasque].' LIKE '.$this->proteger(str_replace(array('-',' '), '_', $valeurMasque).'%');
break;
case 'masque' :
$where[] = $this->creerFiltreMasqueGeneral($valeurMasque);
$where[] = ' '.$this->creerFiltreMasqueGeneral($valeurMasque);
break;
default:
$where[] = ' '.$this->mappingFiltre[$idMasque].' LIKE '.$this->proteger('%'.$valeurMasque.'%');
$where[] = ' '.$this->mappingFiltre[$idMasque].' = '.$this->proteger($valeurMasque);
break;
}
}
}
192,8 → 203,8
}
private function creerFiltreMasqueGeneral($valeurMasque) {
// créer filtre auteur et idzone géo peuvent renvoyer des valeurs vides
//TODO: affecter d'aborder les variables, puis les tester pour les
// ajouter à la chaine
$whereAuteur = $this->creerFiltreAuteur($valeurMasque);
$whereIdZoneGeo = $this->creerFiltreIdZoneGeo($valeurMasque);
311,16 → 322,13
* Chargement depuis la bdd de toutes les liaisons entre images et observations
* */
private function chargerLiaisons() {
// ajout seulement du champ mot clés de la table image liée, pour rechercher
// sur les mots clés obs et images
$requeteLiaisons = 'SELECT SQL_CALC_FOUND_ROWS *, di.mots_cles_texte '.
$requeteLiaisons = 'SELECT SQL_CALC_FOUND_ROWS * '.
'FROM '.$this->gestionBdd->formaterTable('del_observation', 'dob').
'INNER JOIN '.$this->gestionBdd->formaterTable('del_obs_image', 'doi').
'ON doi.id_observation = dob.id_observation '.
'INNER JOIN del_utilisateur du '.
'ON du.id_utilisateur = doi.id_utilisateur '.
'INNER JOIN '.$this->gestionBdd->formaterTable('del_image', 'di').
'ON di.id_image = doi.id_image ';
'ON du.id_utilisateur = doi.id_utilisateur ';
$requeteLiaisons .= $this->chargerClauseWhere();
$requeteLiaisons .= ' GROUP BY doi.id_observation';
$requeteLiaisons .= ' ORDER BY date_transmission DESC ';
403,7 → 411,7
}
/**
* Charger les votes sur les déterminations
* @param Array $observations le tableau des observatins à mettre à jour
* @param Array $observations le tableau des observations à mettre à jour
* */
private function chargerVotes($ids_proposition, $propositions) {
$requeteVotes = 'SELECT * FROM '.