Changeset 109575 in spip-zone


Ignore:
Timestamp:
Mar 17, 2018, 4:41:13 PM (16 months ago)
Author:
rastapopoulos@…
Message:

Nouvelle configuration qui permet objet par objet de configurer quels objets enfants celui-ci seront dupliqués, lorsqu'on duplique en cascade. Pas encore utilisée pour de vrai dans le code par contre.

Location:
_plugins_/duplicator/trunk
Files:
2 edited

Legend:

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

    r109574 r109575  
    66
    77include_spip('base/objets');
     8include_spip('base/objets_parents');
    89
    910function formulaires_configurer_duplicator_saisies_dist() {
     
    116117                        );
    117118                       
     119                        // Les enfants à dupliquer
     120                        if ($enfants_possibles = type_objet_info_enfants($objet)) {
     121                                $enfants_possibles = array_map('table_objet_sql', array_keys($enfants_possibles));
     122                                $enfants_exclus = array_diff(array_keys($declaration_objets), $enfants_possibles);
     123                               
     124                                $groupe_objet['saisies'][] = array(
     125                                        'saisie' => 'case',
     126                                        'options' => array(
     127                                                'nom' => "${table_objet}[personnaliser_enfants]",
     128                                                'label_case' => _T('duplicator:configurer_personnaliser_enfants_label'),
     129                                                'valeur_forcee' => (isset($config[$table_objet]['objets_enfants']) and $config[$table_objet]['objets_enfants']) ? 'on' : '',
     130                                        ),
     131                                );
     132                                $groupe_objet['saisies'][] = array(
     133                                        'saisie' => 'choisir_objets',
     134                                        'options' => array(
     135                                                'nom' => "${table_objet}[objets_enfants]",
     136                                                'exclus' => $enfants_exclus,
     137                                                'label' => _T('duplicator:configurer_objets_enfants_label'),
     138                                                'defaut' => isset($config[$table_objet]['objets_enfants']) ? $config[$table_objet]['objets_enfants'] : array(),
     139                                                'afficher_si' => "@${table_objet}[personnaliser_enfants]@ == 'on'",
     140                                        ),
     141                                );
     142                        }
     143                       
     144                       
    118145                        $saisies[] = $groupe_objet;
    119146                }
     
    134161                        unset($config_objet['champs']);
    135162                }
     163               
     164                // Si on a décoché la personnalisation des enfants, on vide la config des enfants
     165                if (!$config_objet['personnaliser_enfants']) {
     166                        unset($config_objet['objets_enfants']);
     167                }
     168               
    136169                // On remet dans la course
    137170                set_request($table_objet, $config_objet);
  • _plugins_/duplicator/trunk/lang/duplicator_fr.php

    r109573 r109575  
    2525        'configurer_champs_label' => 'Champs à dupliquer',
    2626        'configurer_explication_objets_texte' => 'Même si seulement les contenus ci-dessus seront proposés dans l’interface, tous les types de contenus peuvent potentiellement être dupliqués s’ils sont enfants d’autres contenus. On permet donc de configurer en permanence l’ensemble des types de contenus, et non seulement ceux choisis pour les boutons.',
     27        'configurer_objets_enfants_label' => 'Quels contenus enfants seront dupliqués ?',
    2728        'configurer_objets_explication' => 'Le plugin va ajouter des boutons sur la page d’admin de ces contenus pour permettre de les dupliquer et parfois de dupliquer aussi leurs enfants s’il y en a.',
    2829        'configurer_objets_label' => 'Contenus à dupliquer dans l’interface',
    2930        'configurer_personnaliser_champs_label' => 'Personnaliser les champs à dupliquer pour ces contenus',
     31        'configurer_personnaliser_enfants_label' => 'Personnaliser les contenus enfants qui seront dupliqués (par défaut tous)',
    3032        'configurer_titre' => 'Configuration de Duplicator',
    3133        'configurer_statut_label' => 'Statut après duplication',
Note: See TracChangeset for help on using the changeset viewer.