diff --git a/.gitattributes b/.gitattributes index b08ce3a644553e2ed0a5951c653aa9de9fc29933..aff3eab5f145c0594ad6e46cdb7664a029c5ae53 100644 --- a/.gitattributes +++ b/.gitattributes @@ -23,9 +23,12 @@ formulaires/editer_document.php -text formulaires/illustrer_document.html -text formulaires/illustrer_document.php -text formulaires/inc-lister_archive_jointe.html -text -formulaires/inc-upload_document.html -text formulaires/joindre_document.html -text formulaires/joindre_document.php -text +formulaires/methodes_upload/distant.html -text +formulaires/methodes_upload/ftp.html -text +formulaires/methodes_upload/mediatheque.html -text +formulaires/methodes_upload/upload.html -text inc/choisir_mode_document.php -text inc/documenter_objet.php -text inc/documents.php -text diff --git a/formulaires/inc-upload_document.html b/formulaires/inc-upload_document.html deleted file mode 100644 index 97de81e7c3bc770863e506b771f06f72266de6dd..0000000000000000000000000000000000000000 --- a/formulaires/inc-upload_document.html +++ /dev/null @@ -1,133 +0,0 @@ -#SET{domid,_#ENV{mode}|concat{'_',#ENV{id,new}}} -#SET{methode,upload} -[(#ENV{joindre_mediatheque}|oui)#SET{methode,mediatheque}] -[(#ENV{joindre_distant}|oui)#SET{methode,distant}] -[(#ENV{joindre_ftp}|oui)#SET{methode,ftp}] - -<div id="defaultsubmit#GET{domid}" class="none"></div> -[ -(#REM) Formulaire d'upload de fichier -]<div class='joindre_mode#GET{domid}[(#GET{methode}|=={upload}|non)none-js]' id='joindre_upload#GET{domid}'> - <div class="editer-groupe"> - <div class='editer editer_fichier_upload[ (#ENV**{erreurs}|table_valeur{fichier_upload}|oui)erreur]'> - <label for='fichier_upload#GET{domid}'><:bouton_upload:></label>[ - <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{fichier_upload})</span> - ]<input class='file multi' type="file" name="fichier_upload[]" value='[(#ENV{fichier_upload}|is_array|?{'', #ENV{fichier_upload}})]' id="fichier_upload#GET{domid}" size='11' /> - <!--editer_fichier_upload--> - </div> - </div> - <div class='sourceup'> - <:medias:bouton_download_depuis:> - <:medias:bouton_download_local:> - [(#ENV{mediatheque,''}|oui) - | <a href='#' onclick="change_methode('#GET{domid}','mediatheque');return false;"><:medias:bouton_download_par_mediatheque:></a>] - [(#ENV{proposer_ftp,''}|oui) - | <a href='#' onclick="change_methode('#GET{domid}','ftp');return false;"><:medias:bouton_download_par_ftp:></a>] - | <a href='#' onclick="change_methode('#GET{domid}','distant');return false;"><:medias:bouton_download_sur_le_web:></a> - </div> - <p class='boutons'><input class='submit' type="submit" name="joindre_upload" value="<:bouton_upload:>"/></p> -</div>[ -(#REM) Formulaire pour document dans mediatheque -][(#ENV{mediatheque,''}|oui) -<div class='joindre_mode#GET{domid}[(#GET{methode}|=={mediatheque}|non)none-js]' id='joindre_mediatheque#GET{domid}'> - <div class="editer-groupe"> - <div class='editer editer_refdoc_joindre[ (#ENV**{erreurs}|table_valeur{refdoc_joindre}|oui)erreur]'> - <label for='refdoc_joindre#GET{domid}'><:medias:label_refdoc_joindre:></label>[ - <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{refdoc_joindre})</span> - ]<input class='text' type="text" name="refdoc_joindre" value='#ENV{refdoc_joindre}' id="refdoc_joindre#GET{domid}"/> - <input class='submit' type="button" name="parcourir" value="<:medias:bouton_parcourir:>" - onclick="jQuery.modalboxload('#URL_ECRIRE{popin-choisir_document,var_zajax=contenu&selectfunc=mediaselect#GET{domid}}',{autoResize: true});" - /> - <!--editer_refdoc_joindre--> - </div> - </div> - <script type="text/javascript">/*<!\[CDATA\[*/ - function mediaselect#GET{domid}(id){jQuery.modalboxclose();jQuery("#refdoc_joindre#GET{domid}").attr('value','doc'+id).focus();jQuery('#joindre_mediatheque#GET{domid}>.boutons input').get(0).click();} - /*\]\]>*/</script> - <div class='sourceup'> - <:medias:bouton_download_depuis:> - <a href='#' onclick="change_methode('#GET{domid}','upload');return false;"><:medias:bouton_download_local:></a> - | <:medias:bouton_download_par_mediatheque:> - [(#ENV{proposer_ftp,''}|oui) - | <a href='#' onclick="change_methode('#GET{domid}','ftp');return false;"><:medias:bouton_download_par_ftp:></a>] - | <a href='#' onclick="change_methode('#GET{domid}','distant');return false;"><:medias:bouton_download_sur_le_web:></a> - </div> - <p class='boutons'><input class='submit' type="submit" name="joindre_mediatheque" value="<:medias:bouton_attacher_document:>"/></p> -</div> -][ -(#REM) Formulaire pour upload ftp -][(#ENV{proposer_ftp,''}|oui) -<div class='joindre_mode#GET{domid}[(#GET{methode}|=={ftp}|non)none-js]' id='joindre_ftp#GET{domid}'> - [ - <div class="editer-groupe"> - <div class='editer editer_cheminftp[ (#ENV**{erreurs}|table_valeur{cheminftp}|oui)erreur]'> - <label for='cheminftp#GET{domid}'>[(#VAL{info_selectionner_fichier}|_T{#ARRAY{upload,#ENV*{_dir_upload_ftp}}})]</label>[ - <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{cheminftp})</span> - ]<select name='cheminftp' id='cheminftp#GET{domid}' size='1'> - <option value=''>>></option> - (#ENV*{_options_upload_ftp}) - </select> - <!--editer_cheminftp--> - </div> - </div>][(#ENV{_dir_upload_ftp}|et{#ENV{_options_upload_ftp}|non}|oui) - <p class="infos"> - [(#VAL{info_installer_ftp}|_T{#ARRAY{upload,#ENV*{_dir_upload_ftp}}})] #AIDER{ins_upload} - </p> - ] - <div class='sourceup'> - <:medias:bouton_download_depuis:> - <a href='#' onclick="change_methode('#GET{domid}','upload');return false;"><:medias:bouton_download_local:></a> - [(#ENV{mediatheque,''}|oui) - | <a href='#' onclick="change_methode('#GET{domid}','mediatheque');return false;"><:medias:bouton_download_par_mediatheque:></a>] - | <:medias:bouton_download_par_ftp:> - | <a href='#' onclick="change_methode('#GET{domid}','distant');return false;"><:medias:bouton_download_sur_le_web:></a> - </div> - <p class='boutons'> - [(#ENV*{_options_upload_ftp}|oui) - <input class='submit' type="submit" name="joindre_ftp" value="<:bouton_choisir:>"/> - ] - </p> -</div> -][ - - - - -(#REM) Formulaire pour document distant -]<div class='joindre_mode#GET{domid}[(#GET{methode}|=={distant}|non)none-js]' id='joindre_distant#GET{domid}'> - <div class="editer-groupe"> - <div class='editer editer_url[ (#ENV**{erreurs}|table_valeur{url}|oui)erreur]'> - <label for='url#GET{domid}'><:medias:info_referencer_doc_distant:></label>[ - <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{url})</span> - ]<input class='text' type="text" name="url" value='#ENV{url}' id="url#GET{domid}"/> - <!--editer_url--> - </div> - </div> - <div class='sourceup'> - <:medias:bouton_download_depuis:> - <a href='#' onclick="change_methode('#GET{domid}','upload');return false;"><:medias:bouton_download_local:></a> - [(#ENV{mediatheque,''}|oui) - | <a href='#' onclick="change_methode('#GET{domid}','mediatheque');return false;"><:medias:bouton_download_par_mediatheque:></a>] - [(#ENV{proposer_ftp,''}|oui) - | <a href='#' onclick="change_methode('#GET{domid}','ftp');return false;"><:medias:bouton_download_par_ftp:></a>] - | <:medias:bouton_download_sur_le_web:> - </div> - <p class='boutons'><input class='submit' type="submit" name="joindre_distant" value="<:bouton_choisir:>"/></p> -</div>[ -(#REM) Formulaire pour deballer un zip -][<div class="editer-groupe"><div class='fieldset deballer_zip'>(#ENV**{erreurs}|table_valeur{lister_contenu_archive})</div></div>] - -<script type='text/javascript'>/*<!#EVAL{chr(91)}CDATA#EVAL{chr(91)}*/ -if (window.jQuery){ -function change_methode(domid,methode){ - var id = "#joindre_"+methode+domid; - if (jQuery(id).is(':hidden')) { - jQuery('div.joindre_mode'+domid+':visible').slideUp('fast'); - jQuery(id).slideDown('fast'); - } - // placer en haut du formulaire les boutons submit par defaut correspondant a la methode active - jQuery("#defaultsubmit"+domid).html('').append(jQuery(id).find('.boutons').eq(-1).find('input').clone(true)); -} -jQuery(function(){change_methode('#GET{domid}','#GET{methode}');}); -} -/*#EVAL{chr(93)}[(#EVAL{chr(93)})]>*/</script> diff --git a/formulaires/joindre_document.html b/formulaires/joindre_document.html index 1d3c2c7bf08b33d5ee240e0f82ac0b42d72bcf14..1d91f9a7ae1963aaff7622932e07ad79c4aa1f8b 100644 --- a/formulaires/joindre_document.html +++ b/formulaires/joindre_document.html @@ -13,9 +13,60 @@ <form action="#ENV{action}#formulaire_joindre_document-#ENV{id,new}" method="post" enctype='multipart/form-data'><div> [(#ACTION_FORMULAIRE{#ENV{action}})] - - [(#INCLURE{fond=formulaires/inc-upload_document, env, mediatheque=#ENV{objet,''}|et{#ENV{id_objet,''}}|et{#ENV{proposer_media}}})] - + + [(#GET{mediatheque,[(#ENV{objet,''}|et{#ENV{id_objet,''}}|et{#ENV{proposer_media}})]})] + + #SET{domid,_#ENV{mode}|concat{'_',#ENV{id,new}}} + #SET{methode,upload} + [(#ENV{joindre_mediatheque}|oui)#SET{methode,mediatheque}] + [(#ENV{joindre_distant}|oui)#SET{methode,distant}] + [(#ENV{joindre_ftp}|oui)#SET{methode,ftp}] + + <div id="defaultsubmit#GET{domid}" class="none">DEFAULT</div> + + <BOUCLE_methodes(DATA){source tableau,#ENV{_methodes_upload}}> + #SET{methode_upload,#CLE} + <div class='joindre_mode#GET{domid}[(#GET{methode}|=={#CLE}|non)none-js]' id='joindre_#CLE#GET{domid}'> + + [(#INCLURE{fond=formulaires/methodes_upload/#CLE, env, mediatheque=#ENV{objet,''}|et{#ENV{id_objet,''}}|et{#ENV{proposer_media}}})] + + <div class='sourceup'> + [(#SET{cpt,1})] + <:medias:bouton_download_depuis:> + <BOUCLE_methodes_liens(DATA){source tableau,#ENV{_methodes_upload}}> + [(#GET{cpt}|>{1}|oui) + [(#VAL{'|'})] + ] + [(#GET{methode_upload}|=={#CLE}|oui) + #VALEUR + ] + [(#GET{methode_upload}|=={#CLE}|non) + <a href='#' onclick="change_methode('#GET{domid}','#CLE');return false;">#VALEUR</a> + ] + [(#SET{cpt,#GET{cpt}|plus{1}})] + </BOUCLE_methodes_liens> + </div> + <p class='boutons'><input class='submit' type="submit" name="joindre_#CLE" value="<:bouton_upload:>"/></p> + </div> + </BOUCLE_methodes> + + [(#REM) Formulaire pour deballer un zip] + [<div class="editer-groupe"><div class='fieldset deballer_zip'>(#ENV**{erreurs}|table_valeur{lister_contenu_archive})</div></div>] + + <script type='text/javascript'>/*<!#EVAL{chr(91)}CDATA#EVAL{chr(91)}*/ + if (window.jQuery){ + function change_methode(domid,methode){ + var id = "#joindre_"+methode+domid; + if (jQuery(id).is(':hidden')) { + jQuery('div.joindre_mode'+domid+':visible').slideUp('fast'); + jQuery(id).slideDown('fast'); + } + // placer en haut du formulaire les boutons submit par defaut correspondant a la methode active + jQuery("#defaultsubmit"+domid).html('').append(jQuery(id).find('.boutons').eq(-1).find('input').clone(true)); + } + jQuery(function(){change_methode('#GET{domid}','#GET{methode}');}); + } + /*#EVAL{chr(93)}[(#EVAL{chr(93)})]>*/</script> </div></form> </div>] [(#ENV{_galerie,''}|oui) diff --git a/formulaires/joindre_document.php b/formulaires/joindre_document.php index a8eee02f4c87983104335fc9c7fbd271762cc5fe..2461b9c2f441d32a5cc7fe6a6ca2c4b6d540b2a3 100644 --- a/formulaires/joindre_document.php +++ b/formulaires/joindre_document.php @@ -83,6 +83,23 @@ function formulaires_joindre_document_charger_dist( $valeurs = array(); $mode = joindre_determiner_mode($mode, $id_document, $objet); + // méthodes d'upload disponibles + $valeurs['_methodes_upload']['upload'] = _T('medias:bouton_download_local'); + if($proposer_ftp) { + $valeurs['_methodes_upload']['ftp'] = _T('medias:bouton_download_par_ftp'); + $valeurs['_methodes_upload']['distant'] = _T('medias:bouton_download_sur_le_web'); + } + if($proposer_media && !empty($objet) && $id_objet != 0){ + $valeurs['_methodes_upload']['mediatheque'] = _T('medias:bouton_download_par_mediatheque'); + } + + + // 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; diff --git a/formulaires/methodes_upload/distant.html b/formulaires/methodes_upload/distant.html new file mode 100644 index 0000000000000000000000000000000000000000..3cc4791027de49d8969e28bbbd07777ae1547b33 --- /dev/null +++ b/formulaires/methodes_upload/distant.html @@ -0,0 +1,8 @@ +<div class="editer-groupe"> + <div class='editer editer_url[ (#ENV**{erreurs}|table_valeur{url}|oui)erreur]'> + <label for='url#GET{domid}'><:medias:info_referencer_doc_distant:></label>[ + <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{url})</span> + ]<input class='text' type="text" name="url" value='#ENV{url}' id="url#GET{domid}"/> + <!--editer_url--> + </div> +</div> \ No newline at end of file diff --git a/formulaires/methodes_upload/ftp.html b/formulaires/methodes_upload/ftp.html new file mode 100644 index 0000000000000000000000000000000000000000..faa6c0cfef891b50e5cf1fed89c3fc9c59583073 --- /dev/null +++ b/formulaires/methodes_upload/ftp.html @@ -0,0 +1,16 @@ +<div class="editer-groupe"> + [<div class='editer editer_cheminftp[ (#ENV**{erreurs}|table_valeur{cheminftp}|oui)erreur]'> + <label for='cheminftp#GET{domid}'>[(#VAL{info_selectionner_fichier}|_T{#ARRAY{upload,#ENV*{_dir_upload_ftp}}})]</label>[ + <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{cheminftp})</span> + ]<select name='cheminftp' id='cheminftp#GET{domid}' size='1'> + <option value=''>>></option> + (#ENV*{_options_upload_ftp}) + </select> + <!--editer_cheminftp--> + </div>] +</div> +[(#ENV{_dir_upload_ftp}|et{#ENV{_options_upload_ftp}|non}|oui) +<p class="infos"> +[(#VAL{info_installer_ftp}|_T{#ARRAY{upload,#ENV*{_dir_upload_ftp}}})] #AIDER{ins_upload} +</p> +] \ No newline at end of file diff --git a/formulaires/methodes_upload/mediatheque.html b/formulaires/methodes_upload/mediatheque.html new file mode 100644 index 0000000000000000000000000000000000000000..30992ddf5cd6d5466f497956f4256c8bf8da59b6 --- /dev/null +++ b/formulaires/methodes_upload/mediatheque.html @@ -0,0 +1,14 @@ +<div class="editer-groupe"> + <div class='editer editer_refdoc_joindre[ (#ENV**{erreurs}|table_valeur{refdoc_joindre}|oui)erreur]'> + <label for='refdoc_joindre#GET{domid}'><:medias:label_refdoc_joindre:></label>[ + <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{refdoc_joindre})</span> + ]<input class='text' type="text" name="refdoc_joindre" value='#ENV{refdoc_joindre}' id="refdoc_joindre#GET{domid}"/> + <input class='submit' type="button" name="parcourir" value="<:medias:bouton_parcourir:>" + onclick="jQuery.modalboxload('#URL_ECRIRE{popin-choisir_document,var_zajax=contenu&selectfunc=mediaselect#GET{domid}}',{autoResize: true});" + /> + <!--editer_refdoc_joindre--> + </div> +</div> +<script type="text/javascript">/*<!\[CDATA\[*/ +function mediaselect#GET{domid}(id){jQuery.modalboxclose();jQuery("#refdoc_joindre#GET{domid}").attr('value','doc'+id).focus();jQuery('#joindre_mediatheque#GET{domid}>.boutons input').get(0).click();} +/*\]\]>*/</script> \ No newline at end of file diff --git a/formulaires/methodes_upload/upload.html b/formulaires/methodes_upload/upload.html new file mode 100644 index 0000000000000000000000000000000000000000..f0a36573faa4fdea57811cf71eb3a8dfb98fc8a7 --- /dev/null +++ b/formulaires/methodes_upload/upload.html @@ -0,0 +1,8 @@ +<div class="editer-groupe"> + <div class='editer editer_fichier_upload[ (#ENV**{erreurs}|table_valeur{fichier_upload}|oui)erreur]'> + <label for='fichier_upload#GET{domid}'><:bouton_upload:></label>[ + <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{fichier_upload})</span> + ]<input class='file multi' type="file" name="fichier_upload[]" value='[(#ENV{fichier_upload}|is_array|?{'', #ENV{fichier_upload}})]' id="fichier_upload#GET{domid}" size='11' /> + <!--editer_fichier_upload--> + </div> +</div> \ No newline at end of file diff --git a/paquet.xml b/paquet.xml index c7a1f4070afdabeb42d960dca880e4f00efefa88..3ff1d90576efc1646c4f4937ecc538742fe350ac 100644 --- a/paquet.xml +++ b/paquet.xml @@ -1,7 +1,7 @@ <paquet prefix="medias" categorie="multimedia" - version="2.19.17" + version="2.20.0" etat="stable" compatibilite="[3.2.0-dev;3.2.*]" logo="prive/themes/spip/images/portfolio-32.png" @@ -42,6 +42,7 @@ <pipeline nom="afficher_metas_document" action="" /> <pipeline nom="medias_documents_visibles" action="" /> <pipeline nom="ieconfig_metas" inclure="medias_ieconfig.php" /> + <pipeline nom="medias_methodes_upload" action='' /> <procure nom="minidoc" version="1.0.2" /> <procure nom="ordoc" version="1.1.1" />