54,6 → 54,11 |
} |
$this->chargerConfigProjet(); |
|
// définition de la langue, en mode souple |
if (isset($this->parametres['lang'])) { |
$this->langue = $this->parametres['lang']; |
} |
|
// exécution du service (le widget entier ou une sous-partie, par ex "Taxons") |
$retour = null; |
$service = isset($this->parametres['service']) ? $this->parametres['service'] : 'widget'; |
64,11 → 69,6 |
$this->messages[] = "Le service '$methode' n'est pas disponible."; |
} |
|
// définition de la langue, en mode souple |
if (isset($this->parametres['lang'])) { |
$this->langue = $this->parametres['lang']; |
} |
|
// injection des données dans le squelette |
$contenu = null; |
$mime = null; |
76,7 → 76,8 |
$ext = (isset($retour['squelette_ext'])) ? $retour['squelette_ext'] : '.tpl.html'; |
// Suffixe de template pour la langue - fr par défaut @TODO configurer ça un jour |
$suffixeLangue = ""; |
if ($this->langue != null && $this->langue != "fr") { |
// Si "nolang" n'est pas vide, on ne cherchera pas de squelette spécifique à la langue en cours |
if ($this->langue != null && $this->langue != "fr" && empty($retour['nolang'])) { |
$suffixeLangue = "_" . $this->langue; |
} |
// Template par défaut ou spécifique |
287,6 → 288,10 |
$taxons_tries[$taxon['num_nom_sel']] = $taxon; |
} |
$widget['donnees']['taxons'] = json_encode($taxons_tries); |
//echo "<pre>"; var_dump($widget); echo "</pre>"; |
// Le squelette n'est pas traduit, seules les données de taxons le sont |
$widget['nolang'] = true; |
|
return $widget; |
} |
|
351,10 → 356,21 |
*/ |
protected function recupererListeTaxon() { |
$taxons = array(); |
$fichier_tsv = null; |
if ($this->projet == 'missions-flore') { |
$fichier_tsv = dirname(__FILE__).self::DS.'configurations'.self::DS.$this->projet.'_'.$this->mission.'_taxons.tsv'; |
} else { |
$fichier_tsv = dirname(__FILE__).self::DS.'configurations'.self::DS.$this->projet.'_taxons.tsv'; |
// recherche d'un fichier traduit (pour les noms vernaculaires) |
$suffixeLangue = ""; |
if ($this->langue != null && $this->langue != "fr") { |
$suffixeLangue = "_" . $this->langue; |
$fichier_tsv = dirname(__FILE__).self::DS.'configurations'.self::DS.$this->projet.'_taxons'.$suffixeLangue.'.tsv'; |
} |
// si le fichier de taxons traduit n'est pas disponible ou qu'on n'a |
// pas demandé de langue particulière, on se rabat sur celui par défaut |
if (! file_exists($fichier_tsv)) { |
$fichier_tsv = dirname(__FILE__).self::DS.'configurations'.self::DS.$this->projet.'_taxons.tsv'; |
} |
} |
if (file_exists($fichier_tsv) && is_readable($fichier_tsv)) { |
$taxons = $this->decomposerFichierTsv($fichier_tsv); |