/trunk/modeles/CollectionDao.php |
---|
New file |
0,0 → 1,55 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Modèle d'accès à la base de données des Collections pour le module Collections. |
* |
* @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$ |
* |
*/ |
class CollectionDao extends ColModele { |
/** |
* Retourne l'ensemble des information sur une collection. |
* |
* @param integer l'id de la collection. |
* @return array un tableau contenant les informations sur la collection. |
*/ |
public function getCollection($id) { |
$json = file_get_contents("http://www.tela-botanica.org/eflore/coel/jrest/CoelCollection/*/$id/*"); |
$donnees = json_decode($json, true); |
return $donnees[1]; |
} |
/** |
* Retourne l'ensemble des personnes liées à une collection. |
* |
* @param integer l'id de la collection. |
* @return array un tableau contenant les informations sur les personnes liées à la collection. |
*/ |
public function getCollectionAPersonne($id_collection) { |
$json = file_get_contents("http://www.tela-botanica.org/eflore/coel/jrest/CoelCollectionAPersonne/$id_collection"); |
$donnees = json_decode($json, true); |
$this->nettoyerTableauDeTableauxAssoc($donnees); |
return $donnees; |
} |
/** |
* Retourne l'ensemble des publications liées à une collection. |
* |
* @param integer l'id de la collection. |
* @return array un tableau contenant les informations sur les publications liées à la collection. |
*/ |
public function getCollectionAPublication($id_collection) { |
$json = file_get_contents("http://www.tela-botanica.org/eflore/coel/jrest/CoelCollectionAPublication/$id_collection"); |
$donnees = json_decode($json, true); |
$this->nettoyerTableauDeTableauxAssoc($donnees); |
return $donnees; |
} |
} |
?> |
/trunk/bibliotheque/noyau/ColControleur.php |
---|
189,6 → 189,13 |
return $txt_a_retourner; |
} |
protected function formaterDate($date) { |
if ($date == '' || $date == '0000-00-00' || $date == '0000-00-00 00:00:00') { |
$date = 'Inconnue'; |
} |
return $date; |
} |
protected function nettoyerPointFinal($mot) { |
$mot = preg_replace('/[.]$/', '', $mot); |
return $mot; |
/trunk/squelettes/fiche_collection.tpl.html |
---|
1,0 → 0,0 |
<h1>Collection <?=$id?></h1> |
<h1><?=$info['cc_nom']?> <span class="discretion">(id:<?=$id?>)</span></h1> |
<dl> |
<dt>Structure</dt> <dd><?=$info['_structure_nom_']?></dd> |
<dt>Ville</dt> <dd><?=$info['_structure_ville_']?></dd> |
</dl> |
<h2>Général</h2> |
<h3>Renseignements administratifs</h3> |
<dl> |
<dt>Autres intitulés</dt> <dd><?=$info['_nom_alternatif_']?></dd> |
<dt>À pour collection parente</dt> <dd><?=$info['_collection_mere_nom_']?> <?php if ($info['cc_ce_mere'] != '0') : ?><span class="discretion">(id:<?=$info['cc_ce_mere']?>)</span><?php endif; ?></dd> |
<dt>Type de collection</dt> <dd><?=$info['_type_ncd_']?></dd> |
<dt>Statut</dt> <dd><?=$info['_type_depot_']?></dd> |
<dt>Identifiants alternatifs</dt> <dd><?=$info['_identifiant_alternatif_']?></dd> |
<dt>Acronymes</dt> <dd><?=$info['_code_']?></dd> |
<dt>Cote</dt> <dd><?=$info['cc_cote']?></dd> |
</dl> |
<h3>Statut, intitulés et codes</h3> |
<dl> |
<dt>Description</dt> <dd><?=$info['cc_description']?></dd> |
<dt>Description spécialiste</dt> <dd><?=$info['cc_description_specialiste']?></dd> |
<dt>Historique</dt> <dd><?=$info['cc_historique']?></dd> |
<dt>Site web</dt> <dd><?=$info['_url_']?></dd> |
</dl> |
<h3>Spécimens «types»</h3> |
<dl> |
<dt>Présence</dt> <dd><?=$info['_specimen_type_']?></dd> |
<dt>Nombre</dt> <dd><?=$info['cc_specimen_type_nbre']?> <?=$info['_specimen_type_nbre_precision_']?></dd> |
<dt>Classement</dt> <dd><?=$info['_specimen_type_classement_']?></dd> |
</dl> |
<h3>Couvertures</h3> |
<dl> |
<dt>Principe de groupement</dt> <dd><?=$info['_groupement_principe_']?></dd> |
<dt>But du groupement</dt> <dd><?=$info['_groupement_but_']?></dd> |
<dt>Lieux concernés</dt> <dd><?=$info['_couverture_lieu_']?></dd> |
</dl> |
<h3>Divers</h3> |
<dl> |
<dt>GUID</dt> <dd><?=$info['cc_guid']?> </dd> |
<dt>Notes</dt> <dd><?=$info['cmhl_notes']?> </dd> |
<dt>Sources</dt> <dd><?=$info['cmhl_source']?> </dd> |
<dt>Modifié par</dt> <dd><?=$info['_modifier_par_']?> </dd> |
<dt>Date de dernière modification</dt> <dd><?=$info['cmhl_date_modification']?> </dd> |
<dt>État de l'enregistrement</dt> <dd><?=$info['_etat_']?> </dd> |
</dl> |
<h2>Personnes</h2> |
<h3>Personne(s) liées à la collection</h3> |
<?php if (count($personnes) > 0) : ?> |
<table> |
<thead> |
<tr> |
<th>Relation</th> |
<th>Nom Complet</th> |
<th>Nom</th> |
<th>Prénom</th> |
<th>Date de naissance</th> |
<th>Lieu de naissance</th> |
<th>Décès</th> |
<th>Date de décès</th> |
<th>Lieu de décès</th> |
</tr> |
</thead> |
<tbody> |
<?php foreach ($personnes as $personne) : ?> |
<tr> |
<td><?=$personne['_role_']?></td> |
<td><?=$personne['cp_fmt_nom_complet']?></td> |
<td><?=$personne['cp_nom']?></td> |
<td><?=$personne['cp_prenom']?></td> |
<td><?=$personne['_naissance_date_']?></td> |
<td><?=$personne['cp_naissance_lieu']?></td> |
<td><?=$personne['_deces_']?></td> |
<td><?=$personne['_deces_date_']?></td> |
<td><?=$personne['cp_deces_lieu']?></td> |
</tr> |
<?php endforeach; ?> |
</tbody> |
</table> |
<?php else : ?> |
<p>Aucune</p> |
<?php endif; ?> |
<h2>Publications</h2> |
<h3>Publication(s) de la collection</h3> |
<?php if (count($publications) > 0) : ?> |
<table> |
<thead> |
<tr> |
<th>Auteurs</th> |
<th>Titre</th> |
<th>Nom de la revue / collection</th> |
<th>Éditeur</th> |
<th>Année</th> |
<th>Série / Tome</th> |
<th>Fascicule</th> |
<th>Page(s)</th> |
</tr> |
</thead> |
<tbody> |
<?php foreach ($publications as $publication) : ?> |
<tr> |
<td><?=$publication['cpu_fmt_auteur']?></td> |
<td><?=$publication['cpu_titre']?></td> |
<td><?=$publication['cpu_collection']?></td> |
<td><?=$publication['_editeur_']?></td> |
<td><?=$publication['_date_parution_']?></td> |
<td><?=$publication['cpu_indication_nvt']?></td> |
<td><?=$publication['cpu_fascicule']?></td> |
<td><?=$publication['cpu_truk_pages']?></td> |
</tr> |
<?php endforeach; ?> |
</tbody> |
</table> |
<?php else : ?> |
<p>Aucune</p> |
<?php endif; ?> |
<h2>Description</h2> |
<h2>Contenu</h2> |
<h2>Inventaire</h2> |
<h2>Notes</h2> |
/trunk/controleurs/Fiche.php |
---|
24,7 → 24,6 |
public function afficherStructure() { |
$donnees = array(); |
$structureDao = $this->getModele('StructureDao'); |
// Gestion des actions par défaut |
$this->executerAction('Recherche', 'chargerMoteurRecherche'); |
34,6 → 33,7 |
} else { |
$donnees['id'] = $_GET['id']; |
$structureDao = $this->getModele('StructureDao'); |
$donnees['info'] = $structureDao->getStructure($donnees['id']); |
$donnees['personnel'] = $structureDao->getPersonnel($donnees['id']); |
$this->traiterMetaDonnees($donnees['info']); |
41,7 → 41,6 |
$this->traiterPersonnel($donnees['personnel']); |
$this->traiterDonneesStructureConservation($donnees['info']); |
$this->traiterDonneesStructureValorisation($donnees['info']); |
Debug::printr($donnees); |
$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_structure', $donnees)); |
} |
} |
171,15 → 170,78 |
public function afficherCollection() { |
$donnees = array(); |
// Gestion des actions par défaut |
$this->executerAction('Recherche', 'chargerMoteurRecherche'); |
// Gestion des données de la requête |
if (!isset($_GET['id'])) { |
} else { |
$donnees['id'] = $_GET['id']; |
$collectionDao = $this->getModele('CollectionDao'); |
$donnees['info'] = $collectionDao->getCollection($donnees['id']); |
$donnees['personnes'] = $collectionDao->getCollectionAPersonne($donnees['id']); |
$donnees['publications'] = $collectionDao->getCollectionAPublication($donnees['id']); |
$this->traiterMetaDonnees($donnees['info']); |
$this->traiterDonneesCollection($donnees['info']); |
$this->traiterDonneesCollectionAPersonne($donnees['personnes']); |
$this->traiterDonneesCollectionAPublication($donnees['publications']); |
Debug::printr($donnees); |
$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_collection', $donnees)); |
} |
} |
// Gestion du squelette et de la sortie |
$this->executerAction('Recherche', 'chargerMoteurRecherche'); |
$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_collection', $donnees)); |
private function traiterDonneesCollectionAPublication(&$publications) { |
foreach ($publications as &$publication) { |
$publication['_editeur_'] = $this->construireTxtTruck($publication['cpu_ce_truk_editeur']); |
$publication['_date_parution_'] = rtrim($publication['cpu_date_parution'],'-00-00'); |
} |
} |
private function traiterDonneesCollectionAPersonne(&$personnes) { |
// liste 27 : Liste des relations entre une collection et une personne |
Ontologie::chargerListe(1030); |
// liste 77 : Liste indéterminé/oui/non |
Ontologie::chargerListe(1080); |
foreach ($personnes as &$personne) { |
$personne['_role_'] = $this->construireTxtListeOntologie($personne['ccap_id_role']); |
$personne['_deces_'] = $this->construireTxtListeOntologie($personne['cp_ce_deces']); |
$personne['_naissance_date_'] = $this->formaterDate($personne['cp_naissance_date']); |
$personne['_deces_date_'] = $this->formaterDate($personne['cp_deces_date']); |
} |
} |
private function traiterDonneesCollection(&$donnees) { |
// liste 29 : Liste des types de collection dans le standard NCD |
Ontologie::chargerListe(1032); |
// liste 30 : Liste des types de dépôt de collection |
Ontologie::chargerListe(1033); |
// liste 31 : Liste des principes de groupement d'une collection dans le standard NCD |
Ontologie::chargerListe(1034); |
// liste 32 : Liste des buts de réalisation d'une collection dans le standard NCD |
Ontologie::chargerListe(1035); |
// liste 38 : Liste indéterminé/peut-être/oui/non |
Ontologie::chargerListe(1041); |
// liste 39 : Liste des types de classement des spécimens types dans une collection |
Ontologie::chargerListe(1042); |
// liste 79 : Liste exact/approximatif |
Ontologie::chargerListe(1082); |
$donnees['_nom_alternatif_'] = $this->construireTxtTruck($donnees['cc_truk_nom_alternatif']); |
$donnees['_type_ncd_'] = $this->construireTxtListeOntologie($donnees['cc_ce_type']); |
$donnees['_type_depot_'] = $this->construireTxtListeOntologie($donnees['cc_ce_type_depot']); |
$donnees['_identifiant_alternatif_'] = $this->construireTxtTruckSansMajuscule($donnees['cc_truk_identifiant_alternatif']); |
$donnees['_code_'] = $this->construireTxtTruckSansMajuscule($donnees['cc_truk_code']); |
$donnees['_url_'] = $this->construireTxtTruckSansMajuscule($donnees['cc_truk_url']); |
$donnees['_specimen_type_'] = $this->construireTxtListeOntologie($donnees['cc_ce_specimen_type']); |
$donnees['_specimen_type_nbre_precision_'] = $this->construireTxtListeOntologie($donnees['cc_ce_specimen_type_nbre_precision']); |
$donnees['_specimen_type_nbre_precision_'] = $this->formaterParenthese($donnees['_specimen_type_nbre_precision_']); |
$donnees['_specimen_type_classement_'] = $this->construireTxtListeOntologie($donnees['cc_ce_specimen_type_classement']); |
$donnees['_groupement_principe_'] = $this->construireTxtListeOntologie($donnees['cc_truk_groupement_principe']); |
$donnees['_groupement_but_'] = $this->construireTxtListeOntologie($donnees['cc_truk_groupement_but']); |
$donnees['_couverture_lieu_'] = $this->construireTxtTruck($donnees['cc_truk_couverture_lieu']); |
} |
} |