SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 220 visiteurs en ce moment

Accueil > Rédaction > Documents pour rédaction > Formulaire upload > Formulaire upload

Formulaire upload

25 septembre 2012 – par b_b, erational, Fil – 31 commentaires

11 votes

Ce plugin permet d’uploader des documents depuis l’espace public

Objectifs

Ce plugin permet d’ajouter un formulaire dans l’espace public pour uploader et gérer des fichiers. A priori, il peut se greffer sur tous types objets SPIP : articles, auteurs, ....

L’upload repose sur la librairie jQuery Multifile qui permet :

  • Envoi de plusieurs fichiers en une seule passe
  • De limiter le nombre ou les types de fichiers à placer en ligne
Attention : Si vous cherchez uniquement à autoriser vos visiteurs à ajouter des documents sur les forums d’article, utilisez directement la fonction native proposée dans SPIP 3.

Aperçu de l’interface

JPEG - 37 ko

Il est possible de personnaliser la css du formulaire.

Configuration

Une fois de plugin activé, vous pouvez le configurer :

  • Type d’extensions de fichiers autorisés (vide = toutes les extensions autorisées par SPIP)
  • Nombre de fichiers autorisés en un seul upload
  • Afficher ou non des raccourcis d’insertion du type <imgXX> ....

Sur la version SPIP 3, il est aussi possible de déterminer

  • Nombre de fichiers autorisés par utilisateur (quota)
  • La possibilité de gérer les titres des documents

Mise en œuvre dans vos squelettes

On suffit d’ajouter la balise

  1. #FORMULAIRE_UPLOAD

Cette formulaire est dépend du contexte, s’il est placé dans une boucle articles, il uploadera les documents dans l’article et non pas au niveau de l’auteur.

Hors d’une boucle et sans paramètres, le formulaire prends en argument l’id_auteur de l’auteur connecté

La syntaxe complète est

  1. #FORMULAIRE_UPLOAD{type_objet,id_objet,fond_documents}

Avec :

  • type_objet auteur par exemple
  • id_objet pour l’id_auteur ou autre élément
  • fond_documents fond situé dans le répertoire /formulaires à utiliser pour l’affichage des documents (personnalisable)

Autorisations

Les autorisations sont les autorisations natives de SPIP. Il est possible de les affiner via le fichier autorisation (spip3)

Retours

Le plugin est sur la zone. N’hésitez pas à le faire évoluer.

Voir en ligne : http://plugins.spip.net/formulaireupload

