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

All contributions published for previous SPIP versions

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

updated on 29 September 2005

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 clairsi vous avez des soucis pour rajouter can'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

    Reply to this 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.

    Reply to this 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

    Reply to this 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

    Reply to this 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

    Reply to this 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.

    @+

    Reply to this 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

    Reply to this message

  • Merci pour ce script!!

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

    Reply to this 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.

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom