Changeset 111380 in spip-zone


Ignore:
Timestamp:
Aug 19, 2018, 12:04:26 PM (2 years ago)
Author:
real3t@…
Message:

[IEConfig v2] Pouvoir restreindre l'importation à un seul préfixe

Ex : #FORMULAIRE_IECONFIG_IMPORT{facteur}

Location:
_plugins_/ieconfig/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/ieconfig/trunk/formulaires/ieconfig_import.php

    r111364 r111380  
    55}
    66
    7 function ieconfig_metas_liste() {
     7function ieconfig_metas_liste($prefixeaimporter = null) {
    88        static $ieconfig_metas;
    99        if (!is_array($ieconfig_metas)) {
     
    1414                foreach (pipeline('ieconfig_metas', array()) as $prefixe => $data) {
    1515                        if (isset($config[$prefixe])) {
    16                                 if (isset($data['icone'])) {
    17                                         $icone = chemin_image($data['icone']);
    18                                         if (!$icone) {
    19                                                 $icone = find_in_path($data['icone']);
    20                                         }
    21                                         if ($icone) {
    22                                                 $icone = '<img src="' . $icone . '" alt="" style="margin-left:-50px; margin-right:34px;" />';
    23                                         }
    24                                 } else {
    25                                         $icone = 'config-export-16.png';
    26                                 }
    27                                 $ieconfig_metas[$prefixe] = $icone . (isset($data['titre']) ? $data['titre'] : $prefixe);
     16                                if (!isset($prefixeaimporter)
     17                                        OR
     18                                        (isset($prefixeaimporter) && $prefixe === $prefixeaimporter)
     19                                        ) {
     20                                        if (isset($data['icone'])) {
     21                                                $icone = chemin_image($data['icone']);
     22                                                if (!$icone) {
     23                                                        $icone = find_in_path($data['icone']);
     24                                                }
     25                                                if ($icone) {
     26                                                        $icone = '<img src="' . $icone . '" alt="" style="margin-left:-50px; margin-right:34px;" />';
     27                                                }
     28                                        } else {
     29                                                $icone = 'config-export-16.png';
     30                                        }
     31                                        $ieconfig_metas[$prefixe] = $icone . (isset($data['titre']) ? $data['titre'] : $prefixe);
     32                                        }
    2833                        }
    2934                }
     
    3237}
    3338
    34 function ieconfig_saisies_import() {
     39function ieconfig_saisies_import($prefixeaimporter = null) {
    3540        // Etape de selection du fichier
    3641        if (!_request('_code_yaml') or _request('annuler') or _request('importer')) {
     
    6065                                                        'label' => '<:ieconfig:label_ieconfig_import_local:>',
    6166                                                        'explication' => '<:ieconfig:explication_ieconfig_import_local:>',
    62                                                         'datas' => ieconfig_config_locales(),
     67                                                        'datas' => ieconfig_config_locales($prefixeaimporter),
    6368                                                ),
    6469                                        ),
     
    104109
    105110                // Gestion des plugins utilisant le pipeline ieconfig_metas
    106                 $ieconfig_metas = ieconfig_metas_liste();
     111                $ieconfig_metas = ieconfig_metas_liste($prefixeaimporter);
    107112                if (count($ieconfig_metas) > 1) {
    108113                        $saisies = array(
     
    156161}
    157162
    158 function formulaires_ieconfig_import_charger_dist() {
     163function formulaires_ieconfig_import_charger_dist($prefixeaimporter = null) {
    159164        include_spip('inc/saisies');
    160         $saisies = ieconfig_saisies_import();
     165        $saisies = ieconfig_saisies_import($prefixeaimporter);
    161166        $contexte = array(
    162167                '_saisies' => $saisies,
     
    170175}
    171176
    172 function formulaires_ieconfig_import_verifier_dist() {
     177function formulaires_ieconfig_import_verifier_dist($prefixeaimporter = null) {
    173178        $erreurs = array();
    174179        // Etape de selection du fichier
     
    181186        else {
    182187                include_spip('inc/saisies');
    183                 $erreurs = saisies_verifier(ieconfig_saisies_import());
     188                $erreurs = saisies_verifier(ieconfig_saisies_import($prefixeaimporter));
    184189        }
    185190
     
    187192}
    188193
    189 function formulaires_ieconfig_import_traiter_dist() {
     194function formulaires_ieconfig_import_traiter_dist($prefixeaimporter = null) {
    190195
    191196        include_spip('inc/config');
     
    206211                set_request('_code_yaml', $code_yaml);
    207212        } // Si on valide l'import
    208         $ieconfig_metas = ieconfig_metas_liste();
     213        $ieconfig_metas = ieconfig_metas_liste($prefixeaimporter);
    209214        if (((count($ieconfig_metas) == 1) OR _request('importer')) && _request('_code_yaml')) {
    210215                include_spip('inc/yaml');
     
    233238                foreach (pipeline('ieconfig_metas', array()) as $prefixe => $data) {
    234239                        if (in_array($prefixe, $import_metas) && isset($config[$prefixe])) {
    235                                 $config_importee .= $prefixe . '|';
     240                                $config_importee .= $prefixe . ' ';
    236241                                if (isset($data['metas_brutes'])) {
    237242                                        foreach (explode(',', $data['metas_brutes']) as $meta) {
     
    316321
    317322// Renvoie la liste des fichiers de configurations présents dans un sous-répertoires ieconfig/
    318 function ieconfig_config_locales() {
     323function ieconfig_config_locales($prefixeaimporter = null) {
    319324        static $liste_config = null;
    320325
     
    337342                                }
    338343                        }
     344                        if (isset($prefixeaimporter) AND !isset($config[$prefixeaimporter])) {
     345                                $ok = false;
     346                        }
    339347                        //on vérifie s'il y a un champs nom
    340348                        if ($ok) {
  • _plugins_/ieconfig/trunk/paquet.xml

    r111364 r111380  
    22        prefix="ieconfig"
    33        categorie="maintenance"
    4         version="2.0.4"
     4        version="2.0.5"
    55        etat="dev"
    66        compatibilite="[3.0.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.