Dernière modification de cette page le 2 avril 2015

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 5 octobre à 22:49, par Solidairnet En réponse à : Formulaire upload

    Bonjour j’essaie ce plugin sous SPIP 3.1.1
    mais le html calculé ne donne que ça :

    1. <div class="formulaire_spip formulaire_upload" id="formulaire_upload_auteurs_1">
    2. <br class='bugajaxie' />
    3. </div>

    Télécharger

    merci de m’aider :-)

    Répondre à ce message

  • Le 2 avril 2013 à 10:08, par Ben. En réponse à : Formulaire upload

    Pour info, la fonctionnalité est disponible nativement en SPIP3 dans le plugin medias de SPIP :

    Il faut utiliser le #FORMULAIRE_JOINDRE_DOCUMENT, en y précisant à quel objet éditorial attacher le document.
    Par exemple :

    <div class="ajax">
    #FORMULAIRE_JOINDRE_DOCUMENT{new,article,#ID_ARTICLE}
    </div>

    On peut aussi associer des documents sans les attacher à aucun objet éditorial :

    <div class="ajax">
    #FORMULAIRE_JOINDRE_DOCUMENT
    </div>
    • Le 20 septembre 2013 à 09:28, par troon En réponse à : Formulaire upload

      la seule (et grosse différence pour moi, en tous cas sur le site sur lequel je bosse actuellement) c’est que la gestion des titre, descriptif et crédits ne sont pas permises par ce formulaire, il faut jouer avec plusieurs formulaires pour y arriver, et c’est pas simple :)

      mais j’y arriverai !

    • Le 10 février 2014 à 17:22, par Beurt En réponse à : Formulaire upload

      Il faut utiliser le #FORMULAIRE_JOINDRE_DOCUMENT, en y précisant à quel objet éditorial attacher le document.

      Pour ne pas oublier je l’écris ici :

      Pour que le formulaire #FORMULAIRE_JOINDRE_DOCUMENT fonctionne correctement, il ne faut pas oublier que la classe CSS none-js doit avoir la propriété CSS suivante display:none;. Par défaut, cette classe est définie dans le fichier CSS prive/themes/spip/clear.css qui a priori n’est pas chargé dans l’espace public.

      Donc, il faut soit attribuer le display:none; à la classe soi-même, soit charger la feuille CSS.

    • Le 29 janvier à 18:02, par peetdu En réponse à : Formulaire upload

      Faire attention à l’ordre des paramètres donnés. La bonne syntaxe est la suivante :

      1. <div class="ajax">
      2. #FORMULAIRE_JOINDRE_DOCUMENT{new,#ID_ARTICLE,article}
      3. </div>

      Télécharger

    • Le 1er février à 12:17, par Julien En réponse à : Formulaire upload

      Serait-il possible dans la prochaine mise à jours de rendre le plugin actif sur un formulaire personnalisé ?

      1. #FORMULAIRE_JOINDRE_DOCUMENT_PERSO{new,#ID_ARTICLE,article}

      En attendant j’ai mis ceci à la ligne 60 dans le pipelines (uploadhtml5_pipelines.php)

      1. if ($flux['args']['form'] == 'joindre_document' || $flux['args']['form'] == 'joindre_document_prive')

      Julien.

    • Le 14 septembre à 16:45, par associate-it En réponse à : Formulaire upload

      Pour résumer les message de Ben et Beurt, concernant le formulaire d’upload natif à SPIP. On peut l’intégrer dans un squelette avec le code suivant :

      -  Pour uploader des documents depuis l’espace public sans les rattacher à un objet.

      1. <div class="ajax">
      2. #FORMULAIRE_JOINDRE_DOCUMENT
      3. </div>

      Télécharger

      -  Pour uploader des documents depuis l’espace public en les rattachant à un objet (un « article » dans cet exemple).

      1. <div class="ajax">
      2. #FORMULAIRE_JOINDRE_DOCUMENT{new,#ID_ARTICLE,article}
      3. </div>

      Télécharger

      Pour que le formulaire d’upload de fichier natif s’affiche correctement, ajouter dans la feuille CSS perso

      1. .none-js {
      2. display:none;
      3. }

      Télécharger

      A noter que le formulaire sans argument #FORMULAIRE_JOINDRE_DOCUMENT est visible pour tout le monde, y compris les visiteurs non authentifiés, mais la balise avec arguments (pour rattacher le document à un article par exemple), n’est visible que des administrateurs.
      L’usage de cette balise est donc assez limité, heureusement le plugin Formulaire Upload permet d’aller plus loin.

    Répondre à ce message

  • Le 28 juin à 11:53, par ghi60 En réponse à : Formulaire upload

    Bonjour,
    Mon site doit avoir un formulaire d’upload sans utilisateurs connecter, (sans auteurs),
    Comment forcer le plugin à fonctionner sans être loger ?

    Merci

    Warning : Illegal string offset ’id_auteur’ in ..../www/plugins/auto/formulaireupload/v1.0.5/formulaires/upload.php on line 20

    • Le 28 juin à 12:00, par b_b En réponse à : Formulaire upload

      Salut, ce n’est pas pris en charge par le plugin, mais comme indiqué dans la documentation, tu peux utiliser la fonctionnalité d’upload des documents dans les forums.

      Si vous cherchez uniquement à autoriser vos visiteurs à ajouter des documents sur les forums d’article, utilisez directement la fonction native proposée dans SPIP 3.

      Sinon, tu peux aussi y arriver en mettant les mains dans le code à l’aide de l’API CVT Upload : http://plugins.spip.net/cvtupload.html

    • Le 14 septembre à 16:52, par associate-it En réponse à : Formulaire upload

      La balise native SPIP #FORMULAIRE_JOINDRE_DOCUMENT te permet d’uploader un document depuis l’espace public sans être authentifié.

      Sinon, tu peux assouplir les autorisations dans le plugin Formulaire Upload. Dans l’exemple ci-dessous, on permet à un visiteur (statut 6forum) d’uploader des fichiers (alors que normalement il faut au moins être rédacteur) :

      Modifier le fichier formulaire upload_autorisations.php qui se trouve à la racine du répertoire du plugin, et remplacer la ligne :

      1. return autoriser_joindredocument_dist($faire, $type, $id, $qui, $opt);

      par la ligne

      1. if ($qui['statut'] == '6forum'){
      2. return true;
      3. }
      4. else {
      5. return autoriser_joindredocument_dist($faire, $type, $id, $qui, $opt);
      6. }

      Télécharger

    Répondre à ce message

  • Le 24 mai à 20:17, par Teenoo En réponse à : Formulaire upload

    Chouette petit plug pour un intranet :) Tite question ! Possibilité de permettre d’adjoindre des mots-clés ? Facile à intégrer ?

    Répondre à ce message

  • Le 26 octobre 2015 à 07:41, par Spipmalion En réponse à : Formulaire upload

    Lorsque je ne suis pas connecté, j’obtiens ceci à la place du formulaire :

    Warning : Illegal string offset ’id_auteur’ in \plugins\formulaire_upload_3_0\formulaires\upload.php on line 20

    • Le 26 octobre 2015 à 11:19, par Fil En réponse à : Formulaire upload

      Tu peux corriger le plugin ? À la ligne en question rajouter un test d’existence (isset) ou ignorer l’erreur avec un @.

    • Le 26 octobre 2015 à 21:15, par Spipmalion En réponse à : Formulaire upload

      J’ai fait la modif et testé en local sur le trunk et sur mon site local, l’erreur n’apparaît plus
      On me demande un login/mdp pour pouvoir la commit
      J’ai fait une demande sur la liste rezo

    Répondre à ce message

  • Le 12 octobre 2015 à 20:54, par RealET En réponse à : Formulaire upload

    D’après ce que j’en ai compris, ce plugin permet de faire 3 choses :

    1. il affiche les documents
    2. il permet d’en supprimer
    3. il permet d’en rajouter

    Mais ça, seulement si l’auteur a un droit de modification sur la rubrique.

    J’ai un cas d’usage où ces formulaires ne sont montrés que dans des zones d’accès restreint. Mais si l’auteur n’est pas en plus admin (ou admin restreint) de la rubrique, alors rien ne s’affiche.

    Est-ce que je peux modifier le plugin pour que ça affiche systématiquement la liste (1), mais 2) et 3) seulement si y’a les autorisations pour ?

    • Le 13 octobre 2015 à 11:06, par b_b En réponse à : Formulaire upload

      Hop, si tu as déjà le patch, poste le quelque part pour qu’on y jette un œil. Sinon, envoie le commit et on gueulera après ;)

    • Le 26 octobre 2015 à 07:40, par Spipmalion En réponse à : Formulaire upload

      Bonjour RealET,

      Est-ce que tu as pu ajouter les modifs pour les rubriques restreintes au plugin ?

    Répondre à ce message

  • Le 28 juillet 2015 à 10:26, par En réponse à : Formulaire upload

    Est-ce que ce plugin pourrait être utilisé pour remplacer le formulaire d’ajout de document dans les forums publics, car il n’est possible de joindre qu’un seul document en réaction au forum ?

    Répondre à ce message

  • Le 3 mai 2014 à 12:50, par flouvel En réponse à : Formulaire upload

    Pour les nuls, en complément à Ben et Beurt méthode 2 (méthode 1 ? qd à celle de g0uZ ?!...)
    « Pour que le formulaire #FORMULAIRE_JOINDRE_DOCUMENT fonctionne correctement » :
    ajouter dans /inclure/head.html

    [(#REM) 1'. complément CSS formulaire_joindre_document]
    <link rel="stylesheet" href="prive/themes/spip/clear.css" type="text/css" />

    et dans article.html :

    <div class="none-js; ajax display:none;">
    #FORMULAIRE_JOINDRE_DOCUMENT{new,#ENV{id_article},'article','auto'} <!--et non {new,article,#ID_ARTICLE} -->
    </div>

    mais on n’a pas ainsi accès à la médiathèque depuis le site public ...

    Répondre à ce message

  • Le 12 mars 2014 à 14:12, par g0uZ En réponse à : Formulaire upload

    En SPIP3, pour ceux qui aimerait avoir la possibilité d’uploader un fichier dans un formulaire CVT :

    coté PHP, ajouter dans votre fonction traiter() :

                // Gérer les pièces jointes
               include_spip('inc/joindre_document');
               $files = joindre_trouver_fichier_envoye();
               if (is_array($files)) {    
                   $ajouter_documents = charger_fonction('ajouter_documents', 'action');
                   $nouveaux_doc = $ajouter_documents($id_document, $files, "solution", $id_solution, 'document');                
               }

    ou « id_solution » / solution à l’identifiant auquel vous souhaitez voir rattaché votre document.

    Coté HTML, ajouter dans votre formulaire :

    <input type="file" name="fichier" />
    <input type="hidden" name="joindre_upload" value="1" />

    L’attribut name de l’input de type file est libre.

    Vous pourrez donc uploader un fichier via votre formulaire CVT et l’avoir (ou non, modulo une petite adaptation) attaché a votre objet éditorial perso.

    • Le 15 mars 2014 à 05:24, par Delorimier En réponse à : Formulaire upload

      Comment faire pour les logos d’articles svp ?

    Répondre à ce message

  • Le 28 septembre 2013 à 12:56, par Manou En réponse à : Formulaire upload

    bonjour,
    Quel balise faut coller dans l’espace privé pour afficher ce formulaire ?? j’ai essayé

    mais marche pas.....Merci de votre aide

    Répondre à ce message

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • GIS 4

    11 août 2012 – 1286 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

  • Médiathèque

    20 novembre 2008 – 292 commentaires

    Un plugin pour gérer tous vos documents de façon centralisée.

  • Metas +

    3 décembre – commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Import ICS 2 (agenda distant)

    2 août – 35 commentaires

    La version 2 du plugin « import ICS » en reprend la principale fonctionnalité, à savoir l’ajout automatique d’évènements distants dans la liste des évènements d’un site. À la différence de la première version, elle ne dépend pas du plugin « Séminaire » et est (...)

  • Newsletters

    16 janvier 2013 – 374 commentaires

    Ce plugin permet de composer des Info-lettres. Par info-lettre, on désigne ici le contenu éditorial qui va être composé et envoyé par courriel à une liste d’inscrits. Le plugin permet de composer une info-lettre à partir d’un modèle pré-composé, (...)

Ça spipe par là