Subversion Repositories Applications.galerie

Compare Revisions

Ignore whitespace Rev 6 → Rev 7

/branches/livraison_narmer/configuration/gall_config.inc.php
New file
0,0 → 1,91
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of papyrus_bp. |
// | |
// | Foobar is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
// | the Free Software Foundation; either version 2 of the License, or |
// | (at your option) any later version. |
// | |
// | Foobar is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// | GNU General Public License for more details. |
// | |
// | You should have received a copy of the GNU General Public License |
// | along with Foobar; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: gall_config.inc.php,v 1.1 2006-12-07 17:29:20 jp_milcent Exp $
/**
* papyrus_bp - gall_config.inc.php
*
* Description :
*
*@package papyrus_bp
//Auteur original :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 1999-2006
*@version $Revision: 1.1 $ $Date: 2006-12-07 17:29:20 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTÊTE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
$GLOBALS['_GALLERIE_'] = array();
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/** Constante stockant la valeur de la langue par défaut pour l'applette GALL.*/
define('GALL_I18N_DEFAUT', GEN_I18N_ID_DEFAUT);
 
// Chemin des fichiers à inclure.
/** Chemin vers la bibliothèque PEAR.*/
define('GALL_CHEMIN_BIBLIOTHEQUE_PEAR', PAP_CHEMIN_API_PEAR);
 
// Chemin vers les dossiers de l'applette
/** Chemin vers l'applette Gallerie de Papyrus.*/
define('GALL_CHEMIN_APPLETTE', GEN_CHEMIN_CLIENT.'gallerie'.GEN_SEP);
/** Chemin vers les fichiers de traduction de l'applette Gallerie de Papyrus.*/
define('GALL_CHEMIN_LANGUE', GALL_CHEMIN_APPLETTE.'langues'.GEN_SEP);
/** Chemin vers les fichiers de la bibliotheque de l'applette Gallerie de Papyrus.*/
define('GALL_CHEMIN_BIBLIO', GALL_CHEMIN_APPLETTE.'bibliotheque'.GEN_SEP);
/** Chemin vers le dossier de Présenation.*/
define('GALL_CHEMIN_PRESENTATION', GALL_CHEMIN_APPLETTE.'presentation'.GEN_SEP);
/** Chemin vers les fichiers squelettes de l'applette Gallerie de Papyrus.*/
define('GALL_CHEMIN_SCRIPTS', GALL_CHEMIN_PRESENTATION.'scripts'.GEN_SEP);
/** Chemin vers les fichiers squelettes de l'applette Gallerie de Papyrus.*/
define('GALL_CHEMIN_STYLES', GALL_CHEMIN_PRESENTATION.'styles'.GEN_SEP);
/** Chemin vers les fichiers squelettes de l'applette Gallerie de Papyrus.*/
define('GALL_CHEMIN_IMAGES', GALL_CHEMIN_PRESENTATION.'images'.GEN_SEP);
/** Chemin vers les fichiers squelettes de l'applette Gallerie de Papyrus.*/
define('GALL_CHEMIN_SQUELETTE', GALL_CHEMIN_PRESENTATION.'squelettes'.GEN_SEP);
 
