From a7e070ab77303fea00bb374b6429b5cc44b09e3b Mon Sep 17 00:00:00 2001 From: "cedric@yterium.com" <> Date: Thu, 24 Feb 2011 23:23:57 +0000 Subject: [PATCH] retablir enfin la popin de selection d'un document dans la mediatheque on fait un squelette dedie pour enlever tous les liens de la galerie et reduire la taille des vignettes. On met un target blank sur les liens vers les objets lies au dodument afin de ne pas perdre l'operation en cours en cas de clic. + quelques retouches sur le formulaire d'upload qui propose le choix du document dans la mediatheque + corriger l'upload casse par le deplacement d'une fonction dans inc/documents --- .gitattributes | 2 + formulaires/inc-upload_document.html | 18 ++-- formulaires/joindre_document.php | 2 +- .../contenu/popin-choisir_document.html | 3 + .../inclure/mediatheque-choisir.html | 82 +++++++++++++++++++ .../inclure/mediatheque-galerie.html | 8 +- .../inclure/mediatheque-navigation.html | 9 +- prive/style_prive_plugin_medias.html | 6 ++ 8 files changed, 107 insertions(+), 23 deletions(-) create mode 100644 prive/squelettes/contenu/popin-choisir_document.html create mode 100644 prive/squelettes/inclure/mediatheque-choisir.html diff --git a/.gitattributes b/.gitattributes index 4bc466d5..c6c27cbe 100644 --- a/.gitattributes +++ b/.gitattributes @@ -92,10 +92,12 @@ prive/objets/editer/document_popup.html -text prive/objets/infos/document.html -text prive/squelettes/contenu/document_edit.html -text prive/squelettes/contenu/mediatheque.html -text +prive/squelettes/contenu/popin-choisir_document.html -text prive/squelettes/inclure/ajouter-documents.html -text prive/squelettes/inclure/bouton-supprimer-orphelins.html -text prive/squelettes/inclure/colonne-documents.html -text prive/squelettes/inclure/document_infos.html -text +prive/squelettes/inclure/mediatheque-choisir.html -text prive/squelettes/inclure/mediatheque-galerie.html -text prive/squelettes/inclure/mediatheque-navigation.html -text prive/squelettes/inclure/portfolio-documents.html -text diff --git a/formulaires/inc-upload_document.html b/formulaires/inc-upload_document.html index 92c1cd61..c6fceb8f 100644 --- a/formulaires/inc-upload_document.html +++ b/formulaires/inc-upload_document.html @@ -40,20 +40,14 @@ <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});" + /> </li> </ul> - <p class='boutons'><input class='submit' type="button" name="parcourir" value="<:medias:bouton_parcourir:>" - onclick="jQuery.modalboxload( - '#URL_ECRIRE{portfolio,selectfunc=mediaselect#GET{domid}}', - {autoResize: true} - );" - /></p> - <script type="text/javascript"> - function mediaselect#GET{domid}(id){ - jQuery.modalboxclose(); - jQuery("#refdoc_joindre#GET{domid}").attr('value','doc'+id).focus(); - }; - </script> + <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('upload');return false;"><:medias:bouton_download_local:></a> diff --git a/formulaires/joindre_document.php b/formulaires/joindre_document.php index d6e01401..49b41a90 100644 --- a/formulaires/joindre_document.php +++ b/formulaires/joindre_document.php @@ -59,7 +59,7 @@ function formulaires_joindre_document_charger_dist($id_document='new',$id_objet= //AND !$vignette_de_doc # pas pour une vignette (NB: la ligne precedente suffit, mais si on la supprime il faut conserver ce test-ci) AND $GLOBALS['flag_upload'] ) { - include_spip('inc/actions'); + include_spip('inc/documents'); if ($dir = determine_upload('documents')) { // quels sont les docs accessibles en ftp ? $valeurs['_options_upload_ftp'] = joindre_options_upload_ftp($dir, $mode); diff --git a/prive/squelettes/contenu/popin-choisir_document.html b/prive/squelettes/contenu/popin-choisir_document.html new file mode 100644 index 00000000..e611cb16 --- /dev/null +++ b/prive/squelettes/contenu/popin-choisir_document.html @@ -0,0 +1,3 @@ +<div class="popin-choisir_document"> +<INCLURE{fond=prive/squelettes/inclure/mediatheque-navigation,editable=non,galerie=prive/squelettes/inclure/mediatheque-choisir,ajax,env}> +</div> \ No newline at end of file diff --git a/prive/squelettes/inclure/mediatheque-choisir.html b/prive/squelettes/inclure/mediatheque-choisir.html new file mode 100644 index 00000000..229ebdb6 --- /dev/null +++ b/prive/squelettes/inclure/mediatheque-choisir.html @@ -0,0 +1,82 @@ +#SET{editable,#ENV{editable,' '}|oui} +<div class="galerie[ media-(#ENV{media,''})]"> + <B_galerie> + + <h3>[(#GRAND_TOTAL|singulier_ou_pluriel{#VAL{medias:un_}|concat{#ENV{media,document}},#VAL{medias:des_}|concat{#ENV{media,document},s}})]</h3> + <div class='pagination tri'> + [(#TRI{'<',#CHEMIN{images/tri_asc-16.png}|balise_img{<:medias:par_tri_croissant:>}}) |] + [(#TRI{'>',#CHEMIN{images/tri_desc-16.png}|balise_img{<:medias:par_tri_decroissant:>}}) |] + [(#TRI{id_document,<:medias:par_id:>}) |] + [(#TRI{date,<:medias:par_date:>}) |] + [(#TRI{taille,<:medias:par_taille:>}) |] + [(#TRI{largeur,<:medias:par_largeur:>}) |] + [(#TRI{hauteur,<:medias:par_hauteur:>}) |] + [(#TRI{titre,<:medias:par_titre:>}) |] + </div> + [<div class="pagination">(#PAGINATION{prive})</div>] + <table> + <thead> + <th></th> + <th class="id"><:medias:id:></th> + <th></th> + <th><:medias:logo:></th> + <th><:medias:infos:></th> + <th><:medias:descriptif:></th> + <th></th> + </thead> + <BOUCLE_galerie(DOCUMENTS) {id_rubrique ?}{id_article ?}{id_breve ?}{id_document ?}{recherche ?} {tri id_document,inverse}{media?}{extension?}{distant?}{brise?}{statut==#ENV{statut,.*}}{orphelins?}{titre==(#ENV{sanstitre}|?{'^$','.*'})}{pagination 10}> + <tr class="[(#ENV{media}|non)[ media-(#MEDIA)]]" id="#ENV{iddoc,media}#ID_DOCUMENT"> + <td class='infos'> + [(#DISTANT|=={oui}|non)#SET{missing,#FICHIER|file_exists|non}] + [(#ENV{media}|non|et{#MEDIA|!={file}})[(#CHEMIN{images/media-#MEDIA|concat{-32.png}}|balise_img|inserer_attribut{alt,#VAL{medias:media_#MEDIA}|_T}|inserer_attribut{title,#VAL{medias:media_#MEDIA}|_T})]] + [(#GET{missing}|oui)<img src='#CHEMIN{images/document-manquant-24.png}' width='22' height='22' alt='<:medias:fichier_manquant:>' />] + [(#DISTANT|=={oui}|oui)<img src='#CHEMIN{images/document-distant-24.png}' width='22' height='22' alt='<:medias:fichier_distant:>' />] + </td> + <td class="id"> + <strong>#ID_DOCUMENT</strong> + </td> + <td class='statut'> + [(#ID_DOCUMENT|medias_puce_statut_document{#STATUT})] + </td> + <td class="logo"> + #SET{fichier,#DISTANT|=={oui}|?{#FICHIER,#FICHIER|basename}} + [(#MEDIA|=={image}|oui)[ + (#LOGO_DOCUMENT{apercu,200,100}|inserer_attribut{alt,[(#TITRE|couper{60}|texte_backend)]}) + ]] + [(#MEDIA|=={image}|non)[<div class="#EDIT{vignette} resize-250"> + (#LOGO_DOCUMENT{auto,200,100}|inserer_attribut{alt,[(#TITRE|couper{60}|texte_backend)]}) + </div>]] + <div class="fichier">#GET{fichier}</div> + </td> + <td class="exif"> + [<strong class="extension">(#EXTENSION)</strong>] + [<div class="dimensions">(#LARGEUR|?{[(#LARGEUR)[ x (#HAUTEUR) pixels]],''})</div>] + [<div class="taille">(#TAILLE|taille_en_octets)</div>] + [<div class="date">(#DATE|affdate{d/m/Y})</div>] + <B_liens> + [(#TOTAL_BOUCLE|>{1}|oui) + <a href='#' onclick="jQuery(this).next().show();$(this).hide();return false;">[(#TOTAL_BOUCLE|singulier_ou_pluriel{medias:une_utilisation,medias:des_utilisations})]</a><div style='display: none;'> + ] + <BOUCLE_liens(documents_liens){id_document}{'<br />'}> + [(#ID_OBJET|lien_objet{#OBJET}|inserer_attribut{target,_blank})] + </BOUCLE_liens> + [(#TOTAL_BOUCLE|>{1}|oui)</div>] + </B_liens> + </td> + <td class="descriptif"> + [<strong class="titre #EDIT{titre}">(#TITRE|sinon{#VAL{<i>}|concat{<:info_sans_titre:>,'</i>'}})</strong>] + [<div class="descriptif #EDIT{descriptif}">(#DESCRIPTIF)</div>] + [<p class="credits #EDIT{credits}">(#CREDITS)</p>] + </td> + <td> + [(#REM) Utilisation de la galerie en mode selecteur, avec un bouton choix qui appelle une fonction js passee en argument] + [<span class="choisir"><input type="submit" onclick="(#ENV{selectfunc,''})([(#ID_DOCUMENT)]);return false;" value="<:bouton_choisir|attribut_html:>" /></span>] + </td> + </tr> + </BOUCLE_galerie> + </table> + [<p class="pagination">(#PAGINATION{prive})</p>] + </B_galerie> + <h3>[(#VAL{medias:aucun_}|concat{#ENV{media,document}}|_T)]</h3> + <//B_galerie> +</div><!--#galerie--> diff --git a/prive/squelettes/inclure/mediatheque-galerie.html b/prive/squelettes/inclure/mediatheque-galerie.html index 7aea18d3..f37e4e22 100644 --- a/prive/squelettes/inclure/mediatheque-galerie.html +++ b/prive/squelettes/inclure/mediatheque-galerie.html @@ -1,4 +1,4 @@ -#SET{editable,#ENV{editable,' '}|oui} +#SET{editable,#ENV{editable,oui}|=={non}|non} <div class="galerie[ media-(#ENV{media,''})]"> <B_galerie> @@ -14,7 +14,7 @@ [(#TRI{hauteur,<:medias:par_hauteur:>}) |] [(#TRI{titre,<:medias:par_titre:>}) |] </div> - [<div class="pagination">(#PAGINATION{page})</div>] + [<div class="pagination">(#PAGINATION{prive})</div>] <table> <thead> <th></th> @@ -76,13 +76,11 @@ [<span class='supprimer'>(#AUTORISER{supprimer,document,#ID_DOCUMENT})[(#BOUTON_ACTION{<:medias:bouton_supprimer:>,#URL_ACTION_AUTEUR{supprimer_document,#ID_DOCUMENT,#SELF},ajax,'','',[(function(){jQuery("##ENV{iddoc,media}(#ID_DOCUMENT)").animateRemove();return true;})()]})]</span>] ] [(#PIPELINE{document_desc_actions,#ARRAY{args,#ARRAY{id_document,#ID_DOCUMENT,position,galerie},data,''}})] - [(#REM) Utilisation de la galerie en mode selecteur, avec un bouton choix qui appelle une fonction js passee en argument] - [<span class="choisir"><a href="#" onclick="(#ENV{selectfunc,''})([(#ID_DOCUMENT)]);return false;"><:bouton_choisir:></a></span>] </td> </tr> </BOUCLE_galerie> </table> - [<p class="pagination">(#PAGINATION{page})</p>] + [<p class="pagination">(#PAGINATION{prive})</p>] #SET{nb_orphelins,#GRAND_TOTAL} </B_galerie> <h2>[(#VAL{medias:aucun_}|concat{#ENV{media,document}}|_T)]</h2> diff --git a/prive/squelettes/inclure/mediatheque-navigation.html b/prive/squelettes/inclure/mediatheque-navigation.html index c25c128a..69b20164 100644 --- a/prive/squelettes/inclure/mediatheque-navigation.html +++ b/prive/squelettes/inclure/mediatheque-navigation.html @@ -1,6 +1,6 @@ #SET{self,#SELF|parametre_url{debut_galerie,''}} #SET{self,#GET{self}|parametre_url{extension,''}} -#SET{editable,#ENV{editable,' '}|oui} +#SET{editable,#ENV{editable,oui}|=={non}|non} <div class='onglets_simple'> <ul class='medias'> @@ -11,14 +11,14 @@ <//B_comptem> </BOUCLE_medias> </ul> -<div class='nettoyeur'></div> +<div class="nettoyeur"></div> </div> [(#ENV{id_document}|oui) <a class='annule_filtre' href='[(#GET{self}|parametre_url{id_document,''})]' title="<:medias:tout_voir|attribut_html:>">[(#CHEMIN{images/annuler-recherche.png}|balise_img|inserer_attribut{alt,<:medias:tout_voir:>})]</a> ] -<div class='onglets_simple second'> +<div class='onglets_simple second clearfix'> <ul class='statut'> [<li class='first'>(#GET{self}|parametre_url{statut,''}|lien_ou_expose{<:medias:documents_tous:>,#ENV{statut,.*}|=={.*},ajax})</li>] [<li>(#GET{self}|parametre_url{statut,publie}|lien_ou_expose{<:medias:documents_publies:>,#ENV{statut}|=={publie},ajax})</li>] @@ -41,7 +41,6 @@ [<li class='first'>(#GET{self}|parametre_url{sanstitre,''}|lien_ou_expose{<:medias:documents_tous:>,#ENV{sanstitre,''}|=={''},ajax})</li>] [<li>(#GET{self}|parametre_url{sanstitre,'1'}|lien_ou_expose{<:info_sans_titre:>,#ENV{sanstitre,''}|=={'1'},ajax})</li>] </ul> -<div class='nettoyeur'></div> </div> <B_types> @@ -57,7 +56,7 @@ <div class='nettoyeur'></div> #FORMULAIRE_RECHERCHE_ECRIRE{#GET{self},ajax} -<INCLURE{fond=prive/squelettes/inclure/mediatheque-galerie,ajax=documents,env}> +<INCLURE{fond=#ENV{galerie,prive/squelettes/inclure/mediatheque-galerie},ajax=documents,env}> <div class='nettoyeur'></div> [(#GET{editable}) diff --git a/prive/style_prive_plugin_medias.html b/prive/style_prive_plugin_medias.html index 28983688..1836d7df 100644 --- a/prive/style_prive_plugin_medias.html +++ b/prive/style_prive_plugin_medias.html @@ -43,6 +43,7 @@ #extra .formulaire_joindre_document .deballer_zip .editer_options_upload_zip .choix input {vertical-align:top;} .formulaire_joindre_document .editer_fichier input.file {display:block;} +.formulaire_joindre_document .editer_refdoc_joindre input.text {width:50%;} .onglets_simple.second ul.distant li.first,.onglets_simple.second ul.brises li.first,.onglets_simple.second ul.sanstitre li.first {margin-#GET{left}:30px;} @@ -83,6 +84,11 @@ a.bouton_fermer {display:block;text-align:#GET{right};} .galerie table td.exif { background-repeat: no-repeat; background-position: top right; } +.popin-choisir_document .onglets_simple.second {display:none;} +.popin-choisir_document .galerie table td.id {width:40px;} +.popin-choisir_document .galerie table td.logo {width:200px;} +.popin-choisir_document .galerie table td.exif {width:120px;} + .spip_documents_legende {border:1px solid #GET{foncee};text-align:center;font-size:0.9em;margin:0 0 1em;} .spip_documents_legende dt {background:#GET{foncee};color:#fff;padding:5px 3px;font-weight:bold;} .spip_documents_legende dd {padding:3px 0;margin:0;} -- GitLab