Topic: [simplegallerie] Une gallerie simple utilisant directResize  (Read 4633 times)

Pages: [1]   Go Down

#1: 25-Apr-2007, 06:41 PM

Moderator

aour
Posts: 835

Bonjour,

Voila un petit snippet sans prétention qui va vous permettre de créer une gallerie photos automatique à partir des images contenues dans un répertoire.  Le plugin directResize est OBLIGATOIRE

il utilise les champs headline et caption des données IPTC des images afin de créer le titre de l'image sous lightbox ou slimbox.

Il s'agit du premier jet.

J'attends vos commentaires, remarques et peut être de l'aide.

merci

PS le premier qui me dit que c'est impossible de faire une gallerie avec 50 lignes de code PHP, je lui dit que la V1.0 fera 40 lignes
+11

* simplegallery_v0.9.1.zip (2.37 KB - downloaded 180 times.)
« Last Edit: 3-May-2007, 04:34 AM by aour »

#2: 26-Apr-2007, 12:37 AM

alphanono
Posts: 43

WWW
Lol, c'est marrant, j'ai développé la même chose en rapide hier pour des besoins personnels ! Par contre, j'éprouve des difficultés avec la gestion des répertoires d'image via le gestionnaire. Quand je crée un nouveau dossier pour y mettre des images, il crée bien le dossier mais je ne peux pas y mettre d'image. J'ai modifié dans Outils/Configuration/Réglages divers/Nouvelle permission du répertoire en mode 7777 ou 0777. Quand il crée le répertoire, celui-ci est bien en mode 777 mais impossible d'y mettre des images, impossible même de changer le CHMOD par FileZilla ou même de supprimer le dossier. Par contre, je peux supprimer le dossier par MODx ... J'y comprend pas grand chose. Aurais-tu une idée pour moi ?

Pour DirectResize, j'ajoute l'option nécessaire pour le groupement de lightbox.

#3: 26-Apr-2007, 02:25 AM

yoobaa
Posts: 15

yooobaaa

alphanono essaies avec de créer ton répertoire avec des droits 2777, je pense qu'il s'agit d'un problème lié à l'utilisateur qui crée le répertoire qui n'est pas le même que l'utilisateur FTP, soit l'utilisateur enregistré chez ton hébergeur, par contre il doit faire partie du même groupe.
Si ça le fait pas essaies 4777.

#4: 26-Apr-2007, 02:33 AM

alphanono
Posts: 43

WWW
Merci Yoobaa ... mais ça ne fonctionne pas non plus. En réalité, une partie du problème est résolu. Effectivement, avec ces CHMOD, je peux maintenant accéder en suppression aux dossiers créés depuis mon client FTP.

Par contre, je ne peux toujours pas uploader d'images dans les dossiers créés ainsi. Voici le message d'erreur : Error, "Failed to upload file, internal error ..."

Disons que pour créer des galeries, ce serait pratique que ce système de création de dossier par MODx fonctionne ...  Tongue

aour, comment t'y prends-tu pour créer tes dossiers de galerie ?

#5: 26-Apr-2007, 02:59 AM

Moderator

aour
Posts: 835

Salut

Bon moi je suis un partisan du FTP. Donc il faut que le client veuillent bien se servir de son client FTP pour créer les répertoires et déposer les photos.
Le gestionnaire de fichier sous Modx implique de donner des droits 777 sur l'arborescence que je n'aime pas. Et Le gros souci d'utiliser l'interface, c'est que l'utilisateur donc le propriétaire du répertoire et des fichiers est l'utilisateur apache donc si tu ne supprimes pas les images avec l'interface tu es coincé sauf si tu chmood via le gestionnaire Modx. 

Le plus simple reste de mettre un formulaire de création de répertoire et d'upload coté front end. Par contre pour résoudre les problèmes de droit j'utiliserai les fonctions FTP de php

Reste à voir si le module FTP est actif sur l'hebergeur.

Mais bon on peux creuser un peu plus la chose avec par exemple un lien en dessous de la gallerie pour un utilisateur web spécial qui lui permet de faire un upload.
Un peu comme pour JOT qui permet quand le modérateur est loggué d'avoir accès au fonction de modération
« Last Edit: 26-Apr-2007, 03:02 AM by aour »

#6: 26-Apr-2007, 03:07 AM

Moderator

aour
Posts: 835

Re

Sinon,

L'utilisateur crée son document en spécifiant un répertoire.
Il va sur sa page et le snippet vérifie si le répertoire existe et sinon , il le crée.

Une fois la page affichée, si l'utilisateur loggué a des droits d'ajout d'images, tu affiches un formulaire d'upload

