SWFUpload téléchargement par lot

Téléchargement par lot de fichiers sans FTP

Objectif

Il s’agit de permettre aux administrateurs et administrateurs restreints de télécharger un nombre important de fichiers sans accès FTP. Les documents sont téléchargés dans le dossier ../tmp/upload de l’administrateur ou de l’administrateur restreint.

Ces fichiers pourront alors être ajoutés dans les articles ou autres comme logo ou documents joints.

L’interface d’utilisation reste très spartiate, et n’est pas directement utilisable depuis un article.

Depuis la version 0.6, le plugin permet le téléchargement de multiples fichiers directement dans un article. Les fichiers téléchargés apparaissent après avoir actualisé la page. Ils sont de plus accessibles dans le dossier upload.

Description

Le plugin semble fonctionner mais il n’y a aucune garantie quant à ces défauts et vices cachés... et il restera étiquetté “en développement”...

Il utilise l’application javascript/flash développée swfupload.org ici sous licence Open source MIT License.

Un bouton supplémentaire apparaît sous l’onglet “édition”.
On peut alors choisir un ensemble de fichiers à télécharger.
Les fichiers sont placés dans le dossier ../tmp/upload des administrateurs (donc dans un sous dossier pour un administrateur restreint)

Une fonctionnalité permet également du supprimer les fichiers téléchargés.
Un administrateur restreint ne supprimera que ses fichiers, alors qu’un administrateur (non restreint) supprimera tout.

Il faut tester le plugin lorsque l’écriture des fichiers ne se fait que dans le répertoire ../tmp/upload et non dans les sous-répertoires des administrateurs restreints.

Installation et configuration

S’installe comme tous les plugins. Il suffit de télécharger l’archive sur la zone http://files.spip.org/spip-zone/swfupload.zip, de la décompresser et d’installer le répertoire obtenu dans le répertoire /plugins de SPIP et de l’activer via l’administration des plugins.
(Consulter la documentation officielle pour plus de détails.)

Le plugin ne nécessite pas CFG, mais si celui-ci est installé vous pourrez modifier certaines options de fonctionnement :
-  choix du ou des types de fichiers téléchargeables
-  choix de la taille maximale d’un fichier (limitée par ailleurs par la configuration de l’hébergement du site)
-  choix du nombre de fichiers téléchargeables en une fois

Dans le cas contraire, les réglages par défaut seront appliqués.
La configuration par défaut comporte les paramètres suivants :
-  type de fichiers; jpg, gif, png
-  taille maximale d’un ficher : 2M
-  nombre illimité de fichiers téléchargeables

Problèmes possibles (en autres...) :
-  si vous rencontrez une erreur 406, elle est le plus souvent due à la configuration du serveur apache et au module mod_security. Vous pouvez recopier le contenu du fichier htaccess.txt dans votre fichier .htaccess.
-  la taille maximale et le nombre de fichiers téléchargeables en une seule fois dépend aussi la configuration du serveur et de votre ’post_max_size’ and ’upload_max_filesize’ dans votre php.ini, configurable aussi via .htaccess me semble-t-il.

À faire


-  Faire fonctionner le plugin avec d’autres navigateurs que IE
-  Afficher les vignettes des images téléchargées
-  Rendre le plugin utilisable directement depuis les boites d’ajout d’images et de documents.

Il existe d’autres applications similaires... peut-être plus agréable... à “pluginniser” ; notamment fancyupload (open source ajax/flash), jupload.sourceforge.net (java open source) ou jupload.biz (java non libre)

updated on 2 October 2019

Discussion

