58,21 → 58,26 |
$widget = null; |
extract($this->parametres); |
$utilisateur = (isset($utilisateur) ? $utilisateur : '*'); |
$projet = (isset($projet) ? $projet : '*'); |
$dept = (isset($dept) ? $dept : '*'); |
$num_taxon = (isset($num_taxon) ? $num_taxon : '*'); |
|
// Création url données json |
$url_json = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelWidgetMap'); |
$url_json .= "/carte-defaut-json/$utilisateur"; |
$url_json .= (isset($projet) ? '/'.$projet : '/*'); |
$url_json .= (isset($dept) ? '/'.$dept : '/*'); |
$url_json .= (isset($num_taxon) ? '/'.$num_taxon : '/*'); |
$url_cel_carto = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelWidgetMap'); |
$url_json = "$url_cel_carto/carte-defaut-json/$utilisateur/$projet/$dept/$num_taxon"; |
|
$url_base = sprintf($this->config['chemins']['baseURLAbsoluDyn'], ''); |
|
// Création des infos du widget |
$widget['donnees']['url_cel_carto'] = $url_cel_carto; |
$widget['donnees']['url_json'] = $url_json; |
$widget['donnees']['url_base'] = $url_base; |
$widget['donnees']['jquery_version'] = '1.4.3'; |
$widget['donnees']['utilisateur'] = $utilisateur; |
$widget['donnees']['projet'] = $projet; |
$widget['donnees']['dept'] = $dept; |
$widget['donnees']['num_taxon'] = $num_taxon; |
$widget['donnees']['taxons'] = $this->chargerTaxons(); |
$widget['squelette'] = 'carte_defaut'; |
|
if (isset($dept)) { |
87,6 → 92,42 |
return $widget; |
} |
|
private function chargerTaxons() { |
extract($this->parametres); |
$utilisateur = (isset($utilisateur) ? $utilisateur : '*'); |
$projet = (isset($projet) ? $projet : '*'); |
$dept = (isset($dept) ? $dept : '*'); |
$num_taxon = (isset($num_taxon) ? $num_taxon : '*'); |
|
// Récupération des données au format Json |
$service = "CelWidgetMap/taxons/$utilisateur/$projet/$dept/$num_taxon"; |
$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service); |
$json = $this->getDao()->envoyerRequeteConsultation($url); |
$donnees = json_decode($json); |
|
// Post-traitement des données |
$taxons = $this->traiterTaxons($donnees); |
|
return $taxons; |
} |
|
private function traiterTaxons($donnees) { |
$taxons = array(); |
if (is_array($donnees) && count($donnees) > 0) { |
foreach ($donnees as $donnee) { |
if (!isset($taxons[$donnee->num_taxon])) { |
$taxon = array(); |
$taxon['nn'] = $donnee->num_nom_ret; |
$taxon['nt'] = $donnee->num_taxon; |
$taxon['nom'] = $this->nettoyerTexte($donnee->nom_ret); |
$taxon['famille'] = $this->nettoyerTexte($donnee->famille); |
$taxons[$donnee->num_taxon] = $taxon; |
} |
} |
} |
return $taxons; |
} |
|
public function chercherFichierKml($dept){ |
$dir_nom = dirname(__FILE__).self::DS.'squelettes'.self::DS.'kml'.self::DS; |
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); |
93,7 → 134,8 |
$fichier = array(); |
while ($element = readdir($dir)) { |
if ($element != '.' && $element != '..') { |
if ((!is_dir($dir_nom.'/'.$element)) && (preg_match("/$dept/", $element))) { |
$dept_protege = preg_quote($dept); |
if ((!is_dir($dir_nom.'/'.$element)) && (preg_match("/$dept_protege/", $element))) { |
$fichier[] = $element; |
} |
} |
103,7 → 145,6 |
return $fichier; |
} |
|
|
/** |
* Tableau des observations d'une station |
*/ |
110,9 → 151,8 |
public function executerObservations() { |
$widget = null; |
extract($this->parametres); |
$utilisateur = (isset($utilisateur) ? $utilisateur : '*'); |
|
$observations = $this->chargerObservation($station, $utilisateur); |
$observations = $this->chargerObservation($station); |
|
// Création des infos du widget |
if (isset($observations['commune'])) { |
128,9 → 168,16 |
return $widget; |
} |
|
private function chargerObservation($station, $utilisateur) { |
private function chargerObservation($station) { |
extract($this->parametres); |
$utilisateur = (isset($utilisateur) ? $utilisateur : '*'); |
$projet = (isset($projet) ? $projet : '*'); |
$dept = (isset($dept) ? $dept : '*'); |
$num_taxon = (isset($num_taxon) ? $num_taxon : '*'); |
|
// Récupération des données au format Json |
$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], "CelWidgetMap/observations/$station/$utilisateur"); |
$service = "CelWidgetMap/observations/$station/$utilisateur/$projet/$dept/$num_taxon"; |
$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service); |
$json = $this->getDao()->envoyerRequeteConsultation($url); |
$donnees = json_decode($json); |
|
166,9 → 213,6 |
|
private function traiterLieu($donnee) { |
$lieu = array(); |
if (isset($donnee->location) && ! empty($donnee->location)) { |
$lieu[] = $donnee->location; |
} |
if (isset($donnee->lieudit) && ! empty($donnee->lieudit)) { |
$lieu[] = $donnee->lieudit; |
} |
181,7 → 225,7 |
private function choisirFormatSortie($observations_nbre) { |
extract($this->parametres); |
$sortie = 'obs_tableau'; |
if (isset($format)) { |
if (isset($format) && $format != '*') { |
$sortie = ($format == 'tableau' ) ? 'obs_tableau' : 'obs_liste'; |
} else { |
$sortie = ($observations_nbre > 4) ? 'obs_tableau' : 'obs_liste'; |