Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2680 → Rev 2681

/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 = '';