SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

47 visiteurs en ce moment

Accueil du site > Contribs > Rédaction > Documents pour rédaction > Archives Documents rédaction > Déplacer un document vers un répertoire autre que IMG
[7 commentaires]

Déplacer un document vers un répertoire autre que IMG

mercredi 4 février 2004, par seb

  • Digg
  • Del.icio.us
  • Facebook
  • Google
  • Technorati

NdM : Attention, il semblerait que la compatibilité de cette contrib avec SPIP 1.8 soit incertaine !

FONCTION

J’ai écrit ce filtre pour répondre à une attente de mon chef de projet : enregistrer les documents joints aux articles sur un serveur de données différents de celui où est hébergée la Base de données Mysql de SPIP.

Je l’ai modifié afin de le rendre aussi générique que possible et de permettre à tout un chacun de l’utiliser comme il le souhaite. Ce filtre permet de :
- déplacer le type de documents souhaité (images, word, pdf...)
- spécifier un chemin propre ou laisser le filtre générer automatiquement une arborescence de répertoires identiques à celle des rubriques dont dépend l’article lié au document.
- effectuer les modifications nécessaires dans la base de données

COMMENT CA MARCHE ?

Comme il s’agit d’un filtre, pas besoin de savoir coder du PHP et surtout on ne touche pas au noyau de SPIP (merci Vincent ! ). On l’utilise comme les autres filtres , en lui passant 3 paramètres.
ex :
(#LOGO_DOCUMENT|#URL_DOCUMENT|deplacer_document{"","Q:/","doc,pdf,xls,ppt,rtf"})

- le chemin : vide dans mon exemple.On peut lui indiquer le repertoire de destination. Dans le cas contraire, le script va générer automatiquement une arborescence de répertoire identique à celle de la hiérarchie de rubriques de l’article auquel est lié le document. L’arborescence débutera à la racine spécifiée ( voir ci-dessous). Ne pas oublier le "/" à la fin du chemin.
- la racine : "Q :/" dans mon cas. Si on n’indique pas de valeur au paramètre chemin, il faut indiquer au script la racine de l’arborescence, sinon elle est créée dans le répertoire courant.Ne pas oublier le "/" final.
- le type de documents à rechercher : dans mon cas, je recherchais surtout des documents doc,pdf,xls,ppt et rtf. Si vous souhaitez modifier ces critères de recherche, changer ce paramètre en indiquant les extensions séparées par des virgules.

EXEMPLE

Si un document est lié à un article , disons, processus.doc lié à l’article "comment faire". Cet article est dans la rubrique "documentation" elle-même dans la rubrique "technique" par exemple. Le filtre va donc générer sur le serveur de fichier une arbo de type(si on appelle Q :/ la racine du serveur de fichier) :

Q :/technique/documentation/processus.doc

Si aucune racine n’est indiquée au filtre(ici Q :/), l’ arborescence sera crée au niveau du répertoire courant , disons, par ex , c :/www/monsite. on aura alors :

c :/www/monsite/technique/documentation/processus.doc

Voilà, les modifications seront prises en compte lors de la première visite de l’article en question !!! :)

Il n’y a qu’à faire un copier-coller du code suivant dans votre fichier mes_fonctions.php3 de SPIP :

Retour en haut de la page

7 Messages de forum

Voir toute la discussion

  • Répondre à ce message

    18 novembre 2007 21:11 , par Laetitia

    Bonjour

    Ca a l’air d’être super mais je n’arrive pas à le faire fonctionner. Est-ce que ca fonctionne avec la version 1.9.2 ? Si oui, comment et oùu met-on le filtre ? Quelqu’un pourrait me donner un exemple ? Merci

  • Répondre à ce message

    26 octobre 2005 11:00

    Est-ce qu’il faut appeler ce filtre (#LOGO_DOCUMENT|#URL_DOCUMENT|deplacer_document"","Q :/","doc,pdf,xls,ppt,rtf") dans "article.html" ?

    Si oui à quel endroit ? Si non dans quelle boucle ?

  • Répondre à ce message

    23 juin 2004 16:11 , par Laurent

    Je suis tout a fait d’accord,

    le fichier mes_fonctions.php3 ce met bien dans le dossier ecrire ?? J’ai mis l’appel au filtre dans mon squelette article au niveau de l’affichage des documents liés mais le filtre n’est pas reconnue comme tel, il n’est pas exécuté.

    Si qqc’un a une idée ce serais super génial.

    Merci d’avance.

  • Répondre à ce message

    11 juin 2004 10:14 , par Mkl

    Euh... J’ai dû louper un épisode !?

    J’ai bien créé le fichier mes_fonctions.php3, mais ça ne fonctionne pas ! Et comment est-il "appelé" ce fichier quand j’ajoute de nouveaux documents à mes articles ?

    Merci d’avance !

    Voir en ligne : Les albums photos de Maëlle

  • Répondre à ce message

    26 mai 2004 09:36 , par jerome

    Bonjour, J’utilise spip ver1.7.2 J’essaye d’utiliser le filtre pour déplacer des documents vers un serveur de donné mais il n’as pas l’air de fonctionner. J’ai vu dans le filtre que MKDIR est utilisé pour creer l’arborescance de répertoire. Est ce une fonction de php ou c’est uniquement la fonction pour un serveur de donné sous linux. Car dans ce cas la c’est normale que ca ne fonctionne pas chez moi car j’utilise un serveur de donné sous windows...

    Je tiens a préciser que je n’ais aucune erreur lors de l’execution du script php, il n’y a rien qui se passe. Merci d’avance pour les réponses ...

  • Répondre à ce message

    22 mai 2004 10:51

    génial !! je m’en sert pour déplacer les fichiers sur un répertoire sécurisé spécifique, et ça marche très bien :)

  • Répondre à ce message

    4 février 2004 12:46 , par BoOz

    Bravo c’est super !

    On pourrait même imaginer une suite à cette contrib, qui ouvrirait un acces ftp et permettrait de mettre des photos sur un autre hebergeur par exemple.

Répondre à cet article

Retour en haut de la page

Ça discute par ici

SPIP | Squelette | | Plan du site | Suivre la vie du site RSS 2.0