* @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$ */ abstract class Fiche extends aControleur { protected $structureDao = null; protected $collectionDao = null; protected $personneDao = null; public function __construct() { parent::__construct(); $this->structureDao = new StructureDao(); $this->collectionDao = new CollectionDao(); $this->personneDao = new PersonneDao(); } // +---------------------------------------------------------------------------------------------------------------+ // MÉTHODES GÉNÉRIQUES protected function obtenirNomCompletPersonne($personne_id) { $personne_nom = $this->personneDao->getPersonneNomComplet($personne_id); return $personne_nom; } protected function obtenirCourrielsPersonne($personne_id) { $courriels = $this->personneDao->getPersonneCourriels($personne_id); $courriels = $this->traiterTxtTruck($courriels); $courriels = $this->formaterCourriels($courriels); return $courriels; } protected function traiterDonneesElementAPublication(&$publications) { foreach ($publications as &$publication) { $publication['_editeur_'] = $this->construireTxtTruck($publication['cpu_ce_truk_editeur']); $publication['_date_parution_'] = rtrim($publication['cpu_date_parution'],'-00-00'); if(isset($publication['ccapu_source'])) { $publication['ccapu_source'] = $publication['ccapu_source'] == "1" ? "oui" : "non"; } } } protected function traiterMetaDonnees(&$donnees) { $meta = array(); $meta['_guid_'] = $donnees['_guid_']; $meta['_guid_url_'] = $this->obtenirPermalienGuid($donnees['_guid_']); $meta['_notes_'] = $donnees['cmhl_notes']; $meta['_source_'] = $donnees['cmhl_source']; // les deux champs suivants sont spécifique à la collection // TODO: si d'autres champs spécifiques s'ajoutent, faire un système // générique pour les champs de meta données supplémentaires $meta['_expert_'] = isset($donnees['expert']) ? $donnees['expert'] : null; $meta['_contributeur_'] = isset($donnees['contributeur']) ? $donnees['contributeur'] : null; $meta['_date_modification_'] = $donnees['cmhl_date_modification']; $meta['_modifier_par_'] = $this->obtenirNomCompletPersonne($donnees['cmhl_ce_modifier_par']); $meta['_modifier_par_courriel_'] = $this->obtenirCourrielsPersonne($donnees['cmhl_ce_modifier_par']); $meta['_etat_'] = $this->construireTxtListeOntologie($donnees['cmhl_ce_etat']); return $this->getVue('metadonnees', $meta); } }