/branches/v2.21-plantoir/widget/modules/telechargement/Telechargement.php |
---|
New file |
0,0 → 1,112 |
<?php |
// declare(encoding='UTF-8'); |
class Telechargement extends WidgetCommun { |
private $description_url = null; |
private $infos_images_url = null; |
private $telechargement_url = null; |
private $id_image = null; |
/** |
* Méthode appelée par défaut pour charger ce widget. |
*/ |
public function executer() { |
if (!isset($_GET['id_image']) || !is_numeric($_GET['id_image'])) { |
$this->messages[] = "Ce widget nécéssite un identifiant d'image."; |
} else { |
$this->id_image = $_GET['id_image']; |
} |
if (!empty($this->messages)) { |
$contenu = 'Un problème est survenu : '.print_r($this->messages, true); |
} else { |
$donnees = $this->obtenirDescriptionFormats(); |
$squelette = dirname(__FILE__).'/squelettes'.'/telechargement.tpl.html'; |
$donnees['informations_image'] = $this->obtenirInformationsImages(); |
$donnees['nom_original_fmt'] = $this->formaterNomOriginal($donnees['informations_image']); |
$donnees['resolution_originale'] = $this->formaterResolutionOriginale($donnees['informations_image']); |
$donnees['auteur_fmt'] = $this->formaterAuteur($donnees['informations_image']); |
$donnees['attribution'] = $this->formaterAttribution($donnees['informations_image']); |
$donnees['url_base'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], ''); |
$donnees['date_televersement'] = $this->formaterDateTeleversement($donnees['informations_image']); |
$donnees['url_image_exemple'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelImageFormat').'/'.$this->id_image.'?methode=afficher&format=CS'; |
$donnees['url_image_originale'] = sprintf($this->config['chemins']['celImgUrlTpl'], str_pad($this->id_image, 9, "0", STR_PAD_LEFT).'O'); |
$donnees['base_url_telechargement'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelImageFormat').'/'.$this->id_image.'?methode=telecharger&format=%s'; |
$contenu = $this->traiterSquelettePhp($squelette, $donnees); |
} |
$this->envoyer($contenu); |
} |
private function formaterNomOriginal($infos_images) { |
$nom_original = 'Inconnu.jpg'; |
if(isset($infos_images['nom_original'])) { |
$nom_original = $infos_images['nom_original'].' '; |
} |
return $nom_original; |
} |
private function formaterAttribution($infos_images) { |
$attr = $this->formaterAuteur($infos_images).' [CC BY-SA], via Tela Botanica'; |
return $attr; |
} |
private function formaterAuteur($infos_images) { |
$auteur_fmt = ''; |
if (isset($infos_images['prenom_utilisateur'])) { |
$auteur_fmt .= $infos_images['prenom_utilisateur'].' '; |
} |
if (isset($infos_images['nom_utilisateur'])) { |
$auteur_fmt .= $infos_images['nom_utilisateur']; |
} |
if (trim($auteur_fmt) == '') { |
$auteur_fmt = 'Auteur inconnu'; |
} |
return trim($auteur_fmt); |
} |
private function formaterResolutionOriginale($infos_image) { |
$res_fmt = ''; |
if (isset($infos_image['hauteur']) && isset($infos_image['largeur'])) { |
$res_fmt = $infos_image['hauteur'].' x '.$infos_image['largeur'].' px'; |
} else { |
$res_fmt = 'Taille inconnue'; |
} |
return $res_fmt; |
} |
private function formaterDateTeleversement($infos_image) { |
$date = 'Date inconnue'; |
if (isset($infos_image['date_creation'])) { |
$date = date('d/m/Y', strtotime($infos_image['date_creation'])); |
} |
return $date; |
} |
private function obtenirDescriptionFormats() { |
$this->description_url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelImageFormat'); |
$description = json_decode(file_get_contents($this->description_url), true); |
return $description; |
} |
private function obtenirInformationsImages() { |
$this->infos_images_url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelImage'); |
$infos = json_decode(file_get_contents($this->infos_images_url."/image?imgId=".$this->id_image), true); |
return $infos; |
} |
public static function obtenirLegendeFormatSimplifiee($format) { |
$legende = ''; |
if (strpos($format, 'CR') !== false) { |
$legende = '(Carrée, rognée)'; |
} |
if (strpos($format, 'C') !== false && strpos($format, 'R') === false) { |
$legende = '(Carrée)'; |
} |
return $legende; |
} |
} |
Property changes: |
Added: svnkit:entry:sha1-checksum |
+1cf2d36a44a00cb25dedfb0649397aa96a749e8f |
\ No newline at end of property |
/branches/v2.21-plantoir/widget/modules/telechargement/squelettes/css/telechargement.css |
---|
New file |
0,0 → 1,55 |
#zone-appli { |
max-width: 735px; |
} |
.image_exemple, #liste_formats, .titre_section { |
margin-left: 10px; |
} |
.image_exemple img { |
float: left; |
width: 300px; |
} |
.image_infos { |
float: left; |
padding-top: 45px; |
max-width: 410px; |
} |
.liste_infos li { |
padding-top: 2px; |
padding-bottom: 16px; |
} |
hr.nettoyage { |
visibility: hidden; |
clear: both; |
} |
.champ_selection_texte { |
color: #333333; |
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; |
font-size: 13px; |
line-height: 18px; |
border: none; |
margin-bottom: 0; |
margin-top: -3px; |
} |
.attribution, .lien_image_originale { |
width: auto; |
} |
input#lien_image_originale { |
cursor: pointer; |
} |
input#attribution { |
cursor: default; |
} |
.sans_padding_bt { |
padding-bottom: 0; |
padding-top: 0; |
} |
/branches/v2.21-plantoir/widget/modules/telechargement/squelettes/telechargement.tpl.html |
---|
New file |
0,0 → 1,85 |
<!DOCTYPE html> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<title>Téléchargement d'une image du cel</title> |
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> |
<meta http-equiv="Content-style-type" content="text/css" /> |
<meta http-equiv="Content-script-type" content="text/javascript" /> |
<meta http-equiv="Content-language" content="fr" /> |
<meta name="revisit-after" content="15 days" /> |
<meta name="robots" content="index,follow" /> |
<meta name="author" content="Tela Botanica" /> |
<meta name="keywords" content="Tela Botanica, CEL" /> |
<meta name="description" content="Widget de téléchargement des images du carnet en ligne" /> |
<!-- OpenGraph pour Facebook, Pinterest, Google+ --> |
<meta property="og:type" content="website" /> |
<meta property="og:title" content="Téléchargement d'une image du CeL" /> |
<meta property="og:site_name" content="Tela Botanica" /> |
<meta property="og:description" content="Téléchargez l'image envoyée par <?= $auteur_fmt ?> (Licence CC-BY-SA) dans le format de votre choix" /> |
<meta property="og:image" content="<?= $url_image_exemple ?>" /> |
<meta property="og:locale" content="fr_FR" /> |
<!-- Favicones --> |
<link rel="shortcut icon" type="image/x-icon" href="http://resources.tela-botanica.org/tb/img/16x16/favicon.ico" /> |
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> |
<!-- CSS --> |
<link href="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" /> |
<link href="http://www.tela-botanica.org/commun/bootstrap/2.0.2/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" /> |
<link href="http://www.tela-botanica.org/commun/bootstrap/2.0.2/css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" /> |
<link href="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.17/css/ui-darkness/jquery-ui-1.8.17.custom.css" rel="stylesheet" type="text/css" media="screen" /> |
<link href="<?= $url_base; ?>modules/telechargement/squelettes/css/telechargement.css" rel="stylesheet" type="text/css" media="screen" /> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/1.7.1/jquery-1.7.1.js"></script> |
<script type="text/javascript" src="<?= $url_base; ?>modules/telechargement/squelettes/js/telechargement.js" ></script> |
<script> |
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ |
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), |
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) |
})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); |
ga('create', 'UA-20092557-1', 'auto'); |
ga('require', 'displayfeatures'); |
ga('send', 'pageview'); |
</script> |
</head> |
<body> |
<div id="zone-appli" class="container"> |
<h2 class="titre_section">Téléchargement d'une image</h2> |
<div class="image_exemple"> |
<a href="<?= $url_image_originale ?>" target="_blank"><img src="<?= $url_image_exemple ?>" /></a> |
<div class="image_infos"> |
<ul class="liste_infos"> |
<li>Titre original : <?= $nom_original_fmt ?></li> |
<li>Téléversée par : <?= $auteur_fmt ?></li> |
<li>Le : <?= $date_televersement ?></li> |
<li>Licence : <a target="_blank" href="http://creativecommons.org/licenses/by-sa/2.0/fr/">CC BY-SA</a></li> |
<li class="sans_padding_bt">Attribution : <input readonly="readonly" id="attribution" class="champ_selection_texte attribution" value="<?= $attribution ?>"> |
</li> |
<li class="sans_padding_bt">Url : <input readonly="readonly" id="lien_image_originale" class="champ_selection_texte lien_image_originale" value="<?= $url_image_originale ?>"></li> |
</ul> |
</div> |
</div> |
<hr class="nettoyage" /> |
<ul id="liste_formats"> |
<?php foreach($formats as $format) { ?> |
<?php if($format != "O") { ?> |
<a href="<?= sprintf($base_url_telechargement, $format); ?>" title="<?= $resolutions[$format]['notes']; ?>"> |
<?= $resolutions[$format]['hauteur'];?>px <?= Telechargement::obtenirLegendeFormatSimplifiee($format);?></a> |
<span class="separation"> | </span> |
<?php } else { ?> |
<a href="<?= sprintf($base_url_telechargement, $format); ?>" title="<?= $resolutions[$format]['notes']; ?>"> |
Format original (<?= $resolution_originale; ?>)</a> |
<?php } ?> |
<?php } ?> |
</ul> |
</div> |
</body> |
</html> |
/branches/v2.21-plantoir/widget/modules/telechargement/squelettes/js/telechargement.js |
---|
New file |
0,0 → 1,19 |
$(document).ready(function() { |
$(".champ_selection_texte").hover( |
function() { |
$(this).select(); |
}, function() { |
// rien à faire sur le mouseout |
} |
); |
$(".lien_image_originale").click( |
function () { |
window.open($(this).val(), '_blank'); |
} |
); |
$(".champ_selection_texte").each(function() { |
$(this).attr('size', $(this).val().length - 10); |
}); |
}); |