Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

No changes between revisions

Ignore whitespace Rev 1393 → Rev 1394

/tags/v5.9-van-tieghem/modules/fiche_metadonnees/squelettes/metadonnees.tpl.html
New file
0,0 → 1,87
<div>
<a id="lien_metadonnees_resume" href="#metadonnees_resume">Résumé</a>
<a id="lien_metadonnees" href="#metadonnees_resume">Détails</a>
<div id="metadonnees_resume">
<br />
<span class="intitule_metadonnee">Ces données proviennent de la base "</span><?= $metadonnees_resume['titre']; ?>" <br />
<span class="intitule_metadonnee">de</span> <?= $metadonnees_resume['auteurs']['noms'] ?><br /><br />
<span class="intitule_metadonnee">Description :</span>
<span class="metadonnees_resume_description"><?= $metadonnees_resume['description']; ?></span><br />
<span class="intitule_metadonnee">Citation : </span> "<?= $metadonnees_resume['citation'] ?>"<br /><br />
<?php if ($metadonnees_resume['date'] != null): ?>
<span class="intitule_metadonnee">Mise à jour le</span> <?= $metadonnees_resume['date']; ?>
<?php endif; ?>
<br/>
<?php if($metadonnees_resume['url'] != "") { ?>
<span class="intitule_metadonnee">Url du projet : </span><a href="<?= $metadonnees_resume['url']; ?>"><?= $metadonnees_resume['url']; ?></a><br />
<? } ?>
<?php if($metadonnees_resume['auteurs']['contacts'] != "") { ?>
<span class="intitule_metadonnee">Contact du ou des auteurs du projet : </span><?= $metadonnees_resume['auteurs']['contacts']; ?>
<? } ?>
</div>
 
<div id="metadonnees">
<ul>
<? foreach ($metadonnees as $donnee) : ?>
<? foreach ($donnee as $cle => $valeur) : ?>
<li>
<?php if(is_array($valeur)) { ?>
<? foreach ($valeur[0] as $sous_cle => $sous_valeur) : ?>
<ul class="sous-liste-metadonnees">
<li>
<?php if(trim($sous_cle) != '') { ?>
<span class="intitule_metadonnee"><?= $i18n[$sous_cle] ?> :</span>
<? } ?>
<span class="valeur_metadonnee"><?= $sous_valeur ?></span>
</li>
</ul>
<? endforeach; ?>
<?php } else { ?>
<?php if(trim($cle) != '') { ?>
<span class="intitule_metadonnee"><?= $i18n[$cle] ?> :</span>
<? } ?>
<span class="valeur_metadonnee"><?= $valeur ?></span>
<?php } ?>
</li>
<? endforeach; ?>
<? endforeach; ?>
</ul>
</div>
</div>
<script>
function redimensionnerFancyBox() {
$('#fancybox-inner').width("auto");
$('#fancybox-outer').width("auto");
$('#fancybox-content').width("auto");
}
 
function afficherResumeMetadonnees() {
$('#lien_metadonnees_resume').addClass("lien_metadonnees_affiche");
$('#lien_metadonnees').removeClass("lien_metadonnees_affiche");
$('#metadonnees_resume').show();
$('#metadonnees').hide();
}
function afficherMetadonneesCompletes() {
$('#lien_metadonnees').addClass("lien_metadonnees_affiche");
$('#lien_metadonnees_resume').removeClass("lien_metadonnees_affiche");
$('#metadonnees_resume').hide();
$('#metadonnees').show();
}
 
