/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/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/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; |
} |
} |
337,6 → 299,18 |
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 = ''; |
if (preg_match('/.*OU.*/', $mot_cle)) { |
/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; |
} |
} |
512,6 → 514,18 |
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 = ''; |
if (preg_match('/.*OU.*/', $mot_cle)) { |
/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']; |
356,6 → 358,7 |
$this->construireWhereTag(). |
$this->construireWhereNombreDeJours(). |
$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); |
1105,6 → 1110,23 |
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 |
*/ |