Rev 308 | Rev 329 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php
// declare(encoding='UTF-8');
/**
* Classe mère du module Liste.
*
* @category PHP 5.2
* @package eflore-consultation
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @author Delphine CAUQUIL <delphine@tela-botanica.org>
* @copyright 2011 Tela-Botanica
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2
* @version $Id$
*/
class Ethnobotanique extends aControleur {
private $conteneur = null;
private $nomCourant = null;
private $nomsVernaculaires = null;
public function __construct(Conteneur $conteneur) {
$this->conteneur = $conteneur;
$this->nomCourant = $this->conteneur->getNomCourant();
$this->nomsVernaculaires = $this->conteneur->getApiNomsVernaculaires();
$this->meta = $this->conteneur->getApiMetaDonnees();
$this->appUrls = $this->conteneur->getAppUrls();
}
public function obtenirDonnees() {
$donnees['nvjfl'] = $this->getNvjfl();
$donnees['chorologie'] = $this->getChorologie();
return $donnees;
}
private function getNvjfl() {
$nvjfl = array();
$nt = $this->nomCourant->getNomRetenu()->get('num_taxonomique');
$nomsVerna = $this->nomsVernaculaires->getRechercheComplete($nt);
$nvjfl['noms'] = $nomsVerna['resultat'];
$this->meta->setProjet('nvjfl');
$meta = $this->meta->getMetaDonnees();
$titreMeta = $meta[0]['titre'];
$nvjfl['meta']['titre'] = $titreMeta;
$nvjfl['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('nvjfl');
return $nvjfl;
}
private function getChorologie() {
$infos_choro = $this->nomCourant->getNomSelectionne()->getInfos();
$donnees_choro = array();
$colonnes = array();
foreach ($infos_choro as $param => $valeur) {
$tableau_prefixe = explode('_', $param, 2);
$prefixe = (count($tableau_prefixe) == 2) ? $tableau_prefixe[0] : '';
$lieu = (count($tableau_prefixe) == 2) ? $tableau_prefixe[1] : 'France';
$champs_chorologie = array('presence', 'statut_origine', 'statut_introduction', 'statut_culture');
if(strpos($lieu , '.') === false && in_array($prefixe, $champs_chorologie)) {
$lieu = 'France ('.$lieu.')';
if ($prefixe == 'presence') {
$donnees_choro['Présence'][$lieu] = $valeur;
} elseif ($prefixe == 'statut_origine') {
$donnees_choro['Statut d\'origine'][$lieu] = $valeur;
} elseif ($prefixe == 'statut_introduction') {
$donnees_choro['Statut d\'introduction'][$lieu] = $valeur;
} elseif ($prefixe == 'statut_culture') {
$donnees_choro['Statut de culture'][$lieu] = $valeur;
}
if(!in_array($lieu, $colonnes)) {
$colonnes[] = $lieu;
}
}
}
foreach ($donnees_choro['Présence'] as $lieu => $valeur) {
if (!isset($donnees_choro['Statut d\'origine'][$lieu])) {
$donnees_choro['Statut d\'origine'][$lieu] = '';
}
if (!isset($donnees_choro['Statut d\'introduction'][$lieu])) {
$donnees_choro['Statut d\'introduction'][$lieu] = '';
}
if (!isset($donnees_choro['Statut de culture'][$lieu])) {
$donnees_choro['Statut de culture'][$lieu] = '';
}
}
$donnees = array('colonnes' => $colonnes, 'donnees' => $donnees_choro);
$this->meta->setProjet('bdtfx');
$meta = $this->meta->getMetaDonnees();
$titreMeta = $meta[0]['titre'];
$donnees['meta']['titre'] = $titreMeta;
$donnees['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('bdtfx');
return $donnees;
}
public function getBloc() {
$nt = $this->nomCourant->getNomRetenu()->get('num_taxonomique');
$nomsVerna = $this->nomsVernaculaires->getRechercheLimitee($nt);
$donnees['nomsVerna'] = array_slice($nomsVerna['resultat'], 0, 5);
return $donnees;
}
}
?>