44 discussions

  • 2

    J’ai installé ce plugin SWFupload - Version : 0.6 [35068] sur un SPIP 2.1.0 [15608] et testé avec Firefox 3.6 sous Windows XP.

    Le transfert (upload) de fichiers depuis la page d’un article (ecrire/?exec=articles) fonctionne parfaitement et les images apparaissent bien dans le portfolio.

    Depuis la page ecrire/?exec=swfupload_admin, le lien “Vider le dossier” ../tmp/upload/ fonctionne aussi en supprimant tout, fichiers et dossiers.

    J’ai testé avec un administrateur restreint : les fichiers sont “uploadés” dans /tmp/upload et non dans /tmp/upload/nom_admin_restreint. “Vider le dossier” est là aussi très (trop ?) efficace.

    Pour que le bouton “Upload” apparaisse sur la page ecrire/?exec=swfupload_admin, j’ai dû modifier le fichier plugins/swfupload/swfupload_pipelines.php, ligne 21.

    Avant :

    1. if (_request('exec') == 'articles' AND ($GLOBALS['connect_statut'] == "0minirezo" || $GLOBALS["connect_toutes_rubriques"])) {

    Après :

    1. if ((_request('exec') == 'articles'  || _request('exec') == 'swfupload_admin') AND ($GLOBALS['connect_statut'] == "0minirezo" || $GLOBALS["connect_toutes_rubriques"])) {

    Avec cette modification, l’upload fonctionne parfaitement depuis cette page.

    Pour que l’icône de SWFupload apparaisse bien dans le menu Édition, j’ai dû aussi modifier ce même fichier ligne 8 :

    Avant :

    1. "../"._DIR_PLUGIN_SWFUPLOAD."/images/swfupload-24.png",  // icone

    Après :

    1. _DIR_PLUGIN_SWFUPLOAD."images/swfupload-24.png",  // icone

    Très pratique ce plugin !

    • Philippe

      Effectivement, cette modification a résolu mon pb.
      Merci

    • Philippe

      Petit complément,
      toujours sur la Version : 0.6 [35068] ;
      la modification de la ligne 8 n’était pas nécessaire dans mon cas, mais quand elle est faite, l’icône de SWFupload apparait bien dans le menu Édition aussi.

    Reply to this message

  • serait il possible de faire un dl par lot aussi dans les rubriques, je crois comprendre que c’est possible uniquement dans les articles :(

    Reply to this message

  • Quelques problèmes lors de l’utilisation du plugin (sur SPIP 1.9.2i), l’un qui peut poser des problèmes de sécurité, l’autre qui, s’il est confirmé, me paraît être un bug... :

    1. filtrage insatisfaisant des documents :
    Pourrait-on envisager que le plugin s’appuie aussi sur la table des types de documents de SPIP pour accepter directement les documents uploadés, ou zipper ceux que SPIP zipperait naturellement ? Actuellement, par exemple, si on paramètre le plugin pour "tous types de documents [*.*], un script PHP peut être uploadé sans problème... mais ne peut bien sûr être récupéré comme document de SPIP.

    2. erreur dans l’action du lien “supprimer les fichiers” pour un administrateur restreint (“tmp/upload/nom_d_utilisateur”) :
    -  le dossier de l’utilisateur est bien vidé (c’est normal)
    -  le dossier de TOUS les autres utilisateurs est VIDÉ puis SUPPRIMÉ !

    Reply to this message

  • 1

    Le paramétrage de certains serveurs fait que le téléchargement des fichiers par SWFUpload leur accorde des droits insuffisants.

    Sur ceux que nous utilisons, ils se mettent en 0600 (rw-------) avec Apache propriétaire des fichiers, ce qui interdit même au webmestre de supprimer les fichiers, sauf à utiliser l’interface de swfupload, qui supprime TOUS les fichiers de “tmp/upload”.

    Pourrait-on prévoir de rajouter, dans le fichier “balise/swfupload.php”, une ligne remettant les droits en 777 (par défaut, ceux du dossier “tmp/upload”) ?

    [proposition, ajout dans “balise/swfupload.php” ligne 44] :

    @chmod($upload_dir.$_FILES['Filedata']['name'], 0777);

    Merci en tout cas pour le développement du plugin.

    OJ.

    PS.
    Je ne sais pas “committer”, comme cy_altern, sinon je l’aurais fait...

    • Pourrait-on prévoir de rajouter, dans le fichier “balise/swfupload.php”, une ligne remettant les droits en 777 (par défaut, ceux du dossier “tmp/upload”) ?

      [proposition, ajout dans “balise/swfupload.php” ligne 44] :
      @chmod($upload_dir.$_FILES[’Filedata’][’name’], 0777);

      C’est fait: http://zone.spip.org/trac/spip-zone/changeset/34703

      PS. Je ne sais pas “committer”, comme cy_altern, sinon je l’aurais fait...

      pour une prochaine fois, inscris toi sur la liste spip-zone@rezo.net sur laquelle tu pourra demander ton pass pour commiter (pour utiliser SVN, voir http://zone.spip.org/trac/spip-zone/wiki/CommentUtiliserSvn)

    Reply to this message

  • Pour signaler un problème sous spip 2.0.
    En effet, lors de la suppression des fichiers sous upload, le fichier .ok est aussi supprimé ce qui entraine la disparition du bouton upload sous SWFUload (=> impossibilité de retélécharger d’autres fichiers.).

    Embêtant non?

    Reply to this message

  • 1

    Bonjour,

    J’ai installé ce plugin sur SPIP 1.9.2a (chez Free) et lorsque j’essaie d’aller sur un article dans l’espace privé, j’ai l’erreur
    Fatal error: Call to undefined function: bouton_block_depliable() in /mnt/101/sda/4/a/toulousevelo/plugins/swfupload/swfupload_pipelines.php on line 104

    Des idées ?

    • effectivement la version 0.6 de ce plugin utilise la fonction bouton_block_depliable() qui n’existe qu’en SPIP 2.0... la compatibilité avec SPIP 1.9.2 est donc cassée.
      Je viens de commiter un correctif: ça devrait être OK dans le prochain zip.

    Reply to this message

  • 1

    Apparemment, ce plugin ne fonctionne pas quand le plugin couteau suisses est installé également (en tout cas, c’est ainsi sur mon spip 2.0.10). La console de SWF apparaît, on peut choisir une suite d’images sur l’ordinateur, on voit bien la barre d’upload apparaître, comme si ça fonctionnait, c’est noté X files upload, mais en fait il n’en est rien... Quand on vérifie, rien n’a été ajouté. Donc, quand j’ai besoin d’uploader plusieurs images, je désactive quelques minutes couteau suisse, je me sers de SWFupload sur un article, puis je réactive le couteau suisse quand c’est terminé. Ca me permet d’utiliser ces deux plugins. Merci à Phil car SWF upload est vraiment extrêmement pratique!

    • Même problème. Couteau suisse + SWFUpload
      Voici ce que j’ai activé avec couteau suisse :
      -  Liste des webmestres
      -  Lutte contre le SPAM
      -  Pas de forums anonymes
      -  Supprime le numéro
      Si cela parle à quelqu’un ?

    Reply to this message

  • Salut, j’ai installé et bien configuré le plugin. Je rencontre un problème quand j’essai de telecharger une image. Je recoit ce message d’erreur “Security error”. Comment est c que je peux corrigé cela? les dossiers sont bien en écriture.

    Reply to this message

  • Bonjour,
    Comme Patrick (20/5), j’ai une page blanche pour la modification de mes articles dans la partie privé après avoir installé ce plugin sur mon site en 1.9.2e.
    Comment avez-vous fait pour le faire fonctionner correctement ?
    A l’avance merci de votre aide

    Reply to this message

  • Bonjour,
    J’ai installé ce plugin sur une 2.09 et en configurant avec cfg, j’ai le message suivant :

    Fatal error: Cannot unset string offsets in /home/www/0f141ab6310af8f593aabc96c8c86e8f/web/ecrire/public/composer.php on line 620

    Comme je n’y comprends rien, toute aide est bienvenue.
    Merci et cordiales salutations.

    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