bonjour à tous,
N’étant pas un encore un pro de la programmation, la source donnée peut sûrement être améliorée. Cependant, elle a le mérite d’exister, voire de créer un débat.
Spip étant par définition un site collaboratif, nombres de personnes (dont je fait partie) recherchent à faciliter la vie des rédacteurs.
N’ayant pas tous des connaissances poussées en informatique, cela peut créer un frein au développement et à la participation. C’est pourquoi personnellement je cherches à faciliter la vie de mes rédacteurs en permanence pour les inciter à participer .
Dans ce cadre outre les commentaires, il est parfois souhaitable de laisser aux rédacteurs la possibilité d’ajouter un document ou une image .
voici le code à ajouter au fichier mes fonctions :
/*
- ±---------------------------------+
- Code à insérer upload de documents
- ±------------------------------------+
- Fonctions :
- permet aux utilisateurs d’insérer un document ou une image
- ±------------------------------------+
*/
function up_doc($id, $type=« article »,$script=NULL) {
include_spip(‹ inc/autoriser ›);
// il faut avoir les droits de modif sur l’article pour pouvoir uploader !
if (!autoriser(‹ joindredocument ›,$type,$id))
return « »;
include_spip(‹ inc/presentation ›); // pour l’aide quand on appelle afficher_documents_colonne depuis un squelette
// seuls cas connus : article, breve ou rubrique
if ($script==NULL){
$script = $type.‹ s_edit ›;
if (!test_espace_prive())
$script = parametre_url(self(),« show_docs »,’’);
}
$id_document_actif = _request(‹ show_docs ›);
// Ajouter nouvelle image
$joindre = charger_fonction(‹ joindre ›, ‹ inc ›);
// Ajouter nouveau document
//$ret .= «
if (!isset($GLOBALS[‹ meta ›][« documents_$type »]) OR $GLOBALS[‹ meta ›][« documents_$type »]!=‹ non ›) {
$ret .= $joindre(array(
‹ cadre › => ‹ enfonce ›,
‹ icone › => ‹ doc-24.gif ›,
‹ fonction › => ‹ creer.gif ›,
‹ titre › => T(‹ bouton_ajouter_document ›).aide(« ins_doc »),
‹ script › => $script,
‹ args › => "id$type=$id",
‹ id › => $id,
‹ intitule › => _T(‹ info_telecharger ›),
‹ mode › => ‹ document ›,
‹ type › => $type,
‹ ancre › => ‹ ›,
‹ id_document › => 0,
‹ iframe_script › => generer_url_ecrire(« documents_colonne »,« id=$id&type=$type »,true)
));
}
return $ret;
}
// FIN du code upload
Il peut parfaitement être utilisé avec le plugin autorité pour définir les droits
Pour l’appeler à partir d’un squelette, il suffit d’insérer le code suivant :
[
c’est tout !
Limitations :
lorsque quelqu’un insère une image, tout va bien, par contre lorsque c’est un document, aucun nom n’y est associé !
Ps: le code n’est pas de moi personnellement mais le but de spip étant la mutualisation, j’ai pensé utile de le partager même si pour certains cela peut s’avérer évident .
Il peut sûrement être amélioré !
@ +
all sécu
ps: si vous voulez voir ce que cela peut donner, vous pouvez vous rendre ici : http://www.allsecurite.com/fr/spip.php?article676 (une identification vous sera demandée car l’idéal serait en plus d’afficher doc inséré par xxx. Vous pouvez utiliser le log: redacteur et le pass: redacteur ). Le panel inséré est celui de l’espace privé (ici sous l’article, introuduit par " Ajouter vos infos) - merci de ne pas utiliser cette page comme bac à sable 