Changeset 109559 in spip-zone


Ignore:
Timestamp:
Mar 16, 2018, 6:39:07 PM (15 months ago)
Author:
rastapopoulos@…
Message:

On réaffiche l'ensemble des objets connus par SPIP, même ceux pas cochés pour proposer le bouton dans l'interface, car dans pas longtemps va falloir ajouter des configs de quels enfants on accepte de dupliquer etc, y compris donc pour pouvoir configurer des objets qui ne sont pas proposés dans l'interface, mais qui vont être dupliqués par hiérarchie quand décide de dupliquer les enfants… (je clair Luc, ne pas ?)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/duplicator/trunk/formulaires/configurer_duplicator.php

    r109535 r109559  
    2424        // Pour chaque objet déjà choisi, on ajoute des options
    2525        if (isset($config['objets'])) {
    26                 foreach ($config['objets'] as $table_objet_sql) {
    27                         // Si l'objet fait toujours parti des objets installés
    28                         if (isset($declaration_objets[$table_objet_sql]) and $declaration_objet = $declaration_objets[$table_objet_sql]) {
    29                                 $table_objet = table_objet($table_objet_sql);
    30                                 $objet = objet_type($table_objet);
    31                                
    32                                 $groupe_objet = array(
    33                                         'saisie' => 'fieldset',
    34                                         'options' => array(
    35                                                 'nom' => "groupe_$table_objet",
    36                                                 'label' => _T($declaration_objet['texte_objets']),
    37                                         ),
    38                                         'saisies' => array(),
    39                                 );
    40                                
    41                                 // Si l'objet a des champs
    42                                 if (isset($declaration_objet['field']) and $champs = $declaration_objet['field']) {
    43                                         // On cherche et vire le champ statut, car il y a une config pour ça ensuite
    44                                         if (isset($declaration_objet['statut'][0]['champ']) and $champ_statut = $declaration_objet['statut'][0]['champ']) {
    45                                                 unset($champs[$champ_statut]);
    46                                         }
    47                                        
    48                                         foreach ($champs as $champ=>$sql) {
    49                                                 $champs[$champ] = $champ;
    50                                         }
    51                                         $groupe_objet['saisies'][] = array(
    52                                                 'saisie' => 'case',
    53                                                 'options' => array(
    54                                                         'nom' => "${table_objet}[personnaliser_champs]",
    55                                                         'label_case' => _T('duplicator:configurer_personnaliser_champs_label'),
    56                                                         'valeur_forcee' => (isset($config[$table_objet]['champs']) and $config[$table_objet]['champs']) ? 'on' : '',
    57                                                 ),
    58                                         );
    59                                         $groupe_objet['saisies'][] = array(
    60                                                 'saisie' => 'checkbox',
    61                                                 'options' => array(
    62                                                         'nom' => "${table_objet}[champs]",
    63                                                         'label' => _T('duplicator:configurer_champs_label'),
    64                                                         'data' => $champs,
    65                                                         'defaut' => isset($config[$table_objet]['champs']) ? $config[$table_objet]['champs'] : array(),
    66                                                         'afficher_si' => "@${table_objet}[personnaliser_champs]@ == 'on'",
    67                                                 ),
    68                                         );
     26                // On boucle sur tous les objets possibles
     27                foreach ($declaration_objets as $table_objet_sql=>$declaration_objet) {
     28                        $table_objet = table_objet($table_objet_sql);
     29                        $objet = objet_type($table_objet);
     30                       
     31                        $groupe_objet = array(
     32                                'saisie' => 'fieldset',
     33                                'options' => array(
     34                                        'nom' => "groupe_$table_objet",
     35                                        'label' => _T($declaration_objet['texte_objets']),
     36                                        'pliable' => 'oui',
     37                                        'plie' => 'oui',
     38                                ),
     39                                'saisies' => array(),
     40                        );
     41                       
     42                        // Si l'objet a des champs
     43                        if (isset($declaration_objet['field']) and $champs = $declaration_objet['field']) {
     44                                // On cherche et vire le champ statut, car il y a une config pour ça ensuite
     45                                if (isset($declaration_objet['statut'][0]['champ']) and $champ_statut = $declaration_objet['statut'][0]['champ']) {
     46                                        unset($champs[$champ_statut]);
    6947                                }
    7048                               
    71                                 // S'il y a des statuts
    72                                 if (isset($declaration_objet['statut_textes_instituer']) and $statuts = $declaration_objet['statut_textes_instituer']) {
    73                                         foreach ($statuts as $statut=>$lang) {
    74                                                 $statuts[$statut] = _T($lang);
    75                                         }
    76                                         $groupe_objet['saisies'][] = array(
    77                                                 'saisie' => 'selection',
    78                                                 'options' => array(
    79                                                         'nom' => "${table_objet}[statut]",
    80                                                         'label' => _T('duplicator:configurer_statut_label'),
    81                                                         'option_intro' => _T('duplicator:configurer_statut_option_intro'),
    82                                                         'data' => $statuts,
    83                                                         'defaut' => isset($config[$table_objet]['statut']) ? $config[$table_objet]['statut'] : '',
    84                                                 ),
    85                                         );
     49                                foreach ($champs as $champ=>$sql) {
     50                                        $champs[$champ] = $champ;
    8651                                }
    87                                
    88                                 // Les autorisations
     52                                $groupe_objet['saisies'][] = array(
     53                                        'saisie' => 'case',
     54                                        'options' => array(
     55                                                'nom' => "${table_objet}[personnaliser_champs]",
     56                                                'label_case' => _T('duplicator:configurer_personnaliser_champs_label'),
     57                                                'valeur_forcee' => (isset($config[$table_objet]['champs']) and $config[$table_objet]['champs']) ? 'on' : '',
     58                                        ),
     59                                );
     60                                $groupe_objet['saisies'][] = array(
     61                                        'saisie' => 'checkbox',
     62                                        'options' => array(
     63                                                'nom' => "${table_objet}[champs]",
     64                                                'label' => _T('duplicator:configurer_champs_label'),
     65                                                'data' => $champs,
     66                                                'defaut' => isset($config[$table_objet]['champs']) ? $config[$table_objet]['champs'] : array(),
     67                                                'afficher_si' => "@${table_objet}[personnaliser_champs]@ == 'on'",
     68                                        ),
     69                                );
     70                        }
     71                       
     72                        // S'il y a des statuts
     73                        if (isset($declaration_objet['statut_textes_instituer']) and $statuts = $declaration_objet['statut_textes_instituer']) {
     74                                foreach ($statuts as $statut=>$lang) {
     75                                        $statuts[$statut] = _T($lang);
     76                                }
    8977                                $groupe_objet['saisies'][] = array(
    9078                                        'saisie' => 'selection',
    9179                                        'options' => array(
    92                                                 'nom' => "${table_objet}[autorisation]",
    93                                                 'label' => _T('duplicator:configurer_autorisation_label'),
    94                                                 'option_intro' => _T('duplicator:configurer_autorisation_option_intro'),
    95                                                 'data' => array(
    96                                                         'webmestre' => _T('duplicator:configurer_autorisation_choix_webmestre'),
    97                                                         'administrateur' => _T('duplicator:configurer_autorisation_choix_administrateur'),
    98                                                         'redacteur' => _T('duplicator:configurer_autorisation_choix_redacteur'),
    99                                                 ),
    100                                                 'defaut' => isset($config[$table_objet]['autorisation']) ? $config[$table_objet]['autorisation'] : '',
     80                                                'nom' => "${table_objet}[statut]",
     81                                                'label' => _T('duplicator:configurer_statut_label'),
     82                                                'option_intro' => _T('duplicator:configurer_statut_option_intro'),
     83                                                'data' => $statuts,
     84                                                'defaut' => isset($config[$table_objet]['statut']) ? $config[$table_objet]['statut'] : '',
    10185                                        ),
    10286                                );
    103                                
    104                                 $saisies[] = $groupe_objet;
    10587                        }
     88                       
     89                        // Les autorisations
     90                        $groupe_objet['saisies'][] = array(
     91                                'saisie' => 'selection',
     92                                'options' => array(
     93                                        'nom' => "${table_objet}[autorisation]",
     94                                        'label' => _T('duplicator:configurer_autorisation_label'),
     95                                        'option_intro' => _T('duplicator:configurer_autorisation_option_intro'),
     96                                        'data' => array(
     97                                                'webmestre' => _T('duplicator:configurer_autorisation_choix_webmestre'),
     98                                                'administrateur' => _T('duplicator:configurer_autorisation_choix_administrateur'),
     99                                                'redacteur' => _T('duplicator:configurer_autorisation_choix_redacteur'),
     100                                        ),
     101                                        'defaut' => isset($config[$table_objet]['autorisation']) ? $config[$table_objet]['autorisation'] : '',
     102                                ),
     103                        );
     104                       
     105                        $saisies[] = $groupe_objet;
    106106                }
    107107        }
Note: See TracChangeset for help on using the changeset viewer.