Liste les images des dossiers /IMG/gif, /IMG/jpg et /IMG/png

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Affiche la liste des images du dossier IMG. ou les images elles-mêmes sous forme de pseudo-vignettes max. 200 x 200. Nouvelle version - 3.2 (multilingue).

Fonctionnalités de cette contribution

  • Affiche la liste des images du dossier IMG.
  • ou les images elles-mêmes sous forme de pseudo-vignettes max. 200 x 200. (Ce sont des pseudo-vignettes, car aucune nouvelle image n’est créée, ce sont les images réelles qui sont téléchargées et réduites.)
  • Les noms des images et/ou vignettes sont cliquables et ouvrent l’image pleine dans une nouvelle fenêtre.
  • Affiche 1 à 50 items par page, à partir de l’item n°X, avec nom, taille réelle et poids de l’image.
  • Affiche les images .jpg, .gif, .png ou les 3 ensembles
  • Tri par ordre alphabétique croissant ou décroissant des noms des images.
  • Fournit le nombre et le poids total des images par catégorie (.jpg, .gif, .png ou tout).
  • Squelette spip publique ou privé (= réservé aux administrateurs et rédacteurs du site).
  • Squelette indépendant ou article.
  • Multilingue (à partir de 3.0 RC). Au 27/05/03 : francais, anglais (bientôt néerlandais).

Exemples

Squelette article et accès public (version 3.1) : http://test.cassiopea.org/spip/article.php3?id_article=21

Squelette indépendant et accès privé (version 3.1) : http://test.cassiopea.org/spip/listimg.php3 (Login et mot de passe sur la page)

Téléchargement

Usage (3.2) : Voir la documentation dans le fichier listimg3-1.txt accompagnant le package à télécharger ci-dessous.

Version actuelle : Listimg pour SPIP - V. 3.2 - Télécharger.

Le logiciel a été testé dans Mozilla 1.0 RC 1, IE 5, Opera 6.01 et Netscape 4.7.

Notes de mise à jour du script :

Une nouvelle version 3.2 de listimg est disponible. Cette nouvelle version

  • fixe les bugs qui génèrent l’apparition de divers « Warning » lors de
    l’utilisation avec des versions récentes de PHP.
  • propose l’affichage des images du répertoire IMG/

La version 3.1 propose la connexion à l’espace privé dans un Iframe. Si le navigateur ne supporte pas l’Iframe, un lien est affiché vers la page de connexion.

Pour le reste des fonctionnalités, elle est identique à la version 3.0 RC.

Adresse de publication originale :
http://support.cassiopea.org/spip/spip-tech.shtml

Discussion

