Line 52... |
Line 52... |
52 |
$projets = explode(',', $this->parametres['projet']);
|
52 |
$projets = explode(',', $this->parametres['projet']);
|
53 |
$this->projet = strtolower($projets[0]);
|
53 |
$this->projet = strtolower($projets[0]);
|
54 |
}
|
54 |
}
|
55 |
$this->chargerConfigProjet();
|
55 |
$this->chargerConfigProjet();
|
Line -... |
Line 56... |
- |
|
56 |
|
- |
|
57 |
// définition de la langue, en mode souple
|
- |
|
58 |
if (isset($this->parametres['lang'])) {
|
- |
|
59 |
$this->langue = $this->parametres['lang'];
|
- |
|
60 |
}
|
56 |
|
61 |
|
57 |
// exécution du service (le widget entier ou une sous-partie, par ex "Taxons")
|
62 |
// exécution du service (le widget entier ou une sous-partie, par ex "Taxons")
|
58 |
$retour = null;
|
63 |
$retour = null;
|
59 |
$service = isset($this->parametres['service']) ? $this->parametres['service'] : 'widget';
|
64 |
$service = isset($this->parametres['service']) ? $this->parametres['service'] : 'widget';
|
60 |
$methode = $this->traiterNomMethodeExecuter($service);
|
65 |
$methode = $this->traiterNomMethodeExecuter($service);
|
61 |
if (method_exists($this, $methode)) {
|
66 |
if (method_exists($this, $methode)) {
|
62 |
$retour = $this->$methode();
|
67 |
$retour = $this->$methode();
|
63 |
} else {
|
68 |
} else {
|
64 |
$this->messages[] = "Le service '$methode' n'est pas disponible.";
|
69 |
$this->messages[] = "Le service '$methode' n'est pas disponible.";
|
Line 65... |
Line -... |
65 |
}
|
- |
|
66 |
|
- |
|
67 |
// définition de la langue, en mode souple
|
- |
|
68 |
if (isset($this->parametres['lang'])) {
|
- |
|
69 |
$this->langue = $this->parametres['lang'];
|
- |
|
70 |
}
|
70 |
}
|
71 |
|
71 |
|
72 |
// injection des données dans le squelette
|
72 |
// injection des données dans le squelette
|
73 |
$contenu = null;
|
73 |
$contenu = null;
|
74 |
$mime = null;
|
74 |
$mime = null;
|
75 |
if (is_array($retour) && array_key_exists('squelette', $retour)) {
|
75 |
if (is_array($retour) && array_key_exists('squelette', $retour)) {
|
76 |
$ext = (isset($retour['squelette_ext'])) ? $retour['squelette_ext'] : '.tpl.html';
|
76 |
$ext = (isset($retour['squelette_ext'])) ? $retour['squelette_ext'] : '.tpl.html';
|
- |
|
77 |
// Suffixe de template pour la langue - fr par défaut @TODO configurer ça un jour
|
77 |
// Suffixe de template pour la langue - fr par défaut @TODO configurer ça un jour
|
78 |
$suffixeLangue = "";
|
78 |
$suffixeLangue = "";
|
79 |
// Si "nolang" n'est pas vide, on ne cherchera pas de squelette spécifique à la langue en cours
|
79 |
if ($this->langue != null && $this->langue != "fr") {
|
80 |
if ($this->langue != null && $this->langue != "fr" && empty($retour['nolang'])) {
|
80 |
$suffixeLangue = "_" . $this->langue;
|
81 |
$suffixeLangue = "_" . $this->langue;
|
81 |
}
|
82 |
}
|
82 |
// Template par défaut ou spécifique
|
83 |
// Template par défaut ou spécifique
|
Line 285... |
Line 286... |
285 |
$taxons_tries = array();
|
286 |
$taxons_tries = array();
|
286 |
foreach ($nomsAAfficher as $taxon) {
|
287 |
foreach ($nomsAAfficher as $taxon) {
|
287 |
$taxons_tries[$taxon['num_nom_sel']] = $taxon;
|
288 |
$taxons_tries[$taxon['num_nom_sel']] = $taxon;
|
288 |
}
|
289 |
}
|
289 |
$widget['donnees']['taxons'] = json_encode($taxons_tries);
|
290 |
$widget['donnees']['taxons'] = json_encode($taxons_tries);
|
- |
|
291 |
//echo "<pre>"; var_dump($widget); echo "</pre>";
|
- |
|
292 |
// Le squelette n'est pas traduit, seules les données de taxons le sont
|
- |
|
293 |
$widget['nolang'] = true;
|
- |
|
294 |
|
290 |
return $widget;
|
295 |
return $widget;
|
291 |
}
|
296 |
}
|
Line 292... |
Line 297... |
292 |
|
297 |
|
293 |
/**
|
298 |
/**
|
Line 349... |
Line 354... |
349 |
/**
|
354 |
/**
|
350 |
* Lit une liste de taxons depuis un fichier tsv fourni
|
355 |
* Lit une liste de taxons depuis un fichier tsv fourni
|
351 |
*/
|
356 |
*/
|
352 |
protected function recupererListeTaxon() {
|
357 |
protected function recupererListeTaxon() {
|
353 |
$taxons = array();
|
358 |
$taxons = array();
|
- |
|
359 |
$fichier_tsv = null;
|
354 |
if ($this->projet == 'missions-flore') {
|
360 |
if ($this->projet == 'missions-flore') {
|
355 |
$fichier_tsv = dirname(__FILE__).self::DS.'configurations'.self::DS.$this->projet.'_'.$this->mission.'_taxons.tsv';
|
361 |
$fichier_tsv = dirname(__FILE__).self::DS.'configurations'.self::DS.$this->projet.'_'.$this->mission.'_taxons.tsv';
|
356 |
} else {
|
362 |
} else {
|
- |
|
363 |
// recherche d'un fichier traduit (pour les noms vernaculaires)
|
- |
|
364 |
$suffixeLangue = "";
|
- |
|
365 |
if ($this->langue != null && $this->langue != "fr") {
|
- |
|
366 |
$suffixeLangue = "_" . $this->langue;
|
- |
|
367 |
$fichier_tsv = dirname(__FILE__).self::DS.'configurations'.self::DS.$this->projet.'_taxons'.$suffixeLangue.'.tsv';
|
- |
|
368 |
}
|
- |
|
369 |
// si le fichier de taxons traduit n'est pas disponible ou qu'on n'a
|
- |
|
370 |
// pas demandé de langue particulière, on se rabat sur celui par défaut
|
- |
|
371 |
if (! file_exists($fichier_tsv)) {
|
357 |
$fichier_tsv = dirname(__FILE__).self::DS.'configurations'.self::DS.$this->projet.'_taxons.tsv';
|
372 |
$fichier_tsv = dirname(__FILE__).self::DS.'configurations'.self::DS.$this->projet.'_taxons.tsv';
|
- |
|
373 |
}
|
358 |
}
|
374 |
}
|
359 |
if (file_exists($fichier_tsv) && is_readable($fichier_tsv)) {
|
375 |
if (file_exists($fichier_tsv) && is_readable($fichier_tsv)) {
|
360 |
$taxons = $this->decomposerFichierTsv($fichier_tsv);
|
376 |
$taxons = $this->decomposerFichierTsv($fichier_tsv);
|
361 |
} else {
|
377 |
} else {
|
362 |
$this->debug[] = "Impossible d'ouvrir le fichier '$fichier_tsv'.";
|
378 |
$this->debug[] = "Impossible d'ouvrir le fichier '$fichier_tsv'.";
|