elFinder

Cette contribution ou ce plugin est en phase de test. Des bugs peuvent subsister. N’hésitez pas à les signaler dans le forum ci-dessous.

Ce plugin permet de parcourir l’arborescence de son site SPIP grâce au gestionnaire de fichiers Elfinder.

Principe

Ce plugin permet aux administrateurs de parcourir l’arborescence d’un site SPIP à travers un outil ressemblant à un gestionnaire de fichiers. Dans ce plugin, on s’en sert non pour gérer des fichiers et des dossiers, mais pour gérer des articles et des rubriques.

On retrouve les fonctionnalités basiques des gestionnaires de fichiers, c’est à dire déplacer, copier, créer un dossier, charger des fichiers.

Ce plugin utilise le script elFinder. Attention : toutes les fonctionnalités Elfinder ne sont pas implémentées, certains boutons risquent d’afficher des erreurs.

Utilisation

Elfinder peut être très intéressant pour :
-  Réorganiser l’arborescence de son site spip (exemple : Un drag and drop suffit pour déplacer des dizaines d’articles d’une rubrique à une autre).
-  Charger un grand nombre de documents
-  Dans un futur lointain, faire du chocolat chaud

Installation

Ce plugin ne nécessite aucun autre plugin mais le téléchargement de la librairie elFinder.

Mode d’emploi

Dans l’espace privé, dirigez verse le menu Maintenance et cliquez sur le sous-menu elFinder et amusez vous bien !!!

Déplacement de 6 articles à la fois

Ce qu’il reste à implémenter

Simple à développer :
-  Utiliser Elfinder pour afficher l’arborescence des fichiers présents sur le serveur.
-  Pour l’affichage des objets, substituer les icônes Efinder par les icones SPIP
-  ...

Plus compliqué :
-  Trouver le moyen de gérer les liens article<->document
-  Gérer l’affichage des miniatures des images.
-  ...

Discussion

