Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 77 → Rev 78

/trunk/interfaces/controleurs/FicheTaxon.php
New file
0,0 → 1,107
<?php
// declare(encoding='UTF-8');
/**
* Classe Controleur du module Fiche Taxon.
*
* @category Php 5.2
* @package Taxon
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @copyright 2010 Tela-Botanica
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
* @version SVN: $Id: Fiche.php 96 2010-06-21 16:46:31Z jpm $
*/
class FicheTaxon extends AppliControleur {
private $donnees = array();
protected $taxonDao = null;
//+----------------------------------------------------------------------------------------------------------------+
// Méthodes
/**
* Fonction d'affichage par défaut
*/
public function executerActionParDefaut() {
return $this->afficherTaxon();
}
// +---------------------------------------------------------------------------------------------------------------+
// FICHE COLLECTION
public function afficherTaxon() {
// Récupération du référentiel
if (isset($_GET['ref'])) {
$this->referentiel = strtolower($_GET['ref']);
}
// Gestion des actions par défaut
$this->taxonDao = new TaxonDao();
$this->definirCommeModulePrincipal(get_class($this));
$this->construireMenu($this->referentiel);
$this->construireFilAriane($this->referentiel);
$this->executerActionReferentiel('Recherche', 'chargerMoteurRecherche', $this->referentiel);
// Gestion des données de la requête
if (!isset($_GET['num_nom'])) {
} else {
// Récupération des données
$this->donnees['referentiel'] = $this->referentiel;
$this->donnees['num_nom'] = $_GET['num_nom'];
$this->donnees['num_nom_retenu'] = $_GET['num_nom_retenu'];
$this->donnees['nom'] = $_GET['nom'];
//$this->donnees['info'] = $this->taxonDao->getTaxon($this->referentiel, $this->donnees['num_nom']);
// Chargement des données des onglets
$this->chargerNomenclature();
//print_r($this->donnees);
/*$this->chargerSynonymie();
$this->chargerClassification();
$this->chargerNotes();
$this->chargerChorologie();
$this->chargerComplements();*/
$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_taxon', $this->donnees));
//$this->chargerPiedDePage();
}
}
public static function getUrlFicheTaxon($params, $type) {
$taxon = null;
switch ($type) {
case 'bas' :
$taxon['num_nom'] = $params['bas_num'];
$taxon['num_nom_retenu'] = $params['bas_num_retenu'];
$taxon['nom_complet'] = $params['bas_nom'];
break;
case 'p1' :
$taxon['num_nom'] = $params['p1_num'];
$taxon['num_nom_retenu'] = $params['p1_num'];
$taxon['nom_complet'] = $params['p1_nom'];
break;
case 'p2' :
$taxon['num_nom'] = $params['p2_num'];
$taxon['num_nom_retenu'] = $params['p2_num'];
$taxon['nom_complet'] = $params['p2_nom'];
break;
default : break;
}
return Recherche::getUrlFicheTaxon($taxon);
}
private function chargerNomenclature() {
$this->donnees['selectionne'] = $this->taxonDao->getNomenclature($this->referentiel, $this->donnees['num_nom']);
if (strpos($this->donnees['nom'], ' x ') ) {
if ($this->donnees['num_nom'] != $this->donnees['num_nom_retenu']) {
$this->donnees['retenu'] = $this->taxonDao->getNomenclature($this->referentiel, $this->donnees['num_nom_retenu']);
$this->donnees['parents'] = $this->taxonDao->getParentsHybride($this->referentiel, $this->donnees['num_nom_retenu']);
} else {
$this->donnees['parents'] = $this->taxonDao->getParentsHybride($this->referentiel, $this->donnees['num_nom']);
}
} else {
if ($this->donnees['num_nom'] != $this->donnees['num_nom_retenu']) {
$this->donnees['retenu'] = $this->taxonDao->getNomenclature($this->referentiel, $this->donnees['num_nom_retenu']);
}
}
}
 
}