Personnaliser l'upload, et invalider l'ajout de document distant + documentation #FORMULAIRE_EDITER_LOGO
Bonjour, grace à inc-upload_document on peut jouer finement sur les options lors de l'ajout d'un document, par exemple le téléchargement d'un logo dans dans l'espace public,
mais pour que joindre_distant = 0 fonctionne en ne proposant pas l'ajout distant, il faudrait ajouter la condition expressément et modifer le fichier
medias_fonctions.php L311 ++
if((isset($env['joindre_distant']) and $env['joindre_distant'])){
$methodes['distant'] = array('label_lien'=>_T('medias:bouton_download_sur_le_web'),'label_bouton'=>_T('bouton_choisir'));
}
Moins élégant, dupliquer pour modifier
<INCLURE{
fond=formulaires/inc-upload_document,
env,
mediatheque=0,
joindre_upload=oui,
joindre_mediatheque=non,
joindre_distant=0,
joindre_ftp=0,
proposer_ftp=0,
multi=non
}/>
(Mais si on utilise les pipelines, on a plus besoin de gérer cela.)
Autre demande de ce ticket qui va dans le sens d'un upload facile dans l'espace public (ou restreint au statut visiteur augmenté d'autorisations de modification) c'est que malheureusement, si l'autorisation de modifier le document est accordée mais sans vouloir pour autant accorder l'accès à l'espace privé, modeles/document_desc.html renvoie un lien 'modifier' vers l'espace privé, alors qu'il y a seulement la ligne 94 à modifier si on est pas dans l'espace eprivé. Peut-on ajouter ce test sur la condition d'autorisation avant le lien ?
[(#AUTORISER{modifier,document,#ID_DOCUMENT}|oui)
<div class="deplacer-modifier">
<span class="deplacer-document" data-rang="#RANG_LIEN"><img src='#CHEMIN_IMAGE{deplacer-16.png}' width='16' height='16' alt='<:medias:ordonner_ce_document|attribut_html:>' title='<:medias:ordonner_ce_document|attribut_html:>' /></span>
<a href="#URL_ECRIRE{document_edit,id_document=#ID_DOCUMENT}" target="_blank" class="editbox" tabindex="0" role="button"><:medias:bouton_modifier_document:></a>
</div>
]
deviendrait
[(#AUTORISER{ecrire}|oui)
[(#AUTORISER{modifier,document,#ID_DOCUMENT}|oui)
<div class="deplacer-modifier">
<span class="deplacer-document" data-rang="#RANG_LIEN"><img src='#CHEMIN_IMAGE{deplacer-16.png}' width='16' height='16' alt='<:medias:ordonner_ce_document|attribut_html:>' title='<:medias:ordonner_ce_document|attribut_html:>' /></span>
<a href="#URL_ECRIRE{document_edit,id_document=#ID_DOCUMENT}" target="_blank" class="editbox" tabindex="0" role="button"><:medias:bouton_modifier_document:></a>
</div>
]
]
//////
Voici donc une documentation pour un exemple d'appel du formulaire editer_logo dans l'espace public sans duplication des fichiers ! On souhaite un affichage disposant seulement de la possibilité d'uploader depuis son ordinateur.
#FORMULAIRE_EDITER_LOGO{article,#ID_ARTICLE,#SELF,#ENV**}
Il faut utiliser les pipelines formulaire_charger et medias_methodes_upload.
pipeline formulaire_charger($flux) {
if(test_espace_prive()===false and in_array('joindre_mediatheque',$flux['data'])){
$flux['data']['joindre_mediatheque']='non';
}
…
pipeline medias_methodes_upload($flux) {
if(test_espace_prive()===false){
unset($flux['data']['mediatheque']);
unset($flux['data']['distant']);
unset($flux['data']['ftp']);
}
return $flux;
Avec un peu de css, on élimine ensuite la phrase " depuis : mon ordinateur " qui n'est plus pertinente.
voilou !