9 discussions

  • 2

    D’abord, merci pour cette contrib vraiment bien utile..
    j’ai fait un ptit hack vite fait histoire de chercher les tags d’insertion dans les articles Spip voici le code :

    function connection ($db) {
    	$link = mysql_connect('localhost', 'login', 'pass');
    	if (!$link) {
    		die('Could not connect: ' . mysql_error());
    	}
    	else {
    		$db_selected = mysql_select_db($db, $link);
    		if (!$db_selected) {
    			die ('Can\'t select db : ' . mysql_error());
    		}
    		else {
    			return $link;
    		}
    	}
    }
    
    function deconnection ($link) {
    	mysql_close($link);
    }

    Et voici le bout de code proprement dit :

    			//Hack affichage de l'image, avec son code <IMGxxx|left>
    			$link = connection("ma_base_spip");
    			$requete = 	"SELECT * FROM spip_documents, spip_documents_articles WHERE spip_documents.fichier = '".$i_urli[$i_CurrentImg]."' AND spip_documents.id_document = spip_documents_articles.id_document;";
    			$result = mysql_query($requete, $link) or die (mysql_error()."<br />Couldn't execute query: $requete");
    			while($row = mysql_fetch_array($result))
    			{
    					echo ("<br/>&nbsp;|&nbsp;&nbsp;CODE SPIP : &lt;img".$row["id_document"]."|left,center,right&gt;");
    					if (!empty($row["descriptif"])) {
    						echo ("<br/>&nbsp;|&nbsp;&lt;doc".$row["id_document"]."|left,center,right&gt;Descriptif : ".$row["descriptif"]);
    					}
    			}
    deconnection($link);

    Ca n’est pas optimisé, mais ca n’est pas destiné a recevoir 5000 visiteurs par jour.. et ca marche..

    Pour inserer ce bout de code, tout se passe dans le fichier « listimg-inc.php3 »
    Ah oui, les deux fonctions, connection et deconnection se placent par exemple juste apres

    <?php 
    Et le bout de code suivant, a l'endroit ou vous voulez faire apparaitre les tags spip.. dans la fonction "DisplayImg", ligne 140, par exemple.
    
    Bon, ca n'est ptet pas super clair, si vous avez des soucis pour rajouter ca, n'hesitez pas a demander..
    
    • petit rectificatif a mon code :
      remplacer la ligne :

      if (!empty($row[« descriptif »]))

      par :

      if (!empty($row[« descriptif »]) || !empty($row[« titre »]))

      Et hop, c’est mieux.. !

    • Bonjour,

      je viens finalement d’adapter votre contrib dans un listimg v 4.1 pour spip 1.8. J’ai modifié 4 choses :
      -  La contrib a été adaptée pour prendre en compte aussi les images attachées à une rubrique.
      -  Elle affiche aussi maintenant un lien vers la rubrique ou l’article auquel appartient l’image.
      -  Le nombre de connexion à la base mysql a été réduit à 1 par chargement de la page au lieu de 1 par image.
      -  j’ai ajouté des instruction de sécurité (.htaccess, car les param de connexion mysql sont en clair dans un répertoire public !)

      Le package est ici :
      http://www.robert.sebille.name/downloads/listimg41beta-spip18.tar.gz. _ (Si down - ça arrive parfois, à partir de cette page : http://biblio.openbaz.be/scripts/

      J’en ai aussi fait une version pour spip 1.9, voir ci-dessus :
      Liste-les-images-des-dossiers-IMG#forum405061

      Ne me reste plus qu’à proposer une contrib article ;) ...

      Cordialement,
      Robert

    Répondre à ce message

  • 5

    Un courageux aurait-il transformé cette contrib en plugin V1.9 ? (Ou peut-être existe-t-il une fonction équivalente dans le V1.9 ?)

    • Bonjour,

      une version 4.0beta pour spip 1.9 est prête (squelette, pas plugin). Testée en local sous spip 1.9.2d, elle fonctionne apparemment bien. Ca mériterait une contrib, mais ce sera pour plus tard ;)

      Elle est téléchargeable directement d’ici : http://www.robert.sebille.name/downloads/listimg40beta-spip19.tar.gz. (Si down - ça arrive parfois, à partir de cette page : http://biblio.openbaz.be/scripts/

      (NB : il existe une version plus récente de cet article ici.)

      Cordialement,
      Robert.

    • OK. Je viens de mettre en place les 2 html (pas l’article).
      BRAVO TRES UTILE

      Quelques petits problèmes.
      Spip 1.9.2d

      1 - listimg-login me connecte directement à l’espace privé. Idem avec le iframe de squel-listimg

      2 - squel-listimg me fournit :
      Warning : getimagesize() [function.getimagesize] : Read error ! in /home.10.12/multisou/www/canal-local.net/squelettes/listimg-inc.php3 on line 73

      Warning : getimagesize() [function.getimagesize] : Read error ! in /home.10.12/multisou/www/canal-local.net/squelettes/listimg-inc.php3 on line 73

      Warning : getimagesize() [function.getimagesize] : Read error ! in /home.10.12/multisou/www/canal-local.net/squelettes/listimg-inc.php3 on line 73
      then the correct listing.

      3 - s’affiche différemment en IE7 et FF2 : dans IE, avant chaque image, il y a une image puce.gif qui dans mon cas ne s’affiche pas.

    • B-(( Mon point 1 est normal, je n’avais pas pigé Merci !

    • squel-listimg me fournit : Warning : getimagesize() [function.getimagesize] : Read error ! in

      Cela est du à un comportement normal de getimagesize quand il ne trouve pas une image ou bien qu’elle n’est pas lisible (vois http://www.php.net/manual/fr/function.getimagesize.php)

      il est probable que tu as dans le dossier IMG soit
      -  une image qui n’est pas accessible pour ton serveur web, par exemple :
      rw.rw.... user user image-inaccessible-par serveur-web
      -  une image corrompue

      A vérifier.

      Maintenant, au niveau des warnings, si tu ne trouves pas l’image en cause, il y a plusieurs solutions :
      -  normalement, ils n’existent pas sur un serveur en production (d’hébergeur) par mesure de sécurité
      -  si ils existent quand même, tu peux corriger cela

      • via le php.ini en changeant display_errors = On en display_errors = Off et en relançant le serveur web
      • ou en créant un .htaccess avec un :
        <Directory /var/www/mon_site>
        	php_admin_flag display_errors off
        </Directory>

        Si tout cela ne marchait pas, la dernière solution (mais c fort de café ;) est de remplacer dans listimg-inc.php3 toutes les occurrences de getimagesize par @getimagesize. Normalement, tu ne devrais pas en arriver là.

      s’affiche différemment en IE7 et FF2 : dans IE, avant chaque image, il y a une image puce.gif qui dans mon cas ne s’affiche pas.


      bien vu ! g oublié, il faut copier à la racine du site, n’importe quelle puce de ta préférence nommée « puce.gif ».

      Voilà, est-ce que ça marche ?

      Cordialement,
      Robert.

    • Je viens d’adapter la contrib de vince (ci-dessous) dans une version 4.1beta de listimg pour spip 1.9.

      La contrib a été adaptée pour prendre en compte aussi les images attachées à une rubrique. Elle affiche aussi maintenant un lien vers la rubrique ou l’article auquel appartient l’image. Le nombre de connexion à la base mysql a été réduit à 1 par chargement de la page au lieu de 1 par image. Il reste cependant 2 requêtes mysql par image chargée sur la page : une pour vérifier le lien aux articles et une pour vérifier celui aux rubriques. Tenez compte donc que cette configuration peut s’avérer assez lourde pour un serveur de faible puissance ...

      Elle est disponible à partir de
      http://www.robert.sebille.name/downloads/listimg41beta-spip19.tar.gz. _ (Si down - ça arrive parfois, à partir de cette page : http://biblio.openbaz.be/scripts/

      Dès que g un peu de temps, je proposerai un article...

      Cordialement,
      Robert.

    Répondre à ce message

  • bonjour,
    Je suis un parfait néophyte. J’ai instalé Listimg (en local, pour le tester). Mais je ne vois pas comment ça fontionne. J’arrive sur une page qui présente une fenêtre avec un aperçu sur l’espace privé du site... Et je fais comment pour voir les images ?
    Merci de votre réponse

    Répondre à ce message

  • Bonsoir,

    J’avais travaillé sur SPIP l’an dernier, puis je suis passé a autre chose.
    Cette fois, j’ai envie d’utiliser SPIP pour genérer la navigation facile
    dans l’arborescence de fichiers de DOC récupérées depuis 5 ans (ou plus)
    dans ma nouvelle structure : environ 500 répertoires et sous répertoires
    sur un disque Samba.
    Il n’est évidement pas question d’imposer aux dévelopeurs de passer immédiatement sous SPIP rédacteur........

    Alors je me demande si je ne pourrais pas,
    après installation d’un SPIP sur un répertoire spécifique (en NFS)
    « deformer » ce script pour :
    -  générer des pages INDEX dans les répertoires et sous-répertoires,
    (voire générer les pages « rubriques » associées),
    et ensuite,
    -  suivre les mises-a-jour (téléchargement de nouvelles docs PDF, ZIP...)
    et compléter (comme en recalcul de pages) ces pages d’Index !

    En d’autres termes je voudrais migrer vers SPIP en l’utilisant temporairement
    comme générateur de Pointeurs de contenu !
    (donc générant directement la création des « dummy articles »,
    (qui pourraient etre complétés ultérieurement....)

    Je n’ai pas souvenir d’avoir jamais vu quelque chose comme cela,
    et mes recherches ne m’ont rien donné.

    Qu’en pensez-vous ?

    Votre script peut-il etre utilisé comme un point de départ, en sachant qu’il va aussi falloir re-organiser les pièces jointes de SPIP pour les faire s’adapter
    à l’arborescence existente.......je ne sais pas encore comment d’ailleurs !

    A moins que vous ne connaissiez un meilleur point de depart ?
    Je ne suis pas spécialiste de PHP mais j’en ai deja fait, parmi d’autres langages......

    Merci d’avance.

    YannX

    PS Et si vous avez d’autres pistes, ou des idées analogues,
    n’hesitez pas a me contacter.....

    ydx 35 @ Yahoo

    Répondre à ce message

  • xaccrocheur

    Ca marche *parfaitement*, merci beaucoup.
    Je cherchais 1 script de gallerie depuis longtemps, le votre est clair et documenté, et fait tout ce que je voulais ! Bravo & merci !

    pX

    Répondre à ce message

  • Salut...

    Chez moi, ton script (V3.2) pose probleme. Il semblerait que tes FOREACH (du script listimg-inc.php3)ne passent pas... A priori, Online (Mon hebergeur) utilise PHP Version 3.0.12 et PHP Version 4.3.10-2.
    Je vais donc modifier ton script.

    @+

    Répondre à ce message

  • 1
    madrilene

    Bonjour,

    je n’ai pas très bien saisi comment les logos (articles ou rubriques) sont traités par SPIP (j’arrive pas à trouver dans la base dans quelle(s) table(s) sont stockés) et si cette contribution gère les logos ou seulement les images traitées comme des documents ?

    Pour des raisons de mise en page CSS, j’aurai eu besoin de récupérer les dimensions des logos, vu qu’il n’y a pas de balises #largeur et #hauteur pour les logos, quelqu’un aurait-il/elle une idée pour obtenir ces infos comme le fait l’interface privée ?

    Si cette contrib traite les logos, j’imagine que le code existe pour cette opération, pourriez-vous me dire a quel endroit à peu près il se trouve.

    Merci d’avance et bravo pour la contrib

    • Grégoire

      Les logo sont simplement dans /IMG, et, leur nom indiquent pour quoi ils sont (hou comme c’est mal exprimé)

      arton15.jpg est le logo de survol (on) pour l’article (art) n°15
      rubon12 pour la rubrique 12.....
      Je pense qu’avec ça tu devrais t’en sortir.

      Grégoire

    Répondre à ce message

  • Merci pour ce script !!

    vivement la version qui puisse donner les “< IMGxxx|xx >”

    Répondre à ce message

  • 1

    Génial ca a l’air de marcher

    J’ai deux problèmes qui me sont propre

    -  je souhaite pouvoir récupérer les images sur des articles mais elles ne me donnent pas leur nom spip « img47|right » comment pouvoir les récuperer ? (c’est pour ne pas multiplier les téléchargements alors que plusieurs rédacteurs ulitilisent la même image)
    -  Dans cette suite logique, comment lorsqu’un rédacteur veut mettre une image il ouvre d’abord ton formulaire pour vérifier si elle n’existe pas déjà, sinon il peut télécharger sur son PC

    Est ce que je demande est faisable et/ou il existe déjà quelques chose ?

    • Je me posais la même question sur le nom spip. J’utilise plusieurs fois une images déjà téléchargée, mais me rappelant plus de son nom spip, je mets le lien complet. Ce serait plus élégant d’avoir ce fameux nom spip ;-)

      Merci.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom