Changeset 32328 in spip-zone


Ignore:
Timestamp:
Oct 24, 2009, 11:01:21 AM (11 years ago)
Author:
marcimat@…
Message:

Le define _CHAMPS_EXTRAS_SAISIES_EXTERNES autorise de sélectionner des Saisies du plugin idoine depuis l'interface.

Location:
_plugins_/champs_extras2
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/champs_extras2/core/inc/cextras_gerer.php

    r32312 r32328  
    44include_spip('inc/cextras');
    55
    6 // mettre 'true' pour utiliser
     6// mettre 'true' pour autoriser l'utilisation
    77// les saisies du plugin SAISIES
    8 // et non celles de 'extra-saisies/'
     8// en plus de celles de 'extra-saisies/'
    99// (experimental)
    1010define('_CHAMPS_EXTRAS_SAISIES_EXTERNES', false);
     
    5555        $types = array();
    5656       
     57        // saisies de ce plugin
     58        $saisies = find_all_in_path('extra-saisies/','.*\.html$');
     59        $noms = array();
     60        foreach($saisies as $saisie) {
     61                $type = basename($saisie,'.html');
     62                $noms['interne/'.$type] = _T('cextras:type', array('type' => $type));
     63        }
     64        $types[_T('iextras:saisies_champs_extras')] = $noms;
     65
     66               
    5767        if (_CHAMPS_EXTRAS_SAISIES_EXTERNES) {
    5868                // plugin saisies (attention au chemin "/saisies/saisies/_base.html")
    5969                $saisies = find_all_in_path('saisies/','/([^_/]{1}[^/]*)\.html$');
    60         } else { // saisies de ce plugin
    61                 $saisies = find_all_in_path('extra-saisies/','.*\.html$');
    62         }
    63        
    64         foreach($saisies as $saisie) {
    65                 $type = basename($saisie,'.html');
    66                 $types[$type] = _T('cextras:type', array('type' => $type));
    67         }
     70                $noms = array();
     71                foreach($saisies as $saisie) {
     72                        $type = basename($saisie,'.html');
     73                        $noms['externe/'.$type] = _T('cextras:type', array('type' => $type));
     74                }
     75                $types[_T('iextras:saisies_saisies')] = $noms;
     76        }
     77
    6878        return $types;
    6979}
  • _plugins_/champs_extras2/core/lang/cextras_fr.php

    r30691 r32328  
    44        // C
    55        'cextra_par_defaut' => 'Valeur par défaut',
    6 
     6       
    77        //T
    88        'table_article' => 'Articles',
  • _plugins_/champs_extras2/extensions/interface/formulaires/editer_champ_extra.html

    r32316 r32328  
    2727                                explication=<:iextras:precisions_pour_label:>,
    2828                                obligatoire=oui})]
    29                                
    30                         [(#SAISIE{selection,type,
     29                        [(#SAISIE{selection_par_groupe,type,
    3130                                label=<:iextras:label_type:>,
    3231                                obligatoire=oui,
     
    4847                        <h3 class='legend'><:iextras:legend_options:></h3>     
    4948                        <ul>
    50                         [(#SAISIE{input,precisions,
    51                                 label=<:iextras:label_precisions:>,
    52                                 explication=<:iextras:precisions_pour_precisions:>})]
     49                        [(#SAISIE{input,explication,
     50                                label=<:iextras:label_explication:>,
     51                                explication=<:iextras:precisions_pour_explication:>})]
    5352
    5453                        [(#SAISIE{oui_non,obligatoire,
  • _plugins_/champs_extras2/extensions/interface/formulaires/editer_champ_extra.php

    r32312 r32328  
    1818        // valeur par defaut tout de meme sur sql et pour saisie
    1919        if (!$valeurs['sql']) $valeurs['sql'] = "text NOT NULL DEFAULT ''";
     20
    2021        if (!$valeurs['type']) {
    21                 $valeurs['type'] = _CHAMPS_EXTRAS_SAISIES_EXTERNES ? "input" : "ligne";
     22                $valeurs['type'] = "ligne";
    2223        }
    2324       
     
    2728                $extra = iextra_get_extra($extra_id);
    2829                $valeurs = array_merge($valeurs, $extra->toArray());
     30                // compatibilite le temps de migrer vers cextras 1.4.0
     31                if (isset($valeurs['precisions']) and $valeurs['precisions']) {
     32                        $valeurs['saisie_parametres']['explication'] = $valeurs['precisions'];
     33                }
     34                // separer saisies internes a celles du plug "saisies"
     35                if ($valeurs['saisie_externe']) {
     36                        $valeurs['type'] = 'externe/' . $valeurs['type'];
     37                } else {
     38                        $valeurs['type'] = 'interne/' . $valeurs['type'];
     39                }
    2940        }
    3041        return $valeurs;
     
    8495        $extra = iextras_post_formulaire();
    8596
     97        // cextra 1.4.0 : on separe les parametres des saisies
     98        // dans un tableau specifique
     99        $extra['saisie_parametres'] = array();
     100        foreach (array('explication', 'attention', 'class', 'li_class') as $p) {
     101                $extra['saisie_parametres'][$p] = $extra[$p];
     102                unset($extra[$p]);
     103        }
     104        // type est soit interne, soit externe (plugin saisies)
     105        $extra['saisie_externe'] = (substr($extra['type'],0,7) == 'externe' );
     106        $extra['type'] = substr($extra['type'], 8); // enlever 'externe/' et 'interne/'
     107
    86108        // recreer le tableau de stockage des extras
    87109        $extras = iextras_get_extras();
     
    123145function iextras_post_formulaire() {
    124146        $extra = array();
    125         foreach(array('champ', 'table', 'type', 'label', 'sql', 'precisions', 'obligatoire', 'enum', 'rechercher') as $c) {
     147        foreach(array(
     148                'champ', 'table', 'type',
     149                'label', 'sql',
     150                'traitements',
     151                // 'precisions',
     152                'obligatoire',
     153                'enum', 'rechercher',
     154                'explication', 'attention', 'class', 'li_class'
     155        ) as $c) {
    126156                $extra[$c] = _request($c);
    127157        }
  • _plugins_/champs_extras2/extensions/interface/lang/iextras_fr.php

    r32316 r32328  
    4141        'label_label' => 'Label de la saisie',
    4242        'label_obligatoire' => 'Champ obligatoire&nbsp;?',
    43         'label_precisions' => 'Pr&eacute;cisions de la saisie',
     43        'label_explication' => 'Explications de la saisie',
    4444        'label_rechercher' => 'Recherche',
    4545        'label_sql' => 'D&eacute;finition SQL',
     
    5353        'precisions_pour_enum' => 'Certains types de champ demandent une liste des valeurs accept&eacute;es&nbsp;: indiquez-en une par ligne, suivie d\'une virgule et d\'une description. Une ligne vide pour la valeur par d&eacute;faut. La description peut &ecirc;tre une cha&icirc;ne de langue.',
    5454        'precisions_pour_label' => 'Peut &ecirc;tre une cha&icirc;ne de langue &laquo;plugin:chaine&raquo;.',
    55         'precisions_pour_precisions' => 'Optionnellement, vous pouvez donner plus d\'informations concernant la saisie.
     55        'precisions_pour_explication' => 'Optionnellement, vous pouvez donner plus d\'informations concernant la saisie.
    5656                Peut &ecirc;tre une cha&icirc;ne de langue &laquo;plugin:chaine&raquo;.',
    5757        'precisions_pour_rechercher' => 'Inclure ce champ dans le moteur de recherche ?',
     
    5959       
    6060        //S
     61        'saisies_champs_extras' => 'De &laquo;Champs Extras&raquo;',
     62        'saisies_saisies' => 'De «Saisies&raquo;',
    6163        'supprimer_reelement' => 'Supprimer ce champ ?',
    6264        //T
  • _plugins_/champs_extras2/extensions/interface/plugin.xml

    r32312 r32328  
    33        <auteur>Matthieu Marcillaud, Fil</auteur>
    44        <licence>GNU/GPL</licence>
    5         <version>0.9.0</version>
     5        <version>1.0.0</version>
    66        <icon>images/iextras-64.png</icon>
    77        <description>
     
    1010        <etat>dev</etat>
    1111        <prefix>iextras</prefix>
    12         <necessite id="cextras" version="[0.8.3;]" />
     12        <necessite id="cextras" version="[1.4.0;]" />
    1313        <necessite id="spip_bonux" version="[1.2;]" />
    14         <necessite id="saisies" version="[1.6.0;]" />
     14        <necessite id="saisies" version="[1.6.1;]" />
    1515       
    1616        <pipeline>
Note: See TracChangeset for help on using the changeset viewer.