Changeset 57712 in spip-zone for _plugins_/compositions


Ignore:
Timestamp:
Jan 26, 2012, 3:25:13 PM (8 years ago)
Author:
joseph@…
Message:

Un formulaire de sélection des compositions à la SPIP 3 : plus compact

Location:
_plugins_/compositions/trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/compositions/trunk/compositions_pipeline.php

    r57703 r57712  
    9999                                AND (is_array(reset(compositions_lister_disponibles($type))) OR ($type == 'rubrique' AND $config['tout_verrouiller'] != 'oui'))
    100100                                ) {
    101                                 $deplie = $aut ? false : -1;
    102101                                $ids = 'formulaire_editer_composition_objet-' . "$type-$id";
    103                                 include_spip('inc/layer');
    104                                 $bouton = bouton_block_depliable(strtoupper(_T('compositions:composition')), $deplie, $ids);
    105 
    106                                 $out = '';
    107                                 $out .= debut_cadre('e', chemin_image('composition-24.png'),'',$bouton, '', '', true);
    108                                 $out .= recuperer_fond('prive/editer/compositions', array_merge($flux['args'], array('type'=>$type,'id'=>$id)));
    109                                 $out .= fin_cadre();
     102                                $texte = recuperer_fond(
     103                                        'prive/editer/compositions',
     104                                        array(
     105                                                'type'=>$type,
     106                                                'id'=>$id,
     107                                        )
     108                                );
    110109
    111110                                if (($p = strpos($flux['data'],'<!--affiche_milieu-->'))!==false)
    112                                         $flux['data'] = substr_replace($flux['data'],$out,$p,0);
     111                                        $flux['data'] = substr_replace($flux['data'],$texte,$p,0);
    113112                                else
    114                                         $flux['data'] .= $out;
     113                                        $flux['data'] .= $texte;
    115114                        }
    116115                }
  • _plugins_/compositions/trunk/formulaires/editer_composition_objet.html

    r53640 r57712  
    1 <div class='ajax'>
    2         <div class="compo-utilisee">
    3                 [(#ENV{composition}|oui)<:compositions:composition_utilisee:> <strong>[(#ENV{_compositions}|table_valeur{#ENV{composition}}|table_valeur{nom}|supprimer_numero|sinon{#ENV{composition}})]</strong>
    4                 ][(#ENV{composition}|non)
    5                         [(#ENV{composition_heritee}|oui)<:compositions:composition_utilisee:>
    6                                 [(#ENV{composition_heritee}|=={'-'}|oui)<strong><:compositions:composition_defaut:></strong>]
    7                                 [(#ENV{composition_heritee}|!={'-'}|oui)<strong>[(#ENV{_compositions}|table_valeur{''}|table_valeur{nom}|supprimer_numero|sinon{#ENV{composition_heritee}})]</strong>]
    8                                 (<:compositions:composition_heritee:>)
    9                         ]
    10                         [(#ENV{composition_heritee}|non)<:compositions:composition_defaut:>]
    11                 ][(#ENV{composition_verrouillee}|oui)(<em><:compositions:composition_verrouillee:></em>)]
    12                 <B_heritages><p><:compositions:heritages:> <BOUCLE_heritages(POUR){tableau #ENV{_compositions}|table_valeur{#ENV{composition}}|table_valeur{branche}}{', '}>#CLE (#VALEUR)</BOUCLE_heritages>.</p></B_heritages>
    13         </div>
    14 
    15 [<div class="formulaire_spip formulaire_editer formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}" id="formulaire_#FORM-#ENV{id,nouveau}"[(#ENV{_hide})style="display:none;"]>
     1<div class="formulaire_spip formulaire_#FORM formulaire_#FORM-#ENV{objet}-#ENV{id,nouveau}">
    162        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
    173        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
    18         (#ENV{editable})
    19         <form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
    20                 [(#REM) declarer les hidden qui declencheront le service du formulaire 
     4        [(#ENV{editable})
     5        <form method='post' action='#ENV{action}'><div>
     6                [(#REM) declarer les hidden qui declencheront le service du formulaire
    217                parametre : url d'action ]
    228                #ACTION_FORMULAIRE{#ENV{action}}
    23                 <ul>
    24                         #SET{fl,compositions}
    25                         #SET{name,composition}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,''}
    26                         [<li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
    27                                 <label>[(#GET{fl}|concat{':label_',#GET{name}}|_T)]</label>
    28                                         [<span class='erreur_message'>(#GET{erreurs})</span>]
    29                                         (#INCLURE{fond=formulaires/inc-selecteur_composition}{name=#GET{name}}{id=#GET{name}}{id_rubrique}{selected=#ENV{#GET{name}}}{_compositions}{composition_heritee})
    30                         </li>]
     9        ]
    3110
    32                         #SET{lock,''}
    33                         [(#AUTORISER{webmestre}|et{#ENV{verrou_branche}|non}|et{#CONFIG{compositions/tout_verrouiller}|non}|oui)
    34                         #SET{name,composition_lock}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,''}
    35                         <li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
     11        <h4>
     12                <:compositions:composition_utilisee:>
     13                        <span class="composition_actuelle">[(#ENV{composition}|oui)[(#ENV{_compositions}|table_valeur{#ENV{composition}}|table_valeur{nom}|supprimer_numero|sinon{#ENV{composition}})]
     14                        ][(#ENV{composition}|non)
     15                                [(#ENV{composition_heritee}|oui)
     16                                        [(#ENV{composition_heritee}|=={'-'}|oui)<:compositions:composition_defaut:>]
     17                                        [(#ENV{composition_heritee}|!={'-'}|oui)[(#ENV{_compositions}|table_valeur{''}|table_valeur{nom}|supprimer_numero|sinon{#ENV{composition_heritee}})]]
     18                                        (<:compositions:composition_heritee:>)
     19                                ]
     20                                [(#ENV{composition_heritee}|non)<:compositions:composition_defaut:>]
     21                        ][(#ENV{composition_verrouillee}|oui) <img src="#CHEMIN_IMAGE{cadenas-16.png}" alt="" />]
     22                <span>
     23        </h4>
     24        [(#ENV{editable})
     25        <span class="toggle_box_link" style="display:none;">&#91;<a href="#"
     26                        onclick="var f=jQuery(this).parents('form').eq(0);f.find('p').show('fast');f.find('ul').show('fast');f.find('.toggle_box_link').hide('fast');return false;"
     27                        ><:bouton_changer:></a>&#93;</span>
     28        ]
     29
     30        [(#ENV{composition_verrouillee}|oui)<p><:compositions:composition_verrouillee:></p>]
     31        <B_heritages><p><:compositions:heritages:> <BOUCLE_heritages(POUR){tableau #ENV{_compositions}|table_valeur{#ENV{composition}}|table_valeur{branche}}{', '}>#CLE (#VALEUR)</BOUCLE_heritages>.</p></B_heritages>
     32
     33        [(#ENV{editable})
     34        <ul>
     35                #SET{fl,compositions}
     36                #SET{name,composition}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,''}
     37                [<li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
     38                        <label>[(#GET{fl}|concat{':label_',#GET{name}}|_T)]</label>
    3639                                [<span class='erreur_message'>(#GET{erreurs})</span>]
    37                                 <label><:compositions:label_composition_explication:></label>
    38                                 [(#ENV{_compositions}|is_array|oui)
    39                                 <div class="choix">
    40                                         <input type="checkbox" class="checkbox" name="#GET{name}" value="1" id="#GET{name}"[ (#ENV{#GET{name}}|oui)checked="checked"] />
    41                                         <label for="#GET{name}">[(#GET{fl}|concat{':label_',#GET{name}}|_T)]</label>
    42                                 </div>
    43                                 ]
    44                                 [(#ENV{_compositions}|is_array|non)<input type="hidden" name="composition_lock" id="composition_lock" value="#ENV{composition_lock}" />]
    45                         </li>
    46                         [(#ENV{objet}|=={rubrique}|oui)
    47                         #SET{name,composition_branche_lock}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,''}
    48                         <li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
    49                                 [<span class='erreur_message'>(#GET{erreurs})</span>]
    50                                 <div class="choix">
    51                                         <input type="checkbox" class="checkbox" name="#GET{name}" value="1" id="#GET{name}"[ (#ENV{#GET{name}}|oui)checked="checked"] />
    52                                         <label for="#GET{name}">[(#GET{fl}|concat{':label_',#GET{name}}|_T)]</label>
    53                                 </div>
    54                         </li>
     40                                (#INCLURE{fond=formulaires/inc-selecteur_composition}{name=#GET{name}}{id=#GET{name}}{id_rubrique}{selected=#ENV{#GET{name}}}{_compositions}{composition_heritee})
     41                </li>]
     42               
     43                #SET{lock,''}
     44                [(#AUTORISER{webmestre}|et{#ENV{verrou_branche}|non}|et{#CONFIG{compositions/tout_verrouiller}|non}|oui)
     45                #SET{name,composition_lock}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,''}
     46                <li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur] long_label">
     47                        [<span class='erreur_message'>(#GET{erreurs})</span>]
     48                        <label><:compositions:label_composition_explication:></label>
     49                        [(#ENV{_compositions}|is_array|oui)
     50                        <div class="choix">
     51                                <input type="checkbox" class="checkbox" name="#GET{name}" value="1" id="#GET{name}"[ (#ENV{#GET{name}}|oui)checked="checked"] />
     52                                <label for="#GET{name}">[(#GET{fl}|concat{':label_',#GET{name}}|_T)]</label>
     53                        </div>
    5554                        ]
    56                         #SET{lock,'oui'}
    57                         ]
    58                         [(#ENV{verrou_branche}|oui)
    59                         <li>
    60                                 <label><:compositions:label_information:></label>
    61                                 <:compositions:label_branche_verrouillee:>
    62                         </li>
    63                         ]
    64                         [(#CONFIG{compositions/tout_verrouiller}|oui)
    65                         <li>
    66                                 <label><:compositions:label_information:></label>
    67                                 <:compositions:label_toutes_verrouilles:>
    68                         </li>
    69                         ]
    70                 </ul>
    71                 [(#GET{lock}|non)
    72                         <input type="hidden" name="composition_lock" id="composition_lock" value="#ENV{composition_lock}" />
    73                         [(#ENV{objet}|=={rubrique}|oui)
    74                                 <input type="hidden" name="composition_branche_lock" id="composition_branche_lock" value="#ENV{composition_branche_lock}" />
    75                         ]
     55                        [(#ENV{_compositions}|is_array|non)<input type="hidden" name="composition_lock" id="composition_lock" value="#ENV{composition_lock}" />]
     56                </li>
     57                [(#ENV{objet}|=={rubrique}|oui)
     58                #SET{name,composition_branche_lock}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,''}
     59                <li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur] long_label">
     60                        [<span class='erreur_message'>(#GET{erreurs})</span>]
     61                        <div class="choix">
     62                                <input type="checkbox" class="checkbox" name="#GET{name}" value="1" id="#GET{name}"[ (#ENV{#GET{name}}|oui)checked="checked"] />
     63                                <label for="#GET{name}">[(#GET{fl}|concat{':label_',#GET{name}}|_T)]</label>
     64                        </div>
     65                </li>
    7666                ]
    77                 [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
    78                 <!--extra-->
    79                 <p class='boutons'><span class='image_loading'></span><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
     67                #SET{lock,'oui'}
     68                ]
     69                [(#ENV{verrou_branche}|oui)
     70                <li>
     71                        <label><:compositions:label_information:></label>
     72                        <:compositions:label_branche_verrouillee:>
     73                </li>
     74                ]
     75                [(#CONFIG{compositions/tout_verrouiller}|oui)
     76                <li>
     77                        <label><:compositions:label_information:></label>
     78                        <:compositions:label_toutes_verrouilles:>
     79                </li>
     80                ]
     81        </ul>
     82        [(#GET{lock}|non)
     83                <input type="hidden" name="composition_lock" id="composition_lock" value="#ENV{composition_lock}" />
     84                [(#ENV{objet}|=={rubrique}|oui)
     85                        <input type="hidden" name="composition_branche_lock" id="composition_branche_lock" value="#ENV{composition_branche_lock}" />
     86                ]
     87        ]
     88
     89          [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
     90          <!--extra-->
     91          <p class='boutons'>
     92                        <span class='image_loading'>&nbsp;</span>
     93                        <input type='submit' class='submit' name='annuler' value='<:bouton_annuler:>' />
     94                        <input type='submit' class='submit' name='changer' value='<:bouton_changer:>' />
     95                </p>
    8096        </div></form>
    81 </div>]
     97        ]
    8298</div>
     99<script type="text/javascript">// <![CDATA[
     100        $(document).ready(function(){
     101                $(".formulaire_editer_composition_objet .toggle_box_link").show(0);
     102                $(".formulaire_editer_composition_objet p").hide(0);
     103                $(".formulaire_editer_composition_objet ul").hide(0);
     104        });
     105 //]]></script>
  • _plugins_/compositions/trunk/formulaires/editer_composition_objet.php

    r52816 r57712  
    1717 * @return array
    1818 */
    19 function formulaires_editer_composition_objet_charger($type,$id,$hide_form=false){
     19function formulaires_editer_composition_objet_charger($type,$id){
    2020        $valeurs = array();
    2121        $table_objet_sql = table_objet_sql($type);
     
    2727        $valeurs['id_objet'] = $id;
    2828        $valeurs['objet'] = $type;
    29         $valeurs['_hide'] = (($hide_form AND is_null(_request('composition')))?' ':'');
    3029
    3130        $row = sql_fetsel('composition,composition_lock',$table_objet_sql,"$id_table_objet=".intval($id));
     
    5857        }
    5958       
    60         // Si on hrite d'une composition
     59        // Si on herite d'une composition
    6160        // On modifie le tableau des compositions
    6261        if ($valeurs['composition_heritee'] AND $valeurs['composition_heritee'] != '-') {
  • _plugins_/compositions/trunk/formulaires/inc-informeur_composition.html

    r36455 r57712  
    22<BOUCLE_pour(POUR){tableau #ENV{_compositions}}{cle=#ENV{selected}}>
    33<div class='choix'>[(#VALEUR|table_valeur{icon}|image_reduire{24,24}|inserer_attribut{class,logo})]
    4 <strong>[(#VALEUR|table_valeur{nom})]</strong>
    5 [<p class='descriptif'>(#VALEUR|table_valeur{description})</p>]
     4[(#VALEUR|table_valeur{nom})]
     5[<br /><span class='descriptif'>(#VALEUR|table_valeur{description})</span>]
    66</div>
    77</BOUCLE_pour>
  • _plugins_/compositions/trunk/formulaires/inc-selecteur_composition.html

    r54521 r57712  
    11<B_pour>
    22<BOUCLE_pour(POUR){tableau #ENV{_compositions}}{par nom}>
    3 <div class='choix'>[(#VALEUR|table_valeur{icon}|sinon{#CHEMIN{images/objet-liste-contenus.png}}|image_reduire{24,24}|inserer_attribut{class,logo})]
    4 <input type='radio' class='radio' name='#ENV{name}' id='[(#ENV{name})]-#CLE' value='#CLE'[(#CLE|=={#ENV{selected}}|oui)checked='checked'] /><label for='[(#ENV{name})]-#CLE'>[(#VALEUR|table_valeur{nom}|supprimer_numero)][(#ENV{composition_heritee}|et{#CLE|=={''}}|oui)(<:compositions:composition_heritee:>)]</label>
    5 [<p class='descriptif'>(#VALEUR|table_valeur{description})</p>]
     3<div class='choix'>[(#VALEUR|table_valeur{icon}|sinon{#CHEMIN_IMAGE{composition-24.png}}|image_reduire{24,24}|inserer_attribut{class,logo})]
     4<input type='radio' class='radio' name='#ENV{name}' id='[(#ENV{name})]-#CLE' value='#CLE'[(#CLE|=={#ENV{selected}}|oui)checked='checked'] /><label for='[(#ENV{name})]-#CLE'>[(#VALEUR|table_valeur{nom}|supprimer_numero)][(#ENV{composition_heritee}|et{#CLE|=={''}}|oui)(<:compositions:composition_heritee:>)][<br /><span class='descriptif'>(#VALEUR|table_valeur{description})</span>]</label>
    65</div>
    76</BOUCLE_pour>
  • _plugins_/compositions/trunk/inc/compositions.php

    r57697 r57712  
    4848                                $composition['nom'] = _T_ou_typo(spip_xml_aplatit($xml['nom']));
    4949                                $composition['description'] = isset($xml['description'])?_T_ou_typo(spip_xml_aplatit($xml['description'])):'';
    50                                 $composition['icon'] = isset($xml['icon'])?find_in_path(reset($xml['icon'])):'';
     50                                if (isset($xml['icon'])) {
     51                                        $icon = chemin_image(reset($xml['icon']));
     52                                        if (!$icon)
     53                                                $icon = find_in_path(reset($xml['icon']));
     54                                } else
     55                                        $icon = '';
     56                                $composition['icon'] = $icon;
    5157                                $composition['class'] = isset($xml['class'])?trim(reset($xml['class'])):'';
    5258                                $composition['configuration'] = isset($xml['configuration'])?spip_xml_aplatit($xml['configuration']):'';
  • _plugins_/compositions/trunk/lang/compositions_fr.php

    r56057 r57712  
    88        'composition' => 'Composition',
    99        'compositions' => 'Compositions',
    10         'composition_defaut' => 'Composition par d&eacute;faut',
    11         'composition_heritee' => 'composition h&eacute;rit&eacute;e',
    12         'composition_verrouillee' => 'Cette composition est verrouill&eacute; par le webmestre',
    13         'composition_utilisee' => 'Utilise&nbsp;:',
     10        'composition_defaut' => 'composition par d&eacute;faut',
     11        'composition_heritee' => 'h&eacute;rit&eacute;e',
     12        'composition_verrouillee' => 'Cette composition est verrouill&eacute; par le webmestre.',
     13        'composition_utilisee' => 'Composition&nbsp;:',
    1414
    1515        // D
     
    2323        'label_chemin_compositions' => 'Dossier des compositions',
    2424        'label_chemin_compositions_details' => 'Indiquez le chemin dans lequel seront recherch&eacute;s les squelettes de composition.',
    25         'label_composition' => 'Type de composition',
     25        'label_composition' => 'Composition',
    2626        'label_composition_branche_lock' => 'Verrouiller la composition de tous les objets de la branche',
    2727        'label_composition_explication' => 'Vous &ecirc;tes Webmestre, vous pouvez',
  • _plugins_/compositions/trunk/prive/editer/compositions.html

    r50791 r57712  
    1 [<div class="composition">(#FORMULAIRE_EDITER_COMPOSITION_OBJET{#ENV{type},#ENV{id},1})</div>]
     1[<div class="ajax composition">(#FORMULAIRE_EDITER_COMPOSITION_OBJET{#ENV{type},#ENV{id}})</div>]
  • _plugins_/compositions/trunk/prive/style_prive_plugin_compositions.html

    r47210 r57712  
    1515
    1616        ATTENTION: il faut absolument le charset sinon Firefox croit que
    17         c'est du text/html !
    18 <style>
    19 ]
     17        c'est du text/html !]
     18
    2019#CACHE{3600*100,cache-client}
    2120#HTTP_HEADER{Content-Type: text/css; charset=iso-8859-15}
     
    2726#SET{right,#ENV{ltr}|choixsiegal{left,right,left}}
    2827
    29 .composition {font-size:11px;}
    30 .composition h3 {background:#GET{claire};padding:1px 3px;}
    31 .composition .formulaire_editer_composition_objet {border:0;border-top:1px solid #ddd;}
     28.formulaire_editer_composition_objet li.editer_composition div.choix {min-height:24px; padding-top:4px; padding-#GET{left}:20px;}
     29.formulaire_editer_composition_objet li.editer_composition div.choix input {margin-#GET{left}:-20px;display:inline;position:relative;float:#GET{left};}
     30.formulaire_editer_composition_objet li.editer_composition div.choix img.logo {float:#GET{left};margin-#GET{left}:-50px;}
    3231
    33 .composition .compo-utilisee {}
    34 .composition .formulaire_spip.formulaire_editer_composition_objet label{font-weight:bold;width:auto;}
    35 .composition .descriptif{font-style:italic;margin:0 5px 5px;}
     32.formulaire_editer_composition_objet h4 {
     33        padding-#GET{left}: 30px;
     34        background: url(#CHEMIN_IMAGE{composition-24.png}) no-repeat #GET{left};
     35        min-height: 24px;
     36        padding-top: 4px;
     37        margin-#GET{left}: -8px;
     38        margin-#GET{right}: 60px;
     39        margin-bottom: 0;
     40}
    3641
    37 .editer_composition_lock .choix{clear:both;}
     42.formulaire_editer_composition_objet h4 span.composition_actuelle {font-weight: normal;}
    3843
    39 .composition .formulaire_spip.formulaire_editer_composition_objet .choix label {font-weight:normal;}
    40 .formulaire_editer_composition_objet .editer_composition .choix {padding-#GET{left}:20px;}
    41 .formulaire_editer_composition_objet .editer_composition .choix input {margin-#GET{left}:-20px;display:inline;position:relative;float:#GET{left};}
    42 
    43 .formulaire_editer_composition_objet .editer_composition .choix img.logo {float:#GET{left};margin-#GET{left}:-60px;}
    44 .formulaire_editer_composition_objet .editer_composition .choix {clear:both;}
    45 
    46 .formulaire_editer_composition_objet .informer_composition em {font-size:0.9em;display:block;margin-top:1em;}
     44.formulaire_editer_composition_objet span.descriptif {font-style: italic;}
Note: See TracChangeset for help on using the changeset viewer.