$(document).ready(function() {
afficherResumeMetadonnees();
$('#lien_metadonnees').click(function(event) {
afficherMetadonneesCompletes();
redimensionnerFancyBox();
event.preventDefault();
});
$('#lien_metadonnees_resume').click(function(event) {
afficherResumeMetadonnees();
redimensionnerFancyBox();
event.preventDefault();
});
});
</script>
/tags/v5.9-van-tieghem/modules/fiche_metadonnees/FicheMetadonnees.php
New file
0,0 → 1,125
<?php
// declare(encoding='UTF-8');
/**
* Classe mère du module fiche metadonnées.
*
* @category PHP 5.2
* @package eflore-consultation
* @author Aurélien Peronnet <aurelien@tela-botanica.org>
* @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 FicheMetadonnees extends aControleur {
 
private $projet = '';
private $serviceMetaDonnees;
 
public function __construct($metadonnees = null) {
$this->capturerParametres();
$this->serviceMetaDonnees = (is_null($this->serviceMetaDonnees)) ? new MetaDonnees($this->projet) : $metadonnees;
}
 
public function executerActionParDefaut() {
$this->executerAffichageMetaDonnees();
}
 
public function chargerMetadonneesHtml() {
$meta = $this->serviceMetaDonnees->getMetaDonnees();
$meta_resume = $this->formaterResumeMetadonnees($meta[0]);
$donnees['i18n'] = I18n::get('Metadonnees');
foreach ($meta as $index => $metadonnees) {
$meta[$index] = $this->formaterClesMetadonnees($metadonnees);
}
$donnees['metadonnees'] = $meta;
$donnees['metadonnees_resume'] = $meta_resume;
$html = $this->getVue(dirname(__FILE__).'/squelettes/metadonnees', $donnees);
return $html;
}
private function formaterResumeMetadonnees($meta) {
// tentative de retrouver une date de mise à jour
$dateCreationOuMaj = null;
if (! empty($meta['date_creation'])) {
$dateCreationOuMaj = strftime("%d/%m/%Y", strtotime($meta['date_creation']));
}
// retour
return array('auteurs' => $this->formaterAuteurs($meta),
'url' => $this->formaterUrl($meta),
'description' => $meta['description'],
'citation' => $meta['citation'],
'titre' => $meta['titre'],
'date' => $dateCreationOuMaj
);
}
private function formaterAuteurs($meta) {
$contacts = array();
$noms = array();
if(isset($meta['createurs.details'])) {
foreach($meta['createurs.details'] as $createur_detail) {
$auteur_nom_fmt = isset($createur_detail["p.nom"]) ? $createur_detail["p.nom"] : "";
$auteur_prenom_fmt = isset($createur_detail["p.prenom"]) ? $createur_detail["p.prenom"] : "";
$structure_fmt = isset($createur_detail["o.nom"]) ? $createur_detail["o.nom"] : "";
$auteur_contact = isset($createur_detail["p.courriel"]) ? $createur_detail["p.courriel"] : "";
if($auteur_prenom_fmt != "" || $auteur_nom_fmt != "") {
$nom_prenom_structure_fmt = $auteur_prenom_fmt.' '.$auteur_nom_fmt;
if($structure_fmt != "") {
$nom_prenom_structure_fmt .= " (".$structure_fmt.")";
}
$noms[] = $nom_prenom_structure_fmt;
}
if($auteur_contact != "") {
$contacts[] = $auteur_contact;
}
}
}
$createurs = array('noms' => implode(", ", $noms), 'contacts' => implode(", ", $contacts));
return $createurs;
}
private function formaterUrl($meta) {
return $meta['url_projet'];
}
 
public function executerAffichageMetaDonnees($donnees) {
header('Content-type: text/html; charset=UTF-8');
$html = $this->chargerMetadonneesHtml();
echo $html;
exit;
}
 
private function capturerParametres() {
if (isset($_GET['projet'])) {
$this->projet = $_GET['projet'];
}
}
private function formaterClesMetadonnees($metadonnees) {
$meta_fmt = array();
foreach ($metadonnees as $cle => $metadonnee) {
$cle_fmt = str_replace('.', '_', $cle);
if(is_array($metadonnee)) {
$metadonnee = $this->formaterClesMetadonnees($metadonnee);
} elseif($this->estUnLien($metadonnee)) {
$metadonnee = $this->formaterLienMetadonnee($metadonnee);
}
$meta_fmt[$cle_fmt] = $metadonnee;
}
return $meta_fmt;
}
private function estUnLien($valeur) {
// le test du pauvre, mais ça suffit ici
// car nous controlons le format des métadonnées
return strpos($valeur, "http://") !== false;
}
private function formaterLienMetadonnee($lien) {
return '<a href="'.$lien.'" target="_blank">'.$lien.'</a>';
}
}
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property