Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 921 → Rev 922

/trunk/modules/popup_galerie/squelettes/popup_galerie_illustrations.tpl.html
1,25 → 1,124
<script type="text/javascript">
<!--
var urls = [<?= '"'.implode($urls, '","').'"'; ?>];
var ids = [<?= '"'.implode($ids, '","').'"'; ?>];
var meta = new Array();
var indexImage = 0;
var urlImage = "<?= $url_image; ?>";
var tailleMax = 580;
var titre = "<?= $titre; ?>";
var urlMeta = "<?= $url_meta; ?>";
var urlContact = "<?= $url_contact; ?>";
var metadonneesOuvertes = false;
var hauteurSansMeta = null;
function redimensionnerImage(objet) {
objet.removeAttr("width");
objet.removeAttr("height");
var hauteurImage = objet.height();
var largeurImage = objet.width();
var rapport = 1;
if(hauteurImage > largeurImage && hauteurImage > tailleMax) {
rapport = largeurImage/hauteurImage;
hauteurImage = 580;
largeurImage = hauteurImage*rapport;
$('#illustration').attr("height", hauteurImage);
$('#illustration').attr("width", largeurImage);
}
hauteurSansMeta = hauteurImage+90;
window.resizeTo(largeurImage+150,hauteurImage+90);
}
function imageSuivante() {
indexImage++;
if(indexImage >= urls.length) {
indexImage = 0;
}
cacherMetadonnees();
$('#illustration').attr('src', urls[indexImage]);
}
function imagePrecedente() {
indexImage--;
if(indexImage <= 0) {
indexImage = urls.length - 1;
}
cacherMetadonnees();
$('#illustration').attr('src', urls[indexImage]);
}
function ouvrirFenetreIllustrationResultat(url, titre) {
var fenetre = window.open('', titre+" - zoom ");
var tmp = fenetre.document;
tmp.write('<html><head><title>'+titre+" - zoom "+'</title>');
tmp.write('</head><body>');
tmp.write('<p style="height="100%";text-align:center;line-height="100%"><img id="image_agrandie" style="vertical-align:middle;" src="'+url+'" /></p>');
tmp.write('</body></html>');
tmp.clos();
}
function obtenirUrlContact(idImage, IdAuteur) {
return urlContact.replace('{id_auteur}',IdAuteur).replace('{id_img}',idImage);
}
function formaterDate(string) {
var date = new Date();
var parts = String(string).split(/[- :]/);
date.setFullYear(parts[0]);
date.setMonth(parts[1] - 1);
date.setDate(parts[2]);
date.setHours(parts[3]);
date.setMinutes(parts[4]);
date.setSeconds(parts[5]);
date.setMilliseconds(0);
return (("0" + date.getDate()).slice(-2))+"/"+(("0"+(date.getMonth()+1)).slice(-2))+"/"+date.getFullYear();
}
function formaterMetadonnees(data) {
data.contact_url = obtenirUrlContact(ids[indexImage], data['auteur.id']);
data.id = ids[indexImage];
data.date = formaterDate(data.date);
return data;
}
function chargerEtAfficherMetadonnees() {
$('#info-obs-meta').remove();
if(meta[ids[indexImage]] == null) {
var urlMetaImage = urlMeta.replace('{projet}','cel').replace('{id}',ids[indexImage]);
$.get(urlMetaImage, function(data) {
data = formaterMetadonnees(data);
afficherMetadonnees(data);
meta[ids[indexImage]] = data;
});
} else {
afficherMetadonnees(meta[ids[indexImage]]);
}
}
function afficherMetadonnees(data) {
$("#tpl-obs-meta").tmpl(data).appendTo('.img-cadre');
window.resizeTo($(window).width(),hauteurSansMeta+215);
$("#lien-voir-meta").html('Cacher les informations');
}
function cacherMetadonnees() {
window.resizeTo($(window).width(), hauteurSansMeta);
$('#info-obs-meta').remove();
$("#lien-voir-meta").html('Informations sur cette image / Contacter l\'auteur');
metadonneesOuvertes = false;
}
$(document).ready(function() {
$('#precedent').click(function() {
indexImage--;
if(indexImage <= 0) {
indexImage = urls.length - 1;
}
console.log(indexImage);
$('#illustration').attr('src', urls[indexImage]);
imagePrecedente();
});
$('#suivant').click(function() {
indexImage++;
if(indexImage >= urls.length) {
indexImage = 0;
}
console.log(indexImage);
$('#illustration').attr('src', urls[indexImage]);
imageSuivante();
});
if(urlImage != "null" && urlImage != "") {
26,20 → 125,69
indexImage = Array.indexOf(urls, urlImage);
$('#illustration').attr('src', urls[indexImage]);
}
$('#illustration').load(function() {
redimensionnerImage($(this));
});
$('#illustration').click(function() {
ouvrirFenetreIllustrationResultat($(this).attr("src").replace("L","X3L"), titre);
});
$("#lien-voir-meta").click(function() {
metadonneesOuvertes = !metadonneesOuvertes;
if(metadonneesOuvertes) {
chargerEtAfficherMetadonnees();
} else {
cacherMetadonnees();
}
});
$("body").keydown(function(e) {
if(e.keyCode == 37) { // gauche
imagePrecedente();
}
else if(e.keyCode == 39) { // droite
imageSuivante();
}
});
$('#zone-pied').hide();
});
// -->
</script>
<div id="info-img">
 