voila
« Last Edit: 26-Apr-2007, 03:29 AM by aour »

#7: 26-Apr-2007, 05:15 AM

Avander_be
Posts: 151

WWW
Salut,

Je vais jeter un oeuil a SG dès que possible.

Je cherche une solution pour illustrer mes articles de news. Actuellement j'utilise MG pour 'gérer' mes images en backoffice ( à l'upload il me génére une vignette et une grande image en fonction des paramètres que je donne pour la gallerie en question). La gallerie peut être accèssible au public ou non.

Dans mes articles je fais en suite référence à cette vignette et la grande image, la visualisation du popup utilise du css relativement simple. Les lightbox et autres sont un peu trop populaires à mes yeux...

Exemple: http://www.lpgonline.be/index.php?id=131

Est-ce que SG peut faire l'affaire dans ce cas?
A thing of beauty is a joy forever ( John Keats)

#8: 26-Apr-2007, 05:34 AM

alphanono
Posts: 43

WWW
Normalement, tu ne devrais pas avoir besoin de simpleGalerie pour ça. DirectResize devrait suffir. Si j'ai bien compris l'intérêt de simpleGalerie, c'est de générer une suite de vignettes (une galerie photos quoi ...) automatiquement en piochant dans un répertoire donné.

Si tu veux illustrer tes news, tu peux créer un TV de type image où tu vas sélectionner ton image pour la news. Admettons que tu appelles ce TV [*image*]. Ensuite, dans ton template ou dans un chunk associé, tu mets ce code pour gérer ton image en reprennant ton code de la page sur Tomtom :
Code:
<a class="thumbnail"><img height="130" width="130" src="[*image*]" /><span><img src="[*image*]" height="450" width="450" /><br />légende</span></a>

Quelque soit la taille d'origine de ton image, directResize s'occupe de tout. Il crée la miniature et la grande photo dans les limites de tailles que tu as indiquées et suivant le type de ratio demandé dans les variables du plugin.

Petit bémol tout de même, directResize n'est pas en mesure de créer l'ombre sous la vignette.

#9: 26-Apr-2007, 06:40 AM

yoobaa
Posts: 15

yooobaaa

alphanono, j'ai testé la création de dossier et upload d'image chez mon hébergeur avec modx 0.9.6 RC1, j'ai du chmoder 2777 (2775 dans ce cas reviendrait au même) pour pouvoir ensuite supprimer ces fichiers ou dossier depuis un client FTP, mais je n'ai rencontré aucun prob pour uploader des images depuis le manager.
Soit y'a un prob avec ton install modx, soit du côter des paramètres Apache ou PHP chez ton hébergeur !!

Bon c'est uniquement des pistes ;-)

#10: 26-Apr-2007, 07:03 AM

Moderator

aour
Posts: 835

Re

Je confirme ce que dit Alphano, SG, ne sert qu'à afficher une liste d'images présentent dans un répertoire. Ensuite tu maitrise via css l'affichage de tes images.

Pourquoi?
Car pour moi MaxiGallerie est trop lourd à gérer.
Avec SG, il te suffit de créer un répertoire par catégorie de photos, uploader tes photos.
Ensuite tu crées un document par catégorie de photo et appel le snippet en spécifiant le répertoire que tu désire afficher.

Autre possibilité, tu veux illustrer des articles présents dans la colonne de gauche avec 5ou 6 photos en liste verticale dans la colonne de droite.

A court terme, si j'ai le temps ou si on m'aide un peu car la je crée ma société, on peut rajouter des options :

- définir le nombre d'image à afficher (1 à n)
- classer par date
- aléatoire

Pourquoi ?
Utiliser le snippet pour afficher par exemple 1 image aléatoire en homepage ou la dernière ajouter ...

#11: 26-Apr-2007, 07:32 AM

alphanono
Posts: 43

WWW
Merci pour ta réponse Yoobaa ... Juste pour être sûr qu'on parle bien de la même chose, le répertoire tu l'as créé depuis l'interface de MODx/TinyMCE/Gestionnaire d'image ??

Je suis en version 0.9.5 ... ça vient peut être de ça ? ...

#12: 26-Apr-2007, 09:09 AM

yoobaa
Posts: 15

yooobaaa

euhh... non manager => ressource => gestion des fichiers.  Roll Eyes

Là je doit partir bosser, j'regarderais ça demain !

#13: 27-Apr-2007, 03:14 AM

yoobaa
Posts: 15

yooobaaa

