SPIP - Contrib

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



Accueil du site > Rédaction > Documents pour rédaction > Archives Documents rédaction

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

mercredi 4 février 2004, par seb. Dernier ajout dimanche 28 janvier 2007



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 :


Répondre à cet article



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net