9 discussions

  • 2

    Attention, sur un de mes sites ce plugin a été un point d’entrée pour des injections de scripts php dans le site (à n’importe quel endroit).
    Du coup je me suis retrouvé avec des fichiers php dans plugins-dist/media/squelettes qui envoyaient des spams (300 000 étaient encore en attente ce matin) - et d’autres scripts de type ’indexs.php" qui permettent l’ajout de pages html
    C’est pourquoi je ne recommande ABSOLUMENT PAS ce script en production !!

    • Effectivement Vincent, ce plugin n’est pas fait pour la prod mais pour faciliter la réorganisation rapide des rubriques, articles et documents. Il est à utiliser uniquement sur des serveur de développement. Navré des soucis d’injections que tu as pu rencontrer.

    • Argg, c’est sérieux ça !

      Je n’ai que quelques articles à déplacer, le plugin aurait pu être pratique ; mais là ?!?

      L’idée d’activer le plugin, de faire (vite) les modifications, puis de la désactiver (vite) est elle une parade sérieuse ; ou le simple fait d’avoir le plugin installé quelques minutes / heures rend il vulnérable à une de ces innombrables attaques « random » de l’internet moderne ?

      Merci pour l’info et bon débbuggage !

    Répondre à ce message

  • Dev Anonyme

    Solution « vulgaire » pour le bug « Mauvaise réponse du backend. Les données ne sont pas au format JSON. »

    Il semblerait qu’il y a une erreur au niveau de la fonction _stats() dans le fichier
    php/elFinderVolumeFTP.class.php.

    La ligne suivante remonte erreur car la variable $part ne comprend pas de « = ».

    list($key, $val) = explode(’=’, $part) ;

    Pour corriger l’erreur, j’ai simplement modifier par :

    if( !preg_match(’/=/’, $part) ) continue ;

    list($key, $val) = explode(’=’, $part) ;

    Ce n’est pas un fix très propre mais bon

    Répondre à ce message

  • joseph-tux

    Comme d’autres avant moi, page blanche sous les bandeaux des icones SPIP

    Je suis sous SPIP3, régulièrement mis à jour (3.0.17)

    Donc, je désactive ce plugin en attendant peut-être une mise à jour qui règle ce problème

    Les plugins actifs sont : (tous mis à jour)
    -  Accès restreint
    -  Bouton dans le texte
    -  Coloration code
    -  Enluminures typographiques
    -  FullText
    -  Le couteau suisse
    -  Lecteur multimédia
    -  NoSpam
    -  Sauvegarde automatique
    -  Squelette Ahuntsic
    -  Zippeur

    L’idée est excellente, j’attend donc patiemment, avec mes remerciements.

    Répondre à ce message

  • Bonjour,

    J’ignore si je déterre ce topic, mais j’avais également le problème suivant :
    « Mauvaise réponse du backend.
    Les données ne sont pas au format JSON. »
    Sur un des projets sur lesquels je bosse.

    Corrigé après avoir changé la version de PHP.

    Une piste à suivre donc pour ceux qui ont toujours le souci.

    @++ ;)

    Répondre à ce message

  • 2

    Programme intéressant,
    malheureusement la page ecrire/ ?exec=elfinder reste blanche après l’installation du plugin.

    Et ça avec spip 3.0.16 + elfinder 0.2.4

    Je dirais que le fichier prive/exec/elfinder.html appelle des fichiers absents de la librairie téléchargée... En effet je ne trouve pas de lib/elfinder/js/elfinder.min.js ni de lib/elfinder/css/elfinder.min.css

    Je n’en sais pas plus...

    • J’ai fini par arrivé à utiliser ce plugin en utilisant la lib présente ici :
      http://nao-pon.github.io/elFinder-nightly/latests/elfinder-2.1.zip

      et en modifiant légèrement /elfinder/inc/elFinderVolumeSPIP.class.php
      C’est un peu sauvage mais si ça peut servir à quelqu’un...

      ===================================================================
      --- elFinderVolumeSPIP.class.php        (révision 82961)
      +++ elFinderVolumeSPIP.class.php        (copie de travail)
      @@ -1067,7 +1067,7 @@
               * @return bool|string
               * @author Dmitry (dio) Levashov
               **/
      -       protected function _save($fp, $dir, $name, $mime, $w, $h) {
      +      protected function _save($fp, $dir, $name, $stat) {
                      $this->clearcache();
       
                      $id_document = $this->_joinPath($dir,$name,'d');
      @@ -1242,9 +1242,7 @@
                      }
       
                      // @todo move dateformat to client
      -               $stat['date'] = isset($stat['ts'])
      -                       ? $this->formatDate($stat['ts'])
      -                       : 'unknown';
      +               $stat['date'] = 'unknown';
       
                      if (!isset($stat['size'])) {
                              $stat['size'] = 'unknown';
    • Idem !

      Julien

    Répondre à ce message

  • 1
    Fredox

    Bonjour,

    La page apparait blanche après installation de ce plugin sous spip 3.016, aucun gestionnaire de fichier en vue, le rep lib/ est bien créé, le tout en 777 ... une piste ?

    Merci
    Cordialement.

    Répondre à ce message

  • Répondre à ce message

  • Très sympa, merci.
    Pouvoir afficher les identifiants des articles serait un must !

    Répondre à ce message

  • 4

    Mon Dieu que c’est beau !

    Sauf : « Mauvaise réponse du backend.
    Les données ne sont pas au format JSON. »

    C’est grave, Docteur ?

    FDM

    • j’en rêvais mais moi aussi backend json

    • C’est rectifié dans la version 0.2.2, Enjoy

    • Bonnjour
      j’ai mis à jour, vidé le cache ; J’ai toujours ce problème backend json...

    • Qd j’ai découvert, vu ce matin la date de publication, j’avoue que j’ai cru au poisson de Maieul ;-)
      Immédiatement levé pour installer et tester : hélas ;-(
      toujours meme erreur à la première initialisation (meme avec vidage de cache)
      [svn 81739] du 2014-04-09 16:22:04 +0200]

      Serait-ce dû à certains plugins (Yaml, Acces_restreint, Crayons, mes_Preferences, CKeditor... ?).

      A suivre
      YannX

    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