alphanono j'ai fait des tests...
Avec la 0.9.6 RC1 qui était un update de la 0.9.5, tinymce ne fonctionnait pas (pas de barre d'outils, bug déjà vu), j'utilisai FCKeditor à la place, mais il me semble que le gestionnaire d'image est le même. Possible d'uploader des images et de les supprimer depuis le gestionnaire d'image ainsi que depuis le gestionnaire de modx ressource => gestions des fichiers, mais pas de suppression possible depuis FireFTP.

Quand on upload depuis le gestionnaire d'image de FCK ou tiny, ne sont pas pris en compte les paramètres chmod de outil => configuration.

J'ai installé à partir de zéro la 0.9.6 RC3 pour tester et là tout fonctionne, pourtant les paramètres chmod ne sont toujours pas pris en compte ??
Là j'comprend pas bien, mais ça marche alors.... c'est une good news.
Test fait avec tiny et FireFTP.
« Last Edit: 27-Apr-2007, 03:18 AM by yoobaa »

#14: 27-Apr-2007, 03:19 AM

alphanono
Posts: 43

WWW
Oulala ... merci pour ces tests |--> ça sent l'upgrade chez moi !!  Roll Eyes

Peut-être est-ce une nouvelle version du gestionnaire d'images avec un CHMOD par defaut différent ?

En tout cas merci, je vais essayer de patcher sans trop de dégâts en 0.9.6 chez moi ...

#15: 3-May-2007, 02:36 AM


TylerD
Posts: 310

WWW
Bonjour,

J'ai quelques soucis avec SG pour afficher les infos ITPC, j'ai cette erreur :

Code:
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of getimagesize(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /web/.../public/www/manager/includes/document.parser.class.inc.php(750) : eval()'d code on line 66

Lorsque j'enlève le "&" dans la ligne :

Code:
$sizeiptc = getimagesize ($image, &$info);

Je n'ai plus l'erreur mais je n'ai toujours pas mes infos IPTC...

Merci d'avance pour votre aide
« Last Edit: 3-May-2007, 03:20 AM by TylerD »
TylerD - In MODx we trust
[Dernières créations MODx :
Whynet.Org, Copier@Coller.net, Les Sens Bois]

#16: 3-May-2007, 04:24 AM

Moderator

aour
Posts: 835

Bonjour,

Désolé pour l'erreur, j'ai fait une petite coquille. Bizarre car chez moi cela fonctionne sans erreur. Mais bon on peut sans souci supprimer le caractère &. Corrigé dans l'archive

Code:
     $iptc = iptcparse($info["APP13"]);
     $iptccaption = $iptc["2#120"][0];
     $iptcheadline = $iptc["2#105"][0];
     
    $output .= '<img class="lightbox" src="assets/images/'.$pathToImg.'/'.$imagefull.'" width="150" height="150" alt="'.$iptccaption.'"/>';
    }

Dans le snippet, je récupère les champs caption et headline. Déjà les as tu renseigné dans ton image.
Si tu veux récupérer d'autres informations, il faut les rajouter. Tu as la liste des métadonnées sur ce site

Si par exemple tu veux le Copyright, il faut rajouter :
Code:
$iptccopyright = $iptc["2#116"][0];

Attention, il faut éditer l'image pour ajouter les informations.

Quote
Il se trouve qu'une photo au format Jpeg peut renfermer certains renseignements (à la façon d'un fichier MP3). On connaît déjà les données Exif qui regroupent les informations techniques de la prise de vue. Les données  IPTC  , quant à elles, permettent des critères plus personnels : la légende du cliché, son auteur, un descriptif, des mots-clés, ainsi que d'autres informations moins pertinentes ici.

XnView (disponible sur www.xnview.com ), visionneuse souvent présentée ici, permet à la fois de voir et de modifier les données IPTC des photos. Elle indique également sur les miniatures le type d'information contenu, Exif ou/et IPTC.

Sélectionnez une photo, utilisez le raccourci Ctrl  +  E pour faire apparaître la fenêtre Propriétés et lire les données Exif et IPTC dans leur onglet respectif. Le raccourci clavier Ctrl  +  I sert à modifier les renseignements IPTC.

En tout cas merci de ton retour
« Last Edit: 3-May-2007, 04:35 AM by aour »

#17: 16-Aug-2007, 04:33 AM

Moderator

Perrine
Posts: 1,776

WWW
Salut Smiley

Bon, comme on dit : mieux vaut tard que jamais ! J'ai enfin installé simplegallery  Grin

Tout fonctionne nickel.

Aour, tu devrais cependant ajouter dans la doc que le répertoire des images doit être dans le répertoire mentionné pour DirectResize, dans la variable $lien_base.