// Configuration du rendu
/** Nom du fichier de squelette à utiliser pour la liste des pages.*/
define('GALL_SQUELETTE_LISTE', 'gall_liste.tpl.html');
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.2 2006/12/07 16:25:23 jp_milcent
* Ajout de la gestion de messages d'erreur.
* Ajout de la gestion des squelettes.
*
* Revision 1.1 2006/12/07 15:39:47 jp_milcent
* Ajout de l'applette Gallerie.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/branches/livraison_narmer/gallerie.php
New file
0,0 → 1,163
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of papyrus_bp. |
// | |
// | Foobar is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
// | the Free Software Foundation; either version 2 of the License, or |
// | (at your option) any later version. |
// | |
// | Foobar is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// | GNU General Public License for more details. |
// | |
// | You should have received a copy of the GNU General Public License |
// | along with Foobar; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: gallerie.php,v 1.2 2006-12-08 16:00:11 jp_milcent Exp $
/**
* papyrus_bp - gallerie.php
*
* Le code provient de "Simple Image Gallery" (in content items) Plugin for Joomla 1.0.x - Version 1.0
* License: http://www.gnu.org/copyleft/gpl.html
* Authors: Fotis Evangelou - George Chouliaras
* Project page at http://www.joomlaworks.gr - Demos at http://demo.joomlaworks.gr
* ***Last update: December 5th, 2006***
*
*@package papyrus_bp
//Auteur original :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 1999-2006
*@version $Revision: 1.2 $ $Date: 2006-12-08 16:00:11 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTÊTE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherGallerie';
$GLOBALS['_GEN_commun']['info_applette_balise'] = '\{\{[Gg]allerie(?:\s*(?:(dossier="[^"]+")|(largeur="[^"]+")|(hauteur="[^"]+")|(qualite="[^"]+")|))+\s*\}\}';
 
/** Inclusion du fichier de configuration de cette application.*/
require_once GEN_CHEMIN_CLIENT.'gallerie'.GEN_SEP.'configuration'.GEN_SEP.'gall_config.inc.php';
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/** Fonction afficherCategorie() - Retourne la liste des pages d'une catégorie.
*
* Cette fonction retourne la liste des pages appartenant à une catégorie donnée.
*
* @param array contient les arguments de la fonction.
* @param array tableau global de Papyrus.
* @return string HTML la liste des listes de menus.
*/
function afficherGallerie($tab_applette_arguments, $_GEN_commun)
{
// Initialisation des variables
$sortie = '';
$GLOBALS['_GALLERIE_']['erreur'] = '';
//+----------------------------------------------------------------------------------------------------------------+
// Gestion des arguments
$tab_arguments = $tab_applette_arguments;
unset($tab_arguments[0]);
foreach($tab_arguments as $argument) {
$tab_parametres = explode('=', trim($argument));
$options[$tab_parametres[0]] = trim($tab_parametres[1], '"');
}
 
//+----------------------------------------------------------------------------------------------------------------+
// Gestion des erreurs de paramètrage
if (!isset($options['dossier'])) {
$GLOBALS['_GALLERIE_']['erreur'] = "Applette GALLERIE : le paramètre 'dossier' est obligatoire !";
}
if (!isset($options['largeur'])) {
$options['largeur'] = 160;
}
if (!isset($options['hauteur'])) {
$options['hauteur'] = 160;
}
if (!isset($options['qualite'])) {
$options['qualite'] = 70;
}
 
//+----------------------------------------------------------------------------------------------------------------+
// Récupération des données
$noimage = 0;
$GLOBALS['_GALLERIE_']['dossier'] = PAP_CHEMIN_RACINE.$options['dossier'];
if (is_dir($GLOBALS['_GALLERIE_']['dossier'])) {
if ($dh = opendir($GLOBALS['_GALLERIE_']['dossier'])) {
while (($f = readdir($dh)) !== false) {
if((substr(strtolower($f),-3) == 'jpg') || (substr(strtolower($f),-3) == 'gif') || (substr(strtolower($f),-3) == 'png')) {
$noimage++;
$images[] = array('filename' => $f);
array_multisort($images, SORT_ASC, SORT_REGULAR);
}
}
closedir($dh);
}
} else {
$GLOBALS['_GALLERIE_']['erreur'] = "Applette GALLERIE : le dossier d'images est introuvable à : ".$GLOBALS['_GALLERIE_']['dossier'];
}
if($noimage) {
$GLOBALS['_GALLERIE_']['css']['chemin'] = GALL_CHEMIN_STYLES;
$GLOBALS['_GALLERIE_']['css']['largeur'] = $options['largeur']+10;
$GLOBALS['_GALLERIE_']['script']['chemin'] = GALL_CHEMIN_SCRIPTS;
$GLOBALS['_GALLERIE_']['images'] = array();
foreach($images as $image) {
if ($image['filename'] != '') {
$aso_img['fichier_nom'] = $image['filename'];
$aso_img['url_img'] = $options['dossier'].'/'.$image['filename'];
$aso_img['url_img_mini'] = preg_replace('/papyrus\.php$/', '', PAP_URL).GALL_CHEMIN_SCRIPTS.'showthumb.php?img='.urlencode(PAP_CHEMIN_RACINE.$options['dossier'].'/'.$image['filename']).'&amp;width='.$options['largeur'].'&amp;height='.$options['hauteur'].'&amp;quality='.$options['qualite'];
$GLOBALS['_GALLERIE_']['images'][] = $aso_img;
}
}
}
//+----------------------------------------------------------------------------------------------------------------+
// Gestion des squelettes
// Extrait les variables et les ajoutes à l'espace de noms local
extract($GLOBALS['_GALLERIE_']);
// Démarre le buffer
ob_start();
// Inclusion du fichier
include(GALL_CHEMIN_SQUELETTE.GALL_SQUELETTE_LISTE);
// Récupérer le contenu du buffer
$sortie = ob_get_contents();
// Arrête et détruit le buffer
ob_end_clean();
 
//+----------------------------------------------------------------------------------------------------------------+
// Sortie
return $sortie;
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2006/12/07 17:29:20 jp_milcent
* Ajout de l'applette Gallerie dans Client car elle n'a pas un rapport direct avec Papyrus.
*
* Revision 1.2 2006/12/07 16:25:23 jp_milcent
* Ajout de la gestion de messages d'erreur.
* Ajout de la gestion des squelettes.
*
* Revision 1.1 2006/12/07 15:39:47 jp_milcent
* Ajout de l'applette Gallerie.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/branches/livraison_narmer/presentation/squelettes/gall_liste.tpl.html
New file
0,0 → 1,25
<!-- GALLERIE - DEBUT -->
<?php if ($erreur) : ?>
 
<p class="pap_erreur"><?=$erreur;?></p>
 
<?php else : ?>
<!-- Source : provient de "Simple Image Gallery" (in content items) Plugin for Joomla 1.0.x - Version 1.0. -->
<link href="<?=$css['chemin'];?>sig.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.sig_thumb {width:<?=$css['largeur'];?>px;} /* add to the width the total image padding and borders you set in the css file */
</style>
<script type="text/javascript" src="<?=$script['chemin'];?>mootools.js"></script>
<script type="text/javascript" src="<?=$script['chemin'];?>slimbox.js"></script>
<div class="sig">
<?php foreach ($images as $image) : ?>
<div class="sig_thumb">
<a href="<?=$image['url_img'];?>" rel="lightbox" title="<?=$image['fichier_nom'];?>">
<img src="<?=$image['url_img_mini'];?>" alt="<?=$image['fichier_nom'];?>"/>
</a>
</div>
<?php endforeach; ?>
<div class="sig_clr">&nbsp;</div>
</div>
<?php endif; ?>
<!-- GALLERIE - FIN -->
/branches/livraison_narmer/presentation/styles/shadowAlpha.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/livraison_narmer/presentation/styles/shadowAlpha.png
New file
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: livraison_narmer/presentation/styles/prevlabel.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: livraison_narmer/presentation/styles/prevlabel.gif
===================================================================
--- livraison_narmer/presentation/styles/prevlabel.gif (revision 0)
+++ livraison_narmer/presentation/styles/prevlabel.gif (revision 7)
/livraison_narmer/presentation/styles/prevlabel.gif
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: livraison_narmer/presentation/styles/loading.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: livraison_narmer/presentation/styles/loading.gif
===================================================================
--- livraison_narmer/presentation/styles/loading.gif (revision 0)
+++ livraison_narmer/presentation/styles/loading.gif (revision 7)
/livraison_narmer/presentation/styles/loading.gif
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: livraison_narmer/presentation/styles/nextlabel.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: livraison_narmer/presentation/styles/nextlabel.gif
===================================================================
--- livraison_narmer/presentation/styles/nextlabel.gif (revision 0)
+++ livraison_narmer/presentation/styles/nextlabel.gif (revision 7)
/livraison_narmer/presentation/styles/nextlabel.gif
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: livraison_narmer/presentation/styles/closelabel.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: livraison_narmer/presentation/styles/closelabel.gif
===================================================================
--- livraison_narmer/presentation/styles/closelabel.gif (revision 0)
+++ livraison_narmer/presentation/styles/closelabel.gif (revision 7)
/livraison_narmer/presentation/styles/closelabel.gif
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: livraison_narmer/presentation/styles/shadow.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: livraison_narmer/presentation/styles/shadow.gif
===================================================================
--- livraison_narmer/presentation/styles/shadow.gif (revision 0)
+++ livraison_narmer/presentation/styles/shadow.gif (revision 7)
/livraison_narmer/presentation/styles/shadow.gif
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: livraison_narmer/presentation/styles/sig.css
===================================================================
--- livraison_narmer/presentation/styles/sig.css (revision 0)
+++ livraison_narmer/presentation/styles/sig.css (revision 7)
@@ -0,0 +1,73 @@
+/* ---Generic--- */
+.sig {clear:both;margin:16px 4px;padding:0px;width:100%;} /* 'width:100%;' forces the container to use the full available width for the gallery! Delete it if it's causing issues in your template. */
+.sig_clr {clear:both;}
+
+/* ---Image Shadows--- */
+.sig_thumb {
+ float:left;
+ margin:0px 10px 10px 10px;
+ padding:0px;
+ background:url(shadowAlpha.png) no-repeat bottom right !important;
+ background:url(shadow.gif) no-repeat bottom right;}
+.sig_thumb img {
+ display:block;
+ position:relative;
+ background:#FFF;
+ border:1px solid #ccc;
+ margin:-5px 5px 5px -5px;
+ padding:4px;}
+
+/* ---Slimbox--- */
+#lbOverlay {
+ position:absolute;
+ left:0;
+ width:100%;
+ background-color:#000;
+ cursor:pointer;}
+#lbCenter, #lbBottom {
+ position:absolute;
+ left:50%;
+ overflow:hidden;
+ background-color:#fff;}
+.lbLoading {
+ background:#fff url(loading.gif) no-repeat center;}
+#lbImage {
+ border:10px solid #fff;}
+#lbPrevLink, #lbNextLink {
+ display:block;
+ position:absolute;
+ top:0;
+ width:50%;
+ outline:none;}
+#lbPrevLink {
+ left:0;}
+#lbPrevLink:hover {
+ background:transparent url(prevlabel.gif) no-repeat 0% 15%;}
+#lbNextLink {
+ right:0;}
+#lbNextLink:hover {
+ background:transparent url(nextlabel.gif) no-repeat 100% 15%;}
+#lbBottom {
+ font-family:Verdana, Helvetica, sans-serif;
+ font-size:10px;
+ color:#666;
+ line-height:1.4em;
+ text-align:left;
+ border:10px solid #fff;
+ border-top-style:none;}
+#lbCloseLink {
+ display:block;
+ float:right;
+ width:66px;
+ height:22px;
+ background:transparent url(closelabel.gif) no-repeat center;
+ margin:5px 0;}
+#lbCaption, #lbNumber {
+ margin-right:71px;}
+#lbCaption {
+ font-weight:bold;}
+#lbOverlay,#lbCenter,#lbBottom,#lbPrevLink,#lbNextLink {
+ z-index:999;}
+/* JW fix for Slimbox */
+
+/* --- END --- */
\ No newline at end of file
Index: livraison_narmer/presentation/scripts/mootools.js
===================================================================
--- livraison_narmer/presentation/scripts/mootools.js (revision 0)
+++ livraison_narmer/presentation/scripts/mootools.js (revision 7)
@@ -0,0 +1,2 @@
+//MooTools, My Object Oriented Javascript Tools. Copyright (c) 2006 Valerio Proietti, <http://mad4milk.net>, MIT Style License.
+eval(function(A,G){return A.replace(/(\w+)/g,function(a,b){return G[parseInt(b,36)]})}("0 1=2(3){0 4=2(){5 (0 6 7 8){9 (8[6]) 8[6].a=8;}\n9 (b[c] !=\n\'d\'\n&&8.e) f 8.e.g(8,b);};4.h=8.h;4.i=8.i;4.j=3;f 4;};1.k=2(){};1.l=2(3){f m 1(3);};1.j={h:2(3){0 n=m 8(\n\'d\'\n);5 (0 o 7 3){0 p=n[o];0 q=3[o];9 (p&&p !=q) q=p.r(q)||q;n[o]=q;}\nf m 1(n);},i:2(3){5 (0 o 7 3) 8.j[o]=3[o];}};s.h=2(){0 t=b;9 (t[u]) t=[t[c],t[u]];v t=[8,t[c]];5 (0 o 7 t[u]) t[c][o]=t[u][o];f t[c];};s.w=2(){5 (0 x=c;x<b.y;x++) b[x].h=1.j.i;};m s.w(z,10,11,12);z.h({r:2(q){0 p=8;f 2(){8.13=p;f q.g(8,b);};}});;z.h({14:2(t,15){0 16=8;9 ($17(t) !=\n\'18\'\n) t=[t];f 2(){f 16.g(15||16.a||16,t);};},15:2(15){0 16=8;f 2(){f 16.g(15,b);};},19:2(15){0 16=8;f 2(1a){16.1b(15,1a||1c.1a);f 1d;};},1e:2(1f,15){f 1g(8.15(15||8.a||8),1f);},1h:2(1f,15){f 1i(8.15(15||8.a||8),1f);}});2 $1j(1k){1l(1k);1m(1k);f 1n;};2 $17(1o){9 (!1o) f 1d;0 17=1d;9 (1o 1p z) 17=\n\'2\'\n;v 9 (1o.1q){9 (1o.1r==1s&&!\n/\\1t/.1u(1o.1v)) 17=\n\'1w\'\n;v 9 (1o.1r==u) 17=\n\'1x\'\n;}\nv 9 (1o 1p 10) 17=\n\'18\'\n;v 9 (1y 1o==\n\'1z\'\n) 17=\n\'1z\'\n;v 9 (1y 1o==\n\'20\'\n) 17=\n\'20\'\n;v 9 (1y 1o==\n\'21\'\n&&22(1o)) 17=\n\'21\'\n;f 17;};0 23=m 1({24:2(16){8.25=8.25||[];8.25.26(16);f 8;},27:2(){9 (8.25&&8.25.y) 8.25.28(c,u)[c].1e(29,8);},2a:2(){8.25=[];}});;9 (!10.j.2b){10.j.2b=2(16,15){5(0 x=c;x<8.y;x++) 16.1b(15,8[x],x);};}\n10.h({2c:10.j.2b,2d:2(){0 2e=[];5 (0 x=c;x<8.y;x++) 2e.26(8[x]);f 2e;},2f:2(2g){5 (0 x=c;x<8.y;x++){9 (8[x]==2g) 8.28(x,u);}\nf 8;},1u:2(2g){5 (0 x=c;x<8.y;x++){9 (8[x]==2g) f 2h;};f 1d;},h:2(2e){5 (0 x=c;x<2e.y;x++) 8.26(2e[x]);f 8;},2i:2(2j){0 2e=[];5 (0 x=c;x<8.y;x++) 2e[2j[x]]=8[x];f 2e;}});2 $2k(18){f 10.j.2d.1b(18);};;11.h({1u:2(2l,2m){f 8.2n(m 2o(2l,2m));},2p:2(){f 2q(8);},2r:2(){f 8.2s(\n/-\\2t/2u,2(2n){f 2n.2v(2n.y-u).2w();});},2x:2(){f 8.2y().2s(\n/\\2z[30-31]/32,2(2n){f 2n.2w();});},33:2(){f 8.2s(\n/^\\34*|\\34*$/32,\n\'\'\n);},35:2(){f 8.2s(\n/\\34\\34/32,\n\' \'\n).33();},36:2(18){0 37=8.1u(\n\'([\\\\38]{u,1s})\'\n,\n\'32\'\n);9 (37[1s]==c) f\n\'39\'\n;0 3a=[];5 (0 x=c;x<1s;x++){0 3b=(37[x]-c).3c(3d);3a.26(3b.y==u?\n\'c\'\n+3b:3b);}\n0 3e=\n\'#\'\n+3a.3f(\n\'\'\n);9 (18) f 3a;v f 3e;},3g:2(18){0 3a=8.1u(\n\'^[#]{c,u}([\\\\3h]{u,3i})([\\\\3h]{u,3i})([\\\\3h]{u,3i})$\'\n);0 37=[];5 (0 x=u;x<3a.y;x++){9 (3a[x].y==u) 3a[x]+=3a[x];37.26(2q(3a[x],3d));}\n0 3j=\n\'37(\'\n+37.3f(\n\',\'\n)+\n\')\'\n;9 (18) f 37;v f 3j;}});12.h({2p:2(){f 8;}});;0 3k=m 1({e:2(3l){9 ($17(3l)==\n\'20\'\n) 3l=3m.3n(3l);f $(3l);},3o:2(3l,3p){3l=$(3l)||m 3k(3l);3q(3p){3r\n\"3s\"\n:$(3l.3t).3u(8,3l);3v;3r\n\"3w\"\n:{9 (!3l.3x()) $(3l.3t).3y(8);v $(3l.3t).3u(8,3l.3x());} 3v;3r\n\"3z\"\n:3l.3y(8);3v;}\nf 8;},40:2(3l){f 8.3o(3l,\n\'3s\'\n);},41:2(3l){f 8.3o(3l,\n\'3w\'\n);},42:2(3l){f 8.3o(3l,\n\'3z\'\n);},43:2(3l){8.3y($(3l)||m 3k(3l));f 8;},2f:2(){8.3t.44(8);},45:2(46){f $(8.47(46||2h));},48:2(3l){0 3l=$(3l)||m 3k(3l);8.3t.49(3l,8);f 3l;},4a:2(4b){9 (8.4c()==\n\'4d\'\n&&1c.4e) 8.4f.4g=4b;v 8.3y(3m.4h(4b));f 8;},4i:2(4j){f !!8.4j.1u(\n\"\\\\2z\"\n+4j+\n\"\\\\2z\"\n);},4k:2(4j){9 (!8.4i(4j)) 8.4j=(8.4j+\n\' \'\n+4j.33()).35();f 8;},4l:2(4j){9 (8.4i(4j)) 8.4j=8.4j.2s(4j.33(),\n\'\'\n).35();f 8;},4m:2(4j){9 (8.4i(4j)) f 8.4l(4j);v f 8.4k(4j);},4n:2(o,4o){9 (o==\n\'4p\'\n) 8.4q(4r(4o));v 8.4d[o.2r()]=4o;f 8;},4s:2(4t){9 ($17(4t)==\n\'1z\'\n){5 (0 o 7 4t) 8.4n(o,4t[o]);} v 9 ($17(4t)==\n\'20\'\n){9 (1c.4e) 8.4g=4t;v 8.4u(\n\'4d\'\n,4t);}\nf 8;},4q:2(4p){9 (4p==c){9(8.4d.4v !=\n\"4w\"\n) 8.4d.4v=\n\"4w\"\n;} v {9(8.4d.4v !=\n\"4x\"\n) 8.4d.4v=\n\"4x\"\n;}\n9 (1c.4e) 8.4d.4y=\n\"4z(4p=\"\n+4p*50+\n\")\"\n;8.4d.4p=4p;f 8;},51:2(o){0 52=o.2r();0 4d=8.4d[52]||1d;9 (!4d){9 (3m.53) 4d=3m.53.54(8,1n).55(o);v 9 (8.56) 4d=8.56[52];}\n9 (4d&&[\n\'57\'\n,\n\'58\'\n,\n\'59\'\n].1u(52)&&4d.1u(\n\'37\'\n)) 4d=4d.36();f 4d;},5a:2(5b,16){8[5b+16]=16.15(8);9 (8.5c) 8.5c(5b,16,1d);v 8.5d(\n\'5e\'\n+5b,8[5b+16]);0 3l=8;9 (8 !=1c) 5f.5g.26(2(){3l.5h(5b,16);3l[5b+16]=1n;});f 8;},5h:2(5b,16){9 (8.5i) 8.5i(5b,16,1d);v 8.5j(\n\'5e\'\n+5b,8[5b+16]);f 8;},5k:2(5l){0 3l=8[5l+\n\'5m\'\n];5n ($17(3l)==\n\'1w\'\n) 3l=3l[5l+\n\'5m\'\n];f $(3l);},5o:2(){f 8.5k(\n\'p\'\n);},3x:2(){f 8.5k(\n\'5p\'\n);},5q:2(){0 3l=8.5r;5n ($17(3l)==\n\'1w\'\n) 3l=3l.5s;f $(3l);},5t:2(){0 3l=8.5u;5n ($17(3l)==\n\'1w\'\n)\n3l=3l.5v;f $(3l);},5w:2(o,4o){0 3l=1d;3q(o){3r\n\'5x\'\n:8.4j=4o;3v;3r\n\'4d\'\n:8.4s(4o);3v;3r\n\'5y\'\n:9 (1c.4e&&8.4c()==\n\'5z\'\n){3l=$(3m.3n(\n\'<5z 5y=\"\'\n+4o+\n\'\" />\'\n));$2k(8.60).2c(2(61){9 (61.5y !=\n\'5y\'\n) 3l.5w(61.5y,61.4o);});9 (8.3t) 8.48(3l);};62:8.4u(o,4o);}\nf 3l||8;},63:2(4t){5 (0 o 7 4t) 8.5w(o,4t[o]);f 8;},64:2(65){8.66=65;f 8;},67:2(o){f 8.68(o);},4c:2(){f 8.69.2y();},6a:2(5l){5l=5l.2x();0 3l=8;0 6b=c;6c {6b+=3l[\n\'6b\'\n+5l]||c;3l=3l.6d;} 5n (3l);f 6b;},6e:2(){f 8.6a(\n\'6f\'\n);},6g:2(){f 8.6a(\n\'6h\'\n);},6i:2(){0 4o=1d;3q(8.4c()){3r\n\'6j\'\n:4o=8.6k(\n\'6l\'\n)[8.6m].4o;3v;3r\n\'5z\'\n:9 ((8.6n&&[\n\'6o\'\n,\n\'6p\'\n].1u(8.17))||([\n\'4w\'\n,\n\'4b\'\n,\n\'6q\'\n].1u(8.17)))\n4o=8.4o;3v;3r\n\'6r\'\n:4o=8.4o;}\nf 4o;}});m s.w(3k);3k.h({6s:3k.j.4i,6t:3k.j.4k,6u:3k.j.4l,6v:3k.j.4m});2 $3k(3l,6w,t){9 ($17(t) !=\n\'18\'\n) t=[t];f 3k.j[6w].g(3l,t);};2 $(3l){9 ($17(3l)==\n\'20\'\n) 3l=3m.6x(3l);9 ($17(3l)==\n\'1x\'\n){9 (!3l.h){5f.6y.26(3l);3l.h=s.h;3l.h(3k.j);}\nf 3l;} v f 1d;};1c.5a=3m.5a=3k.j.5a;1c.5h=3m.5h=3k.j.5h;0 5f={6y:[],5g:[],6z:[],70:2(){5f.5g.2c(2(16){16();});1c.5h(\n\'70\'\n,1c.71);5f.6y.2c(2(3l){5(0 6 7 3k.j){1c[6]=1n;3m[6]=1n;3l[6]=1n;}\n3l.h=1n;});}};1c.71=5f.70;1c.5a(\n\'70\'\n,1c.71);;0 72=73={};72.74=m 1({75:2(76){8.76=s.h({77:1.k,78:1.k,79:72.7a.7b,7c:7d,7e:\n\'7f\'\n,7g:2h,7h:7i},76||{});},7j:2(){0 7k=m 7l().7m();9 (7k<8.7k+8.76.7c){8.7n=7k-8.7k;8.7o();} v {8.76.78.14(8.1x,8).1e(29);8.7p();8.27();8.7q=8.7r;}\n8.7s();},7t:2(7r){8.7q=7r;8.7s();f 8;},7o:2(){8.7q=8.7u(8.7v,8.7r);},7u:2(7v,7r){f 8.76.79(8.7n,7v,(7r-7v),8.76.7c);},7w:2(7v,7r){9 (!8.76.7g) 8.7p();9 (8.1k) f;8.76.77.14(8.1x,8).1e(29);8.7v=7v;8.7r=7r;8.7k=m 7l().7m();8.1k=8.7j.1h(7x.7y(7z/8.76.7h),8);f 8;},7p:2(){8.1k=$1j(8.1k);f 8;},4n:2(1x,o,4o){1x.4n(o,4o+8.76.7e);}});72.74.i(m 23);72.80=72.74.h({e:2(3l,o,76){8.1x=$(3l);8.75(76);8.o=o.2r();},81:2(){f 8.7t(c);},82:2(83){f 8.7w(8.7q||c,83);},7s:2(){8.4n(8.1x,8.o,8.7q);}});72.84=72.74.h({e:2(3l,76){8.1x=$(3l);8.75(76);8.7q={};},7o:2(){5 (0 6 7 8.7v) 8.7q[6]=8.7u(8.7v[6],8.7r[6]);},7w:2(85){9 (8.1k&&8.76.7g) f;0 7v={};0 7r={};5 (0 6 7 85){7v[6]=85[6][c];7r[6]=85[6][u];}\nf 8.13(7v,7r);},7s:2(){5 (0 6 7 8.7q) 8.4n(8.1x,6,8.7q[6]);}});3k.h({86:2(o,76){f m 72.80(8,o,76);},87:2(76){f m 72.84(8,76);}});72.7a={88:2(89,2z,8a,38){f 8a*89/38+2z;},7b:2(89,2z,8a,38){f-8a\n/3i * (7x.8b(7x.8c*89/38)-u)+2z;}};;0 8d={8e:2(){9 (1c.4e) 3m.8f(\n\"8g\"\n,1d,2h);},h:s.h,8h:2(){f 1c.8i||3m.8j.8k||c;},8l:2(){f 1c.8m||3m.8j.8n||c;},8o:2(){f 3m.8j.8p;},8q:2(){f 3m.8j.8r;},8s:2(){f 3m.8j.8t||1c.8u||c;},8v:2(){f 3m.8j.8w||1c.8x||c;},8y:2(8z){0 90=3m.91;9 (90&&3m.92&&!3m.93&&!94.95){9 (90.1u(\n/96|97/)) f 8z();v f 8d.8y.14(8z).1e(50);} v 9 (90&&1c.4e){0 98=$(\n\'99\'\n);9 (!98) 3m.9a(\n\"<98 9b=\'99\' 9c=\'2h\' 9d=\'://\'></98>\"\n);$(\n\'99\'\n).5a(\n\'9e\'\n,2(){9 (8.91==\n\'97\'\n) 8z();});f;} v {0 9f=2(){9 (b.9g.9h) f;b.9g.9h=2h;8z();};1c.5a(\n\"9i\"\n,9f);3m.5a(\n\"9j\"\n,9f);}}};","var,Class,function,properties,klass,for,p,in,this,if,_proto_,arguments,0,noinit,initialize,return,apply,extend,implement,prototype,empty,create,new,pr0t0typ3,property,previous,current,parentize,Object,args,1,else,Native,i,length,Function,Array,String,Number,parent,pass,bind,fn,type,array,bindAsEventListener,event,call,window,false,delay,ms,setTimeout,periodical,setInterval,clear,timer,clearTimeout,clearInterval,null,obj,instanceof,nodeName,nodeType,3,S,test,nodeValue,textnode,element,typeof,object,string,number,isFinite,Chain,chain,chains,push,callChain,splice,10,clearChain,forEach,each,copy,newArray,remove,item,true,associate,keys,A,regex,params,match,RegExp,toInt,parseInt,camelCase,replace,D,gi,charAt,toUpperCase,capitalize,toLowerCase,b,a,z,g,trim,s,clean,rgbToHex,rgb,d,transparent,hex,bit,toString,16,hexText,join,hexToRgb,w,2,rgbText,Element,el,document,createElement,inject,where,switch,case,before,parentNode,insertBefore,break,after,getNext,appendChild,inside,injectBefore,injectAfter,injectInside,adopt,removeChild,clone,contents,cloneNode,replaceWith,replaceChild,appendText,text,getTag,style,ActiveXObject,styleSheet,cssText,createTextNode,hasClass,className,addClass,removeClass,toggleClass,setStyle,value,opacity,setOpacity,parseFloat,setStyles,source,setAttribute,visibility,hidden,visible,filter,alpha,100,getStyle,proPerty,defaultView,getComputedStyle,getPropertyValue,currentStyle,color,backgroundColor,borderColor,addEvent,action,addEventListener,attachEvent,on,Unload,functions,removeEvent,removeEventListener,detachEvent,getBrother,what,Sibling,while,getPrevious,next,getFirst,firstChild,nextSibling,getLast,lastChild,previousSibling,setProperty,class,name,input,attributes,attribute,default,setProperties,setHTML,html,innerHTML,getProperty,getAttribute,tagName,getOffset,offset,do,offsetParent,getTop,top,getLeft,left,getValue,select,getElementsByTagName,option,selectedIndex,checked,checkbox,radio,password,textarea,hasClassName,addClassName,removeClassName,toggleClassName,method,getElementById,elements,vars,unload,removeFunction,Fx,fx,Base,setOptions,options,onStart,onComplete,transition,Transitions,sineInOut,duration,500,unit,px,wait,fps,50,step,time,Date,getTime,cTime,setNow,clearTimer,now,to,increase,set,compute,from,custom,Math,round,1000,Style,hide,goTo,val,Styles,objFromTo,effect,effects,linear,t,c,cos,PI,Window,disableImageCache,execCommand,BackgroundImageCache,getWidth,innerWidth,documentElement,clientWidth,getHeight,innerHeight,clientHeight,getScrollHeight,scrollHeight,getScrollWidth,scrollWidth,getScrollTop,scrollTop,pageYOffset,getScrollLeft,scrollLeft,pageXOffset,onDomReady,init,state,readyState,childNodes,all,navigator,taintEnabled,loaded,complete,script,_ie_ready_,write,id,defer,src,readystatechange,myInit,callee,done,load,DOMContentLoaded".split(",")));
\ No newline at end of file
Index: livraison_narmer/presentation/scripts/showthumb.php
===================================================================
--- livraison_narmer/presentation/scripts/showthumb.php (revision 0)
+++ livraison_narmer/presentation/scripts/showthumb.php (revision 7)
@@ -0,0 +1,52 @@
+<?php
+
+if($_GET['img'] == "")
+exit;
+
+$_image_ = urldecode( $_GET['img'] );
+
+$_width_min_ = intval($_GET['width']);
+$_height_min_ = intval($_GET['height']);
+$_quality_ = intval($_GET['quality']);
+
+$new_w = $_width_min_;
+$imagedata = getimagesize($_image_);
+
+if(!$imagedata[0])
+exit();
+
+$new_h = (int)($imagedata[1]*($new_w/$imagedata[0]));
+
+if(($_height_min_) AND ($new_h > $_height_min_)) {
+ $new_h = $_height_min_;
+ $new_w = (int)($imagedata[0]*($new_h/$imagedata[1]));
+}
+
+if(strtolower(substr($_image_,-3)) == "jpg") {
+ header("Content-type: image/jpg");
+ $dst_img=ImageCreate($new_w,$new_h);
+ $src_img=ImageCreateFromJpeg($_image_);
+ $dst_img = imagecreatetruecolor($new_w, $new_h);
+ imagecopyresampled($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img));
+ $img = Imagejpeg($dst_img, '', $_quality_);
+}
+
+if(substr($_GET['img'],-3) == "gif") {
+ header("Content-type: image/gif");
+ $dst_img=ImageCreate($new_w,$new_h);
+ $src_img=ImageCreateFromGif($_image_);
+ ImagePaletteCopy($dst_img,$src_img);
+ ImageCopyResized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img));
+ $img = Imagegif($dst_img,'', $_quality_);
+}
+
+if(substr($_GET['img'],-3) == "png") {
+ header("Content-type: image/png");
+ $dst_img=ImageCreate($new_w,$new_h);
+ $src_img=ImageCreateFromPng($_image_);
+ ImagePaletteCopy($dst_img,$src_img);
+ ImageCopyResized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img));
+ $img = Imagepng($dst_img,'', $_quality_);
+}
+
+?>
Index: livraison_narmer/presentation/scripts/slimbox.js
===================================================================
--- livraison_narmer/presentation/scripts/slimbox.js (revision 0)
+++ livraison_narmer/presentation/scripts/slimbox.js (revision 7)
@@ -0,0 +1,186 @@
+/*
+ Slimbox v1.22 - The ultimate lightweight Lightbox clone
+ by Christophe Beyls (http://www.digitalia.be) - MIT-style license.
+ Inspired by the original Lightbox v2 by Lokesh Dhakar.
+*/
+
+var Lightbox = {
+
+ init: function(options) {
+ this.options = Object.extend({
+ resizeDuration: 400, // Duration of height and width resizing (ms)
+ initialWidth: 250, // Initial width of the box (px)
+ initialHeight: 250, // Initial height of the box (px)
+ animateCaption: true // Enable/Disable caption animation
+ }, options || {});
+
+ this.anchors = [];
+ $A(document.getElementsByTagName('a')).each(function(el){
+ if(el.rel && el.href && el.rel.test('^lightbox', 'i')) {
+ el.onclick = this.click.pass(el, this);
+ this.anchors.push(el);
+ }
+ }, this);
+ this.eventKeyDown = this.keyboardListener.bindAsEventListener(this);
+ this.eventPosition = this.position.bind(this);
+
+ this.overlay = new Element('div').setProperty('id', 'lbOverlay').injectInside(document.body);
+
+ this.center = new Element('div').setProperty('id', 'lbCenter').setStyles({width: this.options.initialWidth+'px', height: this.options.initialHeight+'px', marginLeft: '-'+(this.options.initialWidth/2)+'px', display: 'none'}).injectInside(document.body);
+ this.image = new Element('div').setProperty('id', 'lbImage').injectInside(this.center);
+ this.prevLink = new Element('a').setProperties({id: 'lbPrevLink', href: '#'}).setStyle('display', 'none').injectInside(this.image);
+ this.nextLink = this.prevLink.clone().setProperty('id', 'lbNextLink').injectInside(this.image);
+ this.prevLink.onclick = this.previous.bind(this);
+ this.nextLink.onclick = this.next.bind(this);
+
+ this.bottom = new Element('div').setProperty('id', 'lbBottom').setStyle('display', 'none').injectInside(document.body);
+ new Element('a').setProperties({id: 'lbCloseLink', href: '#'}).injectInside(this.bottom).onclick = this.overlay.onclick = this.close.bind(this);
+ this.caption = new Element('div').setProperty('id', 'lbCaption').injectInside(this.bottom);
+ this.number = new Element('div').setProperty('id', 'lbNumber').injectInside(this.bottom);
+ new Element('div').setStyle('clear', 'both').injectInside(this.bottom);
+
+ var nextEffect = this.nextEffect.bind(this);
+ this.fx = {
+ overlay: this.overlay.effect('opacity', { duration: 500 }).hide(),
+ resize: this.center.effects({ duration: this.options.resizeDuration, onComplete: nextEffect }),
+ image: this.image.effect('opacity', { duration: 500, onComplete: nextEffect }),
+ bottom: this.bottom.effects({ duration: 400, onComplete: nextEffect })
+ };
+
+ this.preloadPrev = new Image();
+ this.preloadNext = new Image();
+ },
+
+ click: function(link) {
+ if(link.rel.length == 8)
+ return this.show(link.href, link.title);
+
+ var j, imageNum, images = [];
+ this.anchors.each(function(el){
+ if(el.rel == link.rel) {
+ for(j = 0; j < images.length; j++)
+ if(images[j][0] == el.href) break;
+ if(j == images.length) {
+ images.push([el.href, el.title]);
+ if(el.href == link.href) imageNum = j;
+ }
+ }
+ }, this);
+ return this.open(images, imageNum);
+ },
+
+ show: function(url, title) {
+ return this.open([[url, title]], 0);
+ },
+
+ open: function(images, imageNum) {
+ this.images = images;
+ this.position();
+ this.setup(true);
+ this.top = Window.getScrollTop() + (Window.getHeight() / 15);
+ this.center.setStyles({top: this.top+'px', display: ''});
+ this.fx.overlay.goTo(0.8);
+ return this.changeImage(imageNum);
+ },
+
+ position: function() {
+ this.overlay.setStyles({top: Window.getScrollTop()+'px', height: Window.getHeight()+'px'});
+ },
+
+ setup: function(open) {
+ var elements = $A(document.getElementsByTagName('object'));
+ elements.extend(document.getElementsByTagName(window.ActiveXObject ? 'select' : 'embed'));
+ elements.each(function(el){ el.style.visibility = open ? 'hidden' : ''; });
+ var fn = open ? 'addEvent' : 'removeEvent';
+ window[fn]('scroll', this.eventPosition)[fn]('resize', this.eventPosition);
+ document[fn]('keydown', this.eventKeyDown);
+ this.step = 0;
+ },
+
+ keyboardListener: function(event) {
+ switch(event.keyCode) {
+ case 27: case 88: case 67: this.close(); break;
+ case 37: case 80: this.previous(); break;
+ case 39: case 78: this.next();
+ }
+ },
+
+ previous: function() {
+ return this.changeImage(this.activeImage-1);
+ },
+
+ next: function() {
+ return this.changeImage(this.activeImage+1);
+ },
+
+ changeImage: function(imageNum) {
+ if(this.step || (imageNum < 0) || (imageNum >= this.images.length)) return false;
+ this.step = 1;
+ this.activeImage = imageNum;
+
+ this.prevLink.style.display = this.nextLink.style.display = 'none';
+ this.bottom.setStyles({opacity: '0', height: '0px', display: 'none'});
+ this.fx.image.hide();
+ this.center.className = 'lbLoading';
+
+ this.preload = new Image();
+ this.preload.onload = this.nextEffect.bind(this);
+ this.preload.src = this.images[imageNum][0];
+ return false;
+ },
+
+ nextEffect: function() {
+ switch(this.step++) {
+ case 1:
+ this.center.className = '';
+ this.image.setStyles({backgroundImage: 'url('+this.images[this.activeImage][0]+')', width: this.preload.width+'px'});
+ this.image.style.height = this.prevLink.style.height = this.nextLink.style.height = this.preload.height+'px';
+
+ this.caption.setHTML(this.images[this.activeImage][1] || '');
+ this.number.setHTML((this.images.length == 1) ? '' : 'Image '+(this.activeImage+1)+' of '+this.images.length);
+
+ if(this.activeImage != 0) this.preloadPrev.src = this.images[this.activeImage - 1][0];
+ if(this.activeImage != (this.images.length - 1)) this.preloadNext.src = this.images[this.activeImage + 1][0];
+ if(this.center.clientHeight != this.image.offsetHeight) {
+ this.fx.resize.custom({height: [this.center.clientHeight, this.image.offsetHeight]});
+ break;
+ }
+ this.step++;
+ case 2:
+ if(this.center.clientWidth != this.image.offsetWidth) {
+ this.fx.resize.custom({width: [this.center.clientWidth, this.image.offsetWidth], marginLeft: [-this.center.clientWidth/2, -this.image.offsetWidth/2]});
+ break;
+ }
+ this.step++;
+ case 3:
+ this.bottom.setStyles({top: (this.top + this.center.clientHeight)+'px', width: this.image.style.width, marginLeft: this.center.style.marginLeft, display: ''});
+ this.fx.image.custom(0, 1);
+ break;
+ case 4:
+ if(this.options.animateCaption) {
+ this.fx.bottom.custom({opacity: [0, 1], height: [0, this.bottom.scrollHeight]});
+ break;
+ }
+ this.bottom.setStyles({opacity: '1', height: this.bottom.scrollHeight+'px'});
+ case 5:
+ if(this.activeImage != 0) this.prevLink.style.display = '';
+ if(this.activeImage != (this.images.length - 1)) this.nextLink.style.display = '';
+ this.step = 0;
+ }
+ },
+
+ close: function() {
+ if(this.step < 0) return;
+ this.step = -1;
+ if(this.preload) {
+ this.preload.onload = Class.empty;
+ this.preload = null;
+ }
+ for(var f in this.fx) this.fx[f].clearTimer();
+ this.center.style.display = this.bottom.style.display = 'none';
+ this.fx.overlay.chain(this.setup.pass(false, this)).goTo(0);
+ return false;
+ }
+};
+
+Window.onDomReady(Lightbox.init.bind(Lightbox));