Rev 220 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php
// declare(encoding='UTF-8');
/**
* Classe mère des Controleurs des modules présentant des Fiches.
*
* @package Collection
* @category Php 5.2
* @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 221 2014-06-19 08:51:27Z aurelien $
*/
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);
}
}