li 71 du snippet, tu a mis en dur le chemin d'accès aux images mais si c'est pas le même que celui par défaut, les images ne s'affichent pas.

Idées pour les éventuelles futures versions : utiliser un chunk template pour mettre en forme la galerie (pour les cas où il y a plusieurs types de galeries sur le même site)

En tout cas, chouette snippet, ça facilite grandement les mises à jour pour les gens qui utilisent le FTP !

Merci Wink
Nouveau sur MODx ? ||
Recherche
Communauté FR
Documentation FR
Réalisations sous MODx
Webolution
Entreprise AGS
J'aurais dû lui dire...
Atelier d'architecture Gambino
Déco'In : l'idée deco qu'il vous faut
HistWar : jeu de stratégie napoléonien

Ma config : MODx 0.9.6.3 / 1.0 || Apache 2.2.14 || PHP 5.2.11 || MySQL 5.0.45 || Debian 4.0 (Etch)

#18: 16-Aug-2007, 01:06 PM

Moderator

Perrine
Posts: 1,776

WWW
Aour,

Je constate avec plaisir que ton snippet ne prend pas en compte les .thumb générés par FCKEditor... mais comment fais-tu ??

J'utilise RandomAd, dont voici le code, et ce snippet affiche en random les images d'un dossier donné... même les .thumb.

Code:
$folder = (isset($folder))? $folder : 'assets/images/random';
$i = 0;
$imgDir = opendir ($folder);
while ( $file = readdir( $imgDir ) )
{
//checks that file is an image
$file_type = strrchr( $file, "." );
$is_image = eregi( "jpg|jpeg|JPEG|JPG|gif|GIF|png|PNG",$file_type );

if ( $file != '.' && $file != '..' && $is_image )
{ $images[$i++] = $file; }
}
closedir ($imgDir);

srand( (double) microtime()*1000000 );
$image_name =  $images[rand( 0,sizeof( $images ) -1 )];
$imageid = substr($image_name,0,strpos($image_name,'.'));
$image_name = $folder . '/' . $image_name ;
//ends script if no images found
if ( $i == 0 )
die();

//echo "<a href=index.php?id=$imageid>";
//echo( "<div class=\"randomAd\"><img src=\"" . $image_name . "\" alt =\"" . $image_id . "\" /><br />\n" );
echo $image_name;
//@include("$folder/$imageid.txt") ;
//echo "</div></a>";
return ;

J'ai posé la question sur le thread de support mais n'étant pas sure d'avoir une réponse, je me disais que peut-être, tu aurais pu m'éclairer ! Wink J'ai bien essayé de comparer les 2 codes mais je ne comprends pas tout  Embarrassed

PS : Promis, un jour je me mets au PHP  Grin
Nouveau sur MODx ? ||
Recherche
Communauté FR
Documentation FR
Réalisations sous MODx
Webolution
Entreprise AGS
J'aurais dû lui dire...
Atelier d'architecture Gambino
Déco'In : l'idée deco qu'il vous faut
HistWar : jeu de stratégie napoléonien

Ma config : MODx 0.9.6.3 / 1.0 || Apache 2.2.14 || PHP 5.2.11 || MySQL 5.0.45 || Debian 4.0 (Etch)

#19: 23-Aug-2007, 07:58 AM

Moderator

aour
Posts: 835

Bonjour,

Je suis parti 12 jours pour me ressourcer.

Promis je regarde cela demain au plus tard le temps de rattraper mon retard et me remettre en route.

Perso, j'utilise la fonction Glob qui est plus précise et demande moins de code.
Pour la ligne 71 je vais mettre $baseImgPath à la place.

Pour les chunk, j'ai encore du mal car je suis pas un codeur non plus
Aour
« Last Edit: 23-Aug-2007, 08:07 AM by aour »

#20: 23-Aug-2007, 02:19 PM

Moderator

Perrine
Posts: 1,776

WWW
Salut Aour, j'espère que tu t'es bien reposé pendant tes vacances Wink

Je suis absente tout le week-end donc si tu veux souffler encore un peu, c'est pas pressé :p
Nouveau sur MODx ? ||
Recherche
Communauté FR
Documentation FR
Réalisations sous MODx
Webolution
Entreprise AGS
J'aurais dû lui dire...
Atelier d'architecture Gambino
Déco'In : l'idée deco qu'il vous faut
HistWar : jeu de stratégie napoléonien

Ma config : MODx 0.9.6.3 / 1.0 || Apache 2.2.14 || PHP 5.2.11 || MySQL 5.0.45 || Debian 4.0 (Etch)
Pages: [1]   Go Up
0 Members and 1 Guest are viewing this topic.