Skip to content
Extraits de code Groupes Projets
Valider 80cfdf99 rédigé par cedric@yterium.com's avatar cedric@yterium.com
Parcourir les fichiers

Suite de r104308 et r104309 : on retablit le fonctionnement iso de...

Suite de r104308 et r104309 : on retablit le fonctionnement iso de inc-upload_document.html qui determine lui meme avec son env les methodes d'upload via filtre medias_lister_methodes_upload et pipeline medias_methodes_upload
Ainsi on conserve la compat complete avec les versions anterieures de SPIP, tout en beneficiant de l'extensibilite des methodes d'upload
parent f18abc51
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -31,17 +31,6 @@ function formulaires_illustrer_document_charger_dist($id_document) {
$valeurs['id_vignette'] = $vignette['id_document'];
$valeurs['_pipeline'] = array('editer_contenu_objet', array('type' => 'illustrer_document', 'id' => $id_document));
// méthodes d'upload disponibles
$valeurs['_methodes_upload'] = array();
$valeurs['_methodes_upload']['upload'] = array('label_lien'=>_T('medias:bouton_download_local'),'label_bouton'=>_T('bouton_upload'));
$valeurs['_methodes_upload']['distant'] = array('label_lien'=>_T('medias:bouton_download_sur_le_web'),'label_bouton'=>_T('bouton_choisir'));
// pipeline pour les méthodes d'upload
$valeurs['_methodes_upload'] = pipeline('medias_methodes_upload', array(
'args' => array('objet' => 'document', 'id_objet' => $id_document),
'data' => $valeurs['_methodes_upload']
));
return $valeurs;
}
......
......@@ -6,9 +6,10 @@
[(#ENV{joindre_distant}|oui)#SET{methode,distant}]
[(#ENV{joindre_ftp}|oui)#SET{methode,ftp}]
<div id="defaultsubmit#GET{domid}" class="none">DEFAULT</div>
#SET{methodes_upload,#ENV**|medias_lister_methodes_upload}
<BOUCLE_methodes(DATA){source tableau,#ENV{_methodes_upload}}>
<div id="defaultsubmit#GET{domid}" class="none">DEFAULT</div>
<BOUCLE_methodes(DATA){source tableau,#GET{methodes_upload}}>
#SET{methode_upload,#CLE}
<div class='joindre_mode#GET{domid}[(#GET{methode}|=={#CLE}|non)none-js]' id='joindre_#CLE#GET{domid}'>
......@@ -17,7 +18,7 @@
<div class='sourceup'>
[(#SET{cpt,1})]
<:medias:bouton_download_depuis:>
<BOUCLE_methodes_liens(DATA){source tableau,#ENV{_methodes_upload}}>
<BOUCLE_methodes_liens(DATA){source tableau,#GET{methodes_upload}}>
[(#GET{cpt}|>{1}|oui)
[(#VAL{'|'})]
]
......
......@@ -83,23 +83,6 @@ function formulaires_joindre_document_charger_dist(
$valeurs = array();
$mode = joindre_determiner_mode($mode, $id_document, $objet);
// méthodes d'upload disponibles
$valeurs['_methodes_upload'] = array();
$valeurs['_methodes_upload']['upload'] = array('label_lien'=>_T('medias:bouton_download_local'),'label_bouton'=>_T('bouton_upload'));
if($proposer_media && !empty($objet) && $id_objet != 0){
$valeurs['_methodes_upload']['mediatheque'] = array('label_lien'=>_T('medias:bouton_download_par_mediatheque'),'label_bouton'=>_T('medias:bouton_attacher_document'));
}
if($proposer_ftp) {
$valeurs['_methodes_upload']['ftp'] = array('label_lien'=>_T('medias:bouton_download_par_ftp'),'label_bouton'=>_T('bouton_choisir'));
}
$valeurs['_methodes_upload']['distant'] = array('label_lien'=>_T('medias:bouton_download_sur_le_web'),'label_bouton'=>_T('bouton_choisir'));
// pipeline pour les méthodes d'upload
$valeurs['_methodes_upload'] = pipeline('medias_methodes_upload', array(
'args' => array('objet' => $objet, 'id_objet' => $id_objet),
'data' => $valeurs['_methodes_upload']
));
$valeurs['id'] = $id_document;
$valeurs['_mode'] = $mode;
......
......@@ -284,3 +284,39 @@ function filtre_vignette_dist($extension = 'defaut', $get_chemin = false) {
// retourne une balise <img ... />
return $balise_img($fichier);
}
/**
* Determiner les methodes upload en fonction du env de inc-upload_document
*
* @param string|array $env
* @return array
*/
function medias_lister_methodes_upload($env) {
if (is_string($env)) {
$env = unserialize($env);
}
$methodes = array();
// méthodes d'upload disponibles
$methodes = array();
$methodes['upload'] = array('label_lien'=>_T('medias:bouton_download_local'),'label_bouton'=>_T('bouton_upload'));
if((isset($env['mediatheque']) and $env['mediatheque'])){
$methodes['mediatheque'] = array('label_lien'=>_T('medias:bouton_download_par_mediatheque'),'label_bouton'=>_T('medias:bouton_attacher_document'));
}
if((isset($env['proposer_ftp']) and $env['proposer_ftp'])){
$methodes['ftp'] = array('label_lien'=>_T('medias:bouton_download_par_ftp'),'label_bouton'=>_T('bouton_choisir'));
}
$methodes['distant'] = array('label_lien'=>_T('medias:bouton_download_sur_le_web'),'label_bouton'=>_T('bouton_choisir'));
// pipeline pour les méthodes d'upload
$methodes = pipeline('medias_methodes_upload',
array(
'args' => array('objet' => $env['objet'], 'id_objet' => $env['id_objet']),
'data' => $methodes
)
);
return $methodes;
}
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter