Spip propose de joindre des documents à différents endroits. Ces documents sont de 3 types :
Les images. Avec la possibilité d’avoir une preview
Les éléments multimédia (les embed). Pour l’instant, seul le Real est géré.
Les documents.
Un système d’icones est fourni pour afficher les différentes pièces jointes, ainsi que le gestion des .zip et la restrictions des formats permis à l’upload.
L’upload est centralisé : /spip_image.php3 s’occupe de tout, ensuite, l’utilisateur est redirigé.
Le code est dispatché en divers endroits :
ecrire/inc_document.php3
spip_image.php3
ecrire/inc_version.php3
Les documents sont rangés par dossier par extension.
Les documents sont indexés dans la table spip_documents, avec divers informations comme le poids, la hauteur, la largeur, la date, le titre.
Ce fichier est le point centrale pour tout ce qui est upload. En plus du classique input type="file", il faut lui passer une série d’arguments en champs "hidden".
| id_article | ||
| hash | ||
| hash_id_auteur | ||
| ajout_doc | ||
| mode | ||
| type | ||
| redirect | url où l’on va être rediriger aprés que l’upload ce soit bien passé |
les actions sont protégés par un hashage de validation generer avec la fonction : $hash = calculer_action_auteur("ajout_doc") ;