Changeset 111306 in spip-zone


Ignore:
Timestamp:
Aug 13, 2018, 4:37:14 PM (11 months ago)
Author:
riedel.nobuyuki@…
Message:

mise à jour de la fonction sc_ieconfig_importer_fichier($chemin,$option) pour qu'elle fasse ce qui lui est demandé

modification de sc_import.html pour faire un exemple d'importation avec la couleur bleu_blanc_rouge

Location:
_squelettes_/soyezcreateurs_net/trunk/plugins/soyezcreateurs
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/soyezcreateurs_net/trunk/plugins/soyezcreateurs/prive/exec/sc_import.html

    r111283 r111306  
    33<ul >
    44        [
    5         (#AUTORISER{webmestre}|oui)<li><a href="./?exec=sc_import&nom=soyezcreateurs_couleurs_cfg_bleu&option=fusion">Activer mode Cognac de SoyezCréateurs</a> (attention, ne pas le faire maintenant, ça n'est pas terminé de coder)</li>
     5        (#AUTORISER{webmestre}|oui)<li><a href="./?exec=sc_import&nom=C:/wamp64/www/plugins/auto/soyezcreateurs/v4.3.16/cfg_config/soyezcreateurs_couleurs_seul_bleu_blanc_rouge.yaml&option=fusion">Activer mode Cognac de SoyezCréateurs</a> (attention, ne pas le faire maintenant, ça n'est pas terminé de coder)</li>
    66        ]
    77
     
    99
    1010<?php
    11 $nom = _request('nom');
    12 $option = _request('option');
    13 if (isset($nom) and isset($option)) {
    14         include_spip('soyezcreateurs_fonctions_ieconfig');
    15         if(!preg_match ('/[^a-zA-Z0-9_]/i', $nom)) {
    16                 $ok = sc_ieconfig_importer_fichier($fichier,$option);
     11        $nom = _request('nom');
     12        $option = _request('option');
     13        if (isset($nom) and isset($option)) {
     14                include_spip('soyezcreateurs_fonctions_ieconfig');
     15                if(!preg_match('[.a-zA-Z0-9_/\]', $nom)) {
     16                        $ok = sc_ieconfig_importer_fichier($nom,$option);
     17                }
    1718        }
    18        
    19 }
    2019?>
    2120</ul>
  • _squelettes_/soyezcreateurs_net/trunk/plugins/soyezcreateurs/soyezcreateurs_fonctions_ieconfig.php

    r111279 r111306  
    238238function sc_ieconfig_importer_fichier($chemin,$option) {
    239239        include_spip('inc/yaml');
    240         $config = yaml_decode_file($chemin);
    241        
    242         // Gestion des plugins utilisant le pipeline ieconfig_metas
    243         foreach (pipeline('ieconfig_metas', array()) as $prefixe => $data) {
    244                 //Si on veut une importation avec écrasement
    245                 if (isset($config[$prefixe])) {
     240                $config = yaml_decode_file($chemin);
     241
     242                // On passe via le pipeline ieconfig
     243                $message_erreur = pipeline('ieconfig', array(
     244                        'args' => array(
     245                                'action' => 'import',
     246                                'config' => $config,
     247                        ),
     248                        'data' => '',
     249                ));
     250
     251                // Gestion des plugins utilisant le pipeline ieconfig_metas
     252                foreach (pipeline('ieconfig_metas', array()) as $prefixe => $data) {
     253
    246254                        //Si on veut une importation avec écrasement
    247255                        if ($option === 'ecrase') {
     
    288296                                                        foreach ($config[$prefixe] as $m => $v) {
    289297                                                                if (substr($m, 0, strlen($p)) == $p) {
    290                                                                         $sc = lire_config($m . '/', $v);
    291                                                                         $v = array_merge($sc,$v);
     298                                                                        $save = lire_config($m . '/', $v);
     299                                                                        $import = ($v);
     300                                                                        $import = array_merge($save,$import);
    292301                                                                        ecrire_config($m . '/', $v);
    293302                                                                }
    294303                                                        }
    295304                                                } elseif (isset($config[$prefixe][$meta])) {
    296                                                         $sc = lire_config($meta . '/', $config[$prefixe][$meta]);
    297                                                         $config[$prefixe][$meta] = array_merge($sc,$config[$prefixe][$meta]);
    298                                                         ecrire_config($meta . '/', $config[$prefixe][$meta]);
     305                                                        $save = lire_config($meta . '/', $config[$prefixe][$meta]);
     306                                                        $import = ($config[$prefixe][$meta]);                                                   
     307                                                        $import = array_merge($save,$import);
     308                                                        ecrire_config($meta . '/', $import);
    299309                                                }
    300310                                        }
     
    307317                                                        foreach ($config[$prefixe] as $m => $v) {
    308318                                                                if (substr($m, 0, strlen($p)) == $p) {
    309                                                                         $sc = lire_config($m . '/', serialize($v));
    310                                                                         $v = array_merge($sc,$v);
    311                                                                         ecrire_config($m . '/', serialize($v));
    312                                                                 }
    313                                                         }
    314                                                 } elseif (isset($config[$prefixe][$meta])) {
    315                                                         $sc = lire_config($meta . '/', serialize($config[$prefixe][$meta]));
    316                                                         $config[$prefixe][$meta] = array_merge($sc,$config[$prefixe][$meta]);
    317                                                         ecrire_config($meta . '/', serialize($config[$prefixe][$meta]));
     319                                                                        $save = lire_config($m . '/', serialize($v));
     320                                                                        $import = ($v);
     321                                                                        $import = array_merge($save,$import);
     322                                                                        ecrire_config($m . '/', serialize($import));                           
     323                                                                }
     324                                                        }
     325                                                } elseif (isset($config[$prefixe][$meta])) {
     326                                                        $save = lire_config($meta . '/', serialize($config[$prefixe][$meta]));
     327                                                        $import = ($config[$prefixe][$meta]);
     328                                                        $import = array_merge($save,$import);
     329                                                        ecrire_config($meta . '/', serialize($import));
    318330                                                }
    319331                                        }
     
    322334                        //Si on veut une importation avec fusion_inv
    323335                        if ($option === 'fusion_inv') {
     336
    324337                                if (isset($data['metas_brutes'])) {
    325338                                        foreach (explode(',', $data['metas_brutes']) as $meta) {
     
    329342                                                        foreach ($config[$prefixe] as $m => $v) {
    330343                                                                if (substr($m, 0, strlen($p)) == $p) {
    331                                                                         $sc = lire_config($m . '/', $v);
    332                                                                         $v = array_merge($v,$sc);
    333                                                                         ecrire_config($m . '/', $v);
    334                                                                 }
    335                                                         }
    336                                                 } elseif (isset($config[$prefixe][$meta])) {
    337                                                         $sc = lire_config($meta . '/', $config[$prefixe][$meta]);
    338                                                         $config[$prefixe][$meta] = array_merge($config[$prefixe][$meta],$sc);
    339                                                         ecrire_config($meta . '/', $config[$prefixe][$meta]);
     344                                                                        $save = lire_config($m . '/', $v);
     345                                                                        $import = ($v);
     346                                                                        $import = array_merge($import,$save);
     347                                                                        ecrire_config($m . '/', $import);
     348                                                                }
     349                                                        }
     350                                                } elseif (isset($config[$prefixe][$meta])) {
     351                                                        $save = lire_config($meta . '/', $config[$prefixe][$meta]);
     352                                                        $import = ($config[$prefixe][$meta]);                                                   
     353                                                        $import = array_merge($import,$save);
     354                                                        ecrire_config($meta . '/', $import);
    340355                                                }
    341356                                        }
     
    348363                                                        foreach ($config[$prefixe] as $m => $v) {
    349364                                                                if (substr($m, 0, strlen($p)) == $p) {
    350                                                                         $sc = lire_config($m . '/', serialize($v));
    351                                                                         $v = array_merge($v,$sc);
    352                                                                         ecrire_config($m . '/', serialize($v));
    353                                                                 }
    354                                                         }
    355                                                 } elseif (isset($config[$prefixe][$meta])) {
    356                                                         $sc = lire_config($meta . '/', serialize($config[$prefixe][$meta]));
    357                                                         $config[$prefixe][$meta] = array_merge($config[$prefixe][$meta],$sc);
    358                                                         ecrire_config($meta . '/', serialize($config[$prefixe][$meta]));
    359                                                 }
    360                                         }
    361                                 }
    362                         }
    363                 }
    364         }               
    365         if ($message_erreur != '') {
    366                 return array('message_erreur' => $message_erreur);
    367         } else {
    368                 return array('message_ok' => _T('ieconfig:message_ok_import'));
    369         }
    370        
    371        
    372         //On appelle la fonction d'importation des configurations
    373         return soyezcreateurs_importer_configuration($option,$option,$option,$option,$config);
    374 }
    375 
     365                                                                        $save = lire_config($m . '/', serialize($v));
     366                                                                        $import = ($v);
     367                                                                        $import = array_merge($import,$save);
     368                                                                        ecrire_config($m . '/', serialize($import));
     369                                                                }
     370                                                        }
     371                                                } elseif (isset($config[$prefixe][$meta])) {
     372                                                        $save = lire_config($meta . '/', serialize($config[$prefixe][$meta]));
     373                                                        $import = ($config[$prefixe][$meta]);
     374                                                        $import = array_merge($import,$save);
     375                                                        ecrire_config($meta . '/', serialize($import));
     376                                                }
     377                                        }
     378                                }
     379                        }
     380                }
     381
     382                if ($message_erreur != '') {
     383                        return array('message_erreur' => $message_erreur);
     384                } else {
     385                        return array('message_ok' => _T('ieconfig:message_ok_import'));
     386                }
     387}
     388
Note: See TracChangeset for help on using the changeset viewer.