Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2679 → Rev 2681

/trunk/widget/modules/photo/Photo.php
215,7 → 215,7
private function traiterParametres() {
$parametres_flux = '?';
$criteres = array('utilisateur', 'commune', 'dept', 'taxon', 'commentaire', 'date', 'tag', 'motcle', 'projet', 'num_taxon', 'num_nom');
$criteres = array('utilisateur', 'commune', 'dept', 'taxon', 'commentaire', 'date', 'tag', 'motcle', 'projet', 'num_taxon', 'num_nom', 'groupe_zones_geo');
foreach($this->parametres as $nom_critere => $valeur_critere) {
if (in_array($nom_critere, $criteres)) {
$valeur_critere = str_replace(' ', '%20', $valeur_critere);
/trunk/widget/modules/observation/Observation.php
138,7 → 138,7
private function traiterParametres() {
$parametres_flux = '?';
$criteres = array('utilisateur', 'commune', 'dept', 'taxon', 'commentaire', 'date', 'projet', 'motcle', 'num_taxon');
$criteres = array('utilisateur', 'commune', 'dept', 'taxon', 'commentaire', 'date', 'projet', 'motcle', 'num_taxon', 'groupe_zones_geo');
foreach($this->parametres as $nom_critere => $valeur_critere) {
if (in_array($nom_critere, $criteres)) {
$valeur_critere = str_replace(' ', '%20', $valeur_critere);
/trunk/widget/modules/cartopoint/CartoPoint.php
48,7 → 48,8
private $image = null; // url d'une image à ajouter dans l'interface
private $nbjours = null; // nombre de jour à partir de la date courate pour lesquels on affiche les points
private $annee = null; // filtre par année
private $referentiel = null; // nombre de jour à partir de la date courate pour lesquels on affiche les points
private $referentiel = null;
private $groupe_zones_geo = null; // Groupe de zones géographiques personnalisé
 
/**
* Méthode appelée par défaut pour charger ce widget.
96,6 → 97,7
$this->nbjours = (isset($nbjours) ? urldecode($nbjours) : null);
$this->annee = (isset($annee) ? urldecode($annee) : null);
$this->referentiel = (isset($referentiel) ? urldecode($referentiel) : null);
$this->groupe_zones_geo = (isset($groupe_zones_geo) ? urldecode($groupe_zones_geo) : null);
$this->start = (isset($start) ? $start : null);
$this->limit = (isset($limit) ? $limit : null);
}
130,6 → 132,7
$widget['donnees']['nbjours'] = $this->nbjours;
$widget['donnees']['annee'] = $this->annee;
$widget['donnees']['referentiel'] = $this->referentiel;
$widget['donnees']['groupe_zones_geo'] = $this->groupe_zones_geo;
$widget['donnees']['url_limites_communales'] = $this->obtenirUrlsLimitesCommunales();
$widget['donnees']['communeImageUrl'] = $this->config['carto']['communeImageUrl'];
$widget['donnees']['pointImageUrl'] = $this->config['carto']['pointImageUrl'];
149,7 → 152,7
 
$parametres_retenus = array();
$parametres_a_tester = array('station', 'utilisateur', 'projet', 'tag', 'dept', 'commune',
'num_taxon', 'taxon', 'date', 'commentaire', 'nbjours', 'referentiel','pays',
'num_taxon', 'taxon', 'date', 'commentaire', 'nbjours', 'referentiel','pays', 'groupe_zones_geo',
'start', 'limit');
foreach ($parametres_a_tester as $param) {
if (isset($this->$param) && $this->$param != '*') {
/trunk/widget/modules/cartopoint/squelettes/carte_defaut.tpl.html
61,9 → 61,11
'&dept=<?=$dept?>'+
'&commune=<?=rawurlencode($commune)?>'+
'&pays=<?=rawurlencode($pays)?>'+
'&commentaire=<?=rawurlencode($commentaire)?>',
'&commentaire=<?=rawurlencode($commentaire)?>'+
'&groupe_zones_geo=<?=rawurlencode($groupe_zones_geo)?>',
utilisateur = '<?=$utilisateur?>',
photos = '<?= ($photos != null) ? $photos : "null"; ?>';
groupe_zones_geo = '<?= ($groupe_zones_geo != null) ? $groupe_zones_geo : "null"; ?>';
if (photos != null) {
filtreCommun += '&photos=<?=rawurlencode($photos)?>';
}
/trunk/jrest/services/CelSyndicationImage.php
39,7 → 39,8
'date' => 'c.date_prise_de_vue',
'tag' => 'tag',
'motcle' => 'tag',
'projet' => 'projet');
'projet' => 'projet',
'groupe_zones_geo' => 'groupe_zones_geo');
 
/**
* Méthode appelée avec une requête de type GET.
504,6 → 505,7
$nom_valeur[1].'%") AND '; break;
case "tag" : $requete .= $this->creerSousRequeteMotsCles($nom_valeur[1]).' AND '; break;
case "projet" : $requete .= $this->creerSousRequeteProjet($nom_valeur[1]).' AND '; break;
case "groupe_zones_geo" : $requete .= $this->creerSousRequeteGroupeZonesGeo($nom_valeur[1])." AND "; break;
default : $requete .= $nom_valeur[0].' = "'.$nom_valeur[1].'" AND '; break;
}
}
511,6 → 513,18
$requete = rtrim($requete,' AND ');
return $requete;
}
private function creerSousRequeteGroupeZonesGeo($groupe_zones_geo) {
$req = "SELECT valeur FROM cel_groupes_zones WHERE id_groupe = ".Cel::db()->proteger($groupe_zones_geo);
$res = Cel::db()->requeter($req);
$zones = array();
foreach($res as &$r) {
$zones[] = Cel::db()->proteger($r['valeur']);
}
$sql = '(b.ce_zone_geo IN ('.implode(',', $zones).')) ';
return $sql;
}
 
private function creerSousRequeteMotsCles($mot_cle) {
$requete = '';
/trunk/jrest/services/CelWidgetMapPoint.php
131,6 → 131,7
$this->construireWhereTag().
$this->construireWhereNombreDeJours().
$this->construireWhereAnnee().
$this->construireWhereGroupeZoneGeo().
' GROUP BY id_coord';
 
$resultats_emplacements = Cel::db()->requeter($requete);
169,7 → 170,8
$this->construireWhereProjet().
$this->construireWhereTag().
$this->construireWhereNombreDeJours().
$this->construireWhereAnnee();
$this->construireWhereAnnee().
$this->construireWhereGroupeZoneGeo();
 
$resultats_nb_obs = Cel::db()->requeter($requete);
return $resultats_nb_obs[0]['nb'];
355,7 → 357,8
$this->construireWhereProjet().
$this->construireWhereTag().
$this->construireWhereNombreDeJours().
$this->construireWhereAnnee().
$this->construireWhereAnnee().
$this->construireWhereGroupeZoneGeo().
'ORDER BY nom_sel ASC '.
"LIMIT {$this->start},{$this->limit} ";
//echo $requete;exit;
504,6 → 507,7
$this->construireWhereTag().
$this->construireWhereNombreDeJours().
$this->construireWhereAnnee().
$this->construireWhereGroupeZoneGeo().
'ORDER BY nom_ret ASC '.
"LIMIT {$this->start},{$this->limit} ";
//$this->debug[] = $requete;
767,6 → 771,7
$this->construireWhereReferentiel().
$this->construireWhereProjet().
$this->construireWhereTag().
$this->construireWhereGroupeZoneGeo().
'ORDER BY utilisateur ASC, ordre ASC';
//$this->debug[] = $requete;
//die($requete);
1104,7 → 1109,24
}
return $sql;
}
private function construireWhereGroupeZoneGeo() {
$sql = null;
extract($this->parametres);
if (isset($groupe_zones_geo) && !$this->etreNull($groupe_zones_geo)) {
$req = "SELECT valeur FROM cel_groupes_zones WHERE id_groupe = ".Cel::db()->proteger($groupe_zones_geo);
$res = Cel::db()->requeter($req);
 
$zones = array();
foreach($res as &$r) {
$zones[] = Cel::db()->proteger($r['valeur']);
}
$sql = 'AND ce_zone_geo IN ('.implode(',', $zones).') ';
}
return $sql;
}
 
/**
* Traitement de $tag pour construction du filtre dans la requête
*/
/trunk/jrest/services/CelSyndicationObservation.php
46,7 → 46,8
'commentaire' => 'commentaire',
'date' => 'date_observation',
'motcle' => 'tags',
'projet' => 'mots-cles');
'projet' => 'mots-cles',
'groupe_zones_geo' => 'groupe_zones_geo');
private $catalogue_cles_labels_champs_etendus = array();
 
/**
179,10 → 180,6
private function chargerListeDesFlux() {
$this->setFlux('par-defaut', 'Flux de syndication des observations publiques du CEL',
'Ce flux fournit des informations sur les observations du CEL.');
$this->setFlux('par-mots-cles', 'Flux de syndication obsolète',
"Ce flux est désormais accessible via le flux multicriteres/atom/M?tag='mot-cle'.");
$this->setFlux('par-commune','Flux de syndication obsolète',
"Ce flux est désormais accessible via le flux multicriteres/atom/M?commune='commune'.");
$this->setFlux('multicriteres','Flux de syndication des nouvelles observations publiques du CEL '.
'filtrées par un ou plusieurs critères',
"Ce flux fournit des informations sur les nouvelles observations du CEL filtrées par ".
228,42 → 225,6
return $contenu;
}
 
private function getServiceParMotsCles() {
$infos=array();
$infos[0]['nom_sel_nn'] = '';
$infos[0]['date_modification'] = '2011-06-28';
$donnees = $this->construireDonneesCommunesAuFlux($infos);
$donnees['items'][0]['guid'] = 0;
$donnees['items'][0]['description'] = 'Ce flux est devenu obsolète. Veuillez utiliser le flux '.
'<b>http://www.tela-botanica.org/eflore/cel2/jrest/CelSyndicationObservation/multicriteres/atom?projet=';
if (isset($this->parametres[0])) {
$donnees['items'][0]['description'] .= $this->parametres[0].'</b>';
} else {
$donnees['items'][0]['description'] .= '</b>';
}
$donnees['items'][0]['titre'] = '';
$contenu = Cel::traiterSquelettePhp($this->squelette, $donnees);
return $contenu;
}
 
private function getServiceParCommune() {
$infos=array();
$infos[0]['nom_sel_nn'] = '';
$infos[0]['date_modification'] = '2011-06-28';
$donnees = $this->construireDonneesCommunesAuFlux($infos);
$donnees['items'][0]['guid'] = 0;
$donnees['items'][0]['description'] = 'Ce flux est devenu obsolète. Veuillez utiliser le flux '.
'<b>http://www.tela-botanica.org/eflore/cel2/jrest/CelSyndicationObservation/multicriteres/atom?commune=';
if (isset($this->parametres[0])) {
$donnees['items'][0]['description'] .= $this->parametres[0].'</b>';
} else {
$donnees['items'][0]['description'] .= '</b>';
}
$donnees['items'][0]['titre'] = '';
$contenu = Cel::traiterSquelettePhp($this->squelette, $donnees);
return $contenu;
}
 
private function getServiceMultiCriteres() {
$contenu = '';
if (isset($_GET['debut'])) $this->start = $_GET['debut'];
329,6 → 290,7
$nom_valeur[1].'%") AND '; break;
case "mots-cles" : $requete .= $this->creerSousRequeteMotsCles($nom_valeur[1]).' AND '; break;
case "tags" : $requete .= $this->creerSousRequeteTags($nom_valeur[1]).' AND '; break;
case "groupe_zones_geo" : $requete .= $this->creerSousRequeteGroupeZonesGeo($nom_valeur[1])." AND "; break;
default : $requete .= $nom_valeur[0].' = "'.$nom_valeur[1].'" AND '; break;
}
}
336,6 → 298,18
$requete = rtrim($requete,' AND ');
return $requete;
}
private function creerSousRequeteGroupeZonesGeo($groupe_zones_geo) {
$req = "SELECT valeur FROM cel_groupes_zones WHERE id_groupe = ".Cel::db()->proteger($groupe_zones_geo);
$res = Cel::db()->requeter($req);
$zones = array();
foreach($res as &$r) {
$zones[] = Cel::db()->proteger($r['valeur']);
}
$sql = '(ce_zone_geo IN ('.implode(',', $zones).')) ';
return $sql;
}
 
private function creerSousRequeteMotsCles($mot_cle) {
$requete = '';