Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 718 → Rev 719

/trunk/widget/modules/saisie/Saisie.php
22,7 → 22,9
const DS = DIRECTORY_SEPARATOR;
const PROJET_DEFAUT = 'biodiversite34';
private $projet = null;
private $configProjet = null;
/**
* Méthode appelée par défaut pour charger ce widget.
*/
31,10 → 33,14
extract($this->parametres);
 
if (!isset($projet)) {
$projet = self::PROJET_DEFAUT;
$this->projet = self::PROJET_DEFAUT;
} else {
$this->projet = $projet;
}
$this->chargerConfigProjet();
$methode = $this->traiterNomMethodeExecuter($projet);
$service = (isset($service)) ? $service : $this->projet;
$methode = $this->traiterNomMethodeExecuter($service);
if (method_exists($this, $methode)) {
$retour = $this->$methode();
} else {
44,20 → 50,60
if (is_null($retour)) {
$contenu = 'Un problème est survenu : '.print_r($this->messages, true);
} else {
$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS.$projet.self::DS.$retour['squelette'].'.tpl.html';
$ext = (isset($retour['squelette_ext'])) ? $retour['squelette_ext'] : '.tpl.html';
$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS.$this->projet.self::DS.$retour['squelette'].$ext;
$contenu = $this->traiterSquelettePhp($squelette, $retour['donnees']);
}
$this->envoyer($contenu);
}
private function chargerConfigProjet() {
$fichier_config = dirname(__FILE__).self::DS.'configurations'.self::DS.$this->projet.'.ini';
if (file_exists($fichier_config)) {
if (!$this->configProjet = parse_ini_file($fichier_config)) {
$this->messages[] = "Le fichier ini '$fichier_config' du projet n'a pu être chargé.";
}
} else {
$this->messages[] = "Le fichier ini '$fichier_config' du projet n'existe pas.";
}
}
public function executerBiodiversite34() {
$widget['squelette'] = 'biodiversite34';
$widget['squelette'] = $this->projet;
$widget['donnees'] = array();
$widget['donnees']['url_base'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], '');
$widget['donnees']['taxons'] = $this->recupererListeTaxonBiodiversite34();
$widget['donnees']['milieux'] = $this->parserMilieuxBiodiversite34();
return $widget;
}
public function executerTaxons() {
$widget['squelette'] = $this->projet.'_taxons';
$widget['squelette_ext'] = '.tpl.js';
$widget['donnees'] = array();
$methode = 'recupererListeTaxon'.str_replace(' ', '', ucwords(str_replace('-', ' ', strtolower($this->projet))));
$taxons = $this->$methode();
$taxons_tries = array();
foreach ($taxons as $taxon) {
$taxons_tries[$taxon['num_nom_sel']] = $taxon;
}
$widget['donnees']['taxons'] = json_encode($taxons_tries);
return $widget;
}
private function parserMilieuxBiodiversite34() {
$infosMilieux = array();
$milieux = explode('|', $this->configProjet['milieux']);
foreach ($milieux as $milieu) {
$details = explode(';', $milieu);
if (isset($details[1])) {
$infosMilieux[$details[0]] = $details[1];
} else {
$infosMilieux[$details[0]] = '';
}
}
return $infosMilieux;
}
private function recupererListeTaxonBiodiversite34() {
$taxons = null;
$fichier_tsv = dirname(__FILE__).self::DS.'configurations'.self::DS.'biodiversite34_taxons.tsv';