<!-- Squelette du contenu du tableau des observation -->
<script id="tpl-obs-meta" type="text/x-jquery-tmpl">
<div id="info-obs-meta" class="importance1">
<dl>
<dt>Photo n°</dt><dd>${id}</dd>
<dt>Titre</dt><dd>${$data["determination.nom_sci"]}</dd>
<dt>Description</dt><dd>${$data['determination.libelle']}</dd>
<dt>Localisation</dt><dd>${$data['station.commune']}</dd>
<dt>Auteur</dt>
<dd>
${$data['auteur.libelle']}
<a class="mailto" href="${contact_url}">(Contacter ...)</a>
</dd>
<dt>Date d'observation</dt><dd>${date}</dd>
<dt>Licence</dt><dd><a class="lien-externe" href="http://www.tela-botanica.org/page:licence">CC-BY-SA</a></dd>
</dl>
</div>
</script>
 
<div id="info-img-galerie">
<div class="conteneur-precedent">
<a id="precedent" href="#">
<a id="precedent" href="#" title="cliquez ici ou utilisez la flèche gauche pour afficher l'image précédente">
<img style="border:none" src="http://www.tela-botanica.org/sites/commun/generique/images/flecheGauche.jpg" alt="&lt;" />
</a>
</div>
<div class="img-cadre">
<img id="illustration" src="<?=$urls[0]?>" alt="" />
<img id="illustration" src="<?=$urls[0]?>" alt="" title="cliquez pour voir cette image dans son format original" /><br />
<a id="lien-voir-meta" href="#" title="cliquez ici pour voir les métadonnées de l'image et contacter l'auteur">Informations sur cette image / Contacter l'auteur</a>
</div>
<div class="conteneur-suivant">
<a id="suivant" href="#">
<a id="suivant" href="#" title="cliquez ici ou utilisez la flèche droite pour afficher l'image suivante">
<img style="border:none" src="http://www.tela-botanica.org/sites/commun/generique/images/flecheDroite.jpg" alt="&gt;" />
</a>
</div>
/trunk/modules/popup_galerie/PopupGalerie.php
17,7 → 17,9
private $urlImage = null;
private $images = null;
private $appUrls = null;
private $format = 'CS';
private $titre = '';
private $format_miniature = 'CS';
private $format_agrandi = 'L';
 
public function initialiser() {
$this->capturerParametres();
36,6 → 38,9
if (isset($_GET['format'])) {
$this->format = $_GET['format'];
}
if (isset($_GET['titre'])) {
$this->titre = $_GET['titre'];
}
}
 
public function executerActionParDefaut() {
46,13 → 51,31
$infos = array();
$this->images->setProjet('cel');
$urls = $this->images->getUrlsImagesParIdsNoms(array($this->num_nom));
$infos['urls'] = $urls['bdtfx.'.$this->num_nom];
$urls = $urls['bdtfx.'.$this->num_nom];
$ids = array();
foreach($urls as $index => $url) {
$urls[$index] = str_replace($this->format_miniature, $this->format_agrandi, $url);
$ids[$index] = $this->extraireIdDeUrl($url);
}
$infos['urls'] = $urls;
$infos['ids'] = $ids;
$infos['num_nom'] = $this->num_nom;
$infos['url_image'] = $this->urlImage;
$infos['url_image'] = str_replace($this->format_miniature, $this->format_agrandi, $this->urlImage);
$infos['titre'] = $this->titre;
$infos['url_meta'] = Config::get('imagesPopupTpl');
$infos['url_contact'] = $this->appUrls->obtenirUrlPopUpContact("{id_auteur}", "{id_img}");
$this->setSortie(self::META_TITRE,$this->titre, true);
$this->setSortie(self::RENDU_CORPS, $this->getVue('popup_galerie_illustrations', $infos));
}
private function extraireIdDeUrl($url) {
$matches = array();
preg_match('#cel-img:([0-9]*)'.$this->format_miniature.'#', $url, $matches);
return ltrim($matches[1],'0');
}
private function formaterDateImg($date) {
$dateFmt = $date;
if ($date == '0000-00-00' || $date == '1970-01-01 01:01:01') {