[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / noiZetier / noizetier_ieconfig.php
diff --git a/www/plugins/auto/noiZetier/noizetier_ieconfig.php b/www/plugins/auto/noiZetier/noizetier_ieconfig.php
new file mode 100644 (file)
index 0000000..364aa37
--- /dev/null
@@ -0,0 +1,171 @@
+<?php\r
+if (!defined("_ECRIRE_INC_VERSION")) return;\r
+\r
+/**\r
+ * Pipeline ieconfig pour l'import/export de configuration\r
+ *\r
+ * @param array $flux\r
+ * @return array\r
+ */\r
+function noizetier_ieconfig($flux){\r
+       $action = $flux['args']['action'];\r
+       \r
+       // Formulaire d'export\r
+       if ($action=='form_export') {\r
+               $saisies = array(\r
+                       array(\r
+                               'saisie' => 'fieldset',\r
+                               'options' => array(\r
+                                       'nom' => 'noizetier_export',\r
+                                       'label' => '<:noizetier:editer_noizetier_titre:>',\r
+                                       'icone' => 'img/noizetier-24.png'\r
+                               ),\r
+                               'saisies' => array(\r
+                                       array(\r
+                                               'saisie' => 'explication',\r
+                                               'options' => array(\r
+                                                       'nom' => 'noizetier_export_explication',\r
+                                                       'texte' => '<:noizetier:ieconfig_noizetier_export_explication:>'\r
+                                               )\r
+                                       ),\r
+                                       array(\r
+                                               'saisie' => 'oui_non',\r
+                                               'options' => array(\r
+                                                       'nom' => 'noizetier_export_option',\r
+                                                       'label' => '<:noizetier:ieconfig_noizetier_export_option:>',\r
+                                                       'defaut' => ''\r
+                                               )\r
+                                       )\r
+                               )\r
+                       )\r
+               );\r
+               $flux['data'] = array_merge($flux['data'],$saisies);\r
+       }\r
+       \r
+       // Tableau d'export\r
+       if ($action=='export' && _request('noizetier_export_option')=='on') {\r
+               include_spip('inc/noizetier');\r
+               $flux['data']['noizetier'] = noizetier_tableau_export();\r
+       }\r
+       \r
+       // Formulaire d'import\r
+       if ($action=='form_import' && isset($flux['args']['config']['noizetier'])) {\r
+               $texte_explication = '';\r
+               if (isset($flux['args']['config']['noizetier']['noisettes'])) {\r
+                       $texte_explication .= _T('noizetier:formulaire_liste_pages_config');\r
+                       $pages = array();\r
+                       foreach($flux['args']['config']['noizetier']['noisettes'] as $noisette)\r
+                               $pages[] = $noisette['type'].'-'.$noisette['composition'];\r
+                       $pages = array_unique($pages);\r
+                       foreach ($pages as $page)\r
+                               $texte_explication .= '<br />&raquo; '.rtrim($page,'-');\r
+               }\r
+               if (isset($flux['args']['config']['noizetier']['noizetier_compositions'])) {\r
+                       $texte_explication .= '<br />'._T('noizetier:formulaire_liste_compos_config');\r
+                       foreach($flux['args']['config']['noizetier']['noizetier_compositions'] as $type => $compositions)\r
+                               foreach ($compositions as $composition => $compo)\r
+                                       $texte_explication .= '<br />&raquo; '.$type.'-'.$composition;\r
+               }\r
+               if (isset($flux['args']['config']['noizetier']['noizetier_compositions'])) {\r
+                       $saisies = array(\r
+                               array(\r
+                                       'saisie' => 'fieldset',\r
+                                       'options' => array(\r
+                                               'nom' => 'noizetier_export',\r
+                                               'label' => '<:noizetier:editer_noizetier_titre:>',\r
+                                               'icone' => 'img/noizetier-24.png'\r
+                                       ),\r
+                                       'saisies' => array(\r
+                                               array(\r
+                                                       'saisie' => 'explication',\r
+                                                       'options' => array(\r
+                                                               'nom' => 'noizetier_export_explication',\r
+                                                               'texte' => $texte_explication\r
+                                                       )\r
+                                               ),\r
+                                               array(\r
+                                                       'saisie' => 'selection',\r
+                                                       'options' => array(\r
+                                                               'nom' => 'noizetier_type_import',\r
+                                                               'label' => '<:noizetier:formulaire_type_import:>',\r
+                                                               'explication' => '<:noizetier:formulaire_type_import_explication:>',\r
+                                                               'defaut' => '',\r
+                                                               'option_intro' => '<:noizetier:ieconfig_ne_pas_importer:>',\r
+                                                               'datas' => array(\r
+                                                                       'fusion' => '<:noizetier:formulaire_import_fusion:>',\r
+                                                                       'remplacer' => '<:noizetier:formulaire_import_remplacer:>'\r
+                                                               )\r
+                                                       )\r
+                                               ),\r
+                                               array(\r
+                                                       'saisie' => 'selection',\r
+                                                       'options' => array(\r
+                                                               'nom' => 'noizetier_import_compos',\r
+                                                               'label' => '<:noizetier:formulaire_import_compos:>',\r
+                                                               'defaut' => 'oui',\r
+                                                               'cacher_option_intro' => 'oui',\r
+                                                               'datas' => array(\r
+                                                                       'oui' => '<:noizetier:oui:>',\r
+                                                                       'non' => '<:noizetier:non:>'\r
+                                                               )\r
+                                                       )\r
+                                               )\r
+                                       )\r
+                               )\r
+                       );\r
+               } else {\r
+                       $saisies = array(\r
+                               array(\r
+                                       'saisie' => 'fieldset',\r
+                                       'options' => array(\r
+                                               'nom' => 'noizetier_export',\r
+                                               'label' => '<:noizetier:editer_noizetier_titre:>',\r
+                                               'icone' => 'img/noizetier-24.png'\r
+                                       ),\r
+                                       'saisies' => array(\r
+                                               array(\r
+                                                       'saisie' => 'explication',\r
+                                                       'options' => array(\r
+                                                               'nom' => 'noizetier_export_explication',\r
+                                                               'texte' => $texte_explication\r
+                                                       )\r
+                                               ),\r
+                                               array(\r
+                                                       'saisie' => 'selection',\r
+                                                       'options' => array(\r
+                                                               'nom' => 'noizetier_type_import',\r
+                                                               'label' => '<:noizetier:formulaire_type_import:>',\r
+                                                               'explication' => '<:noizetier:formulaire_type_import_explication:>',\r
+                                                               'defaut' => '',\r
+                                                               'option_intro' => '<:noizetier:ieconfig_ne_pas_importer:>',\r
+                                                               'datas' => array(\r
+                                                                       'fusion' => '<:noizetier:formulaire_import_fusion:>',\r
+                                                                       'remplacer' => '<:noizetier:formulaire_import_remplacer:>'\r
+                                                               )\r
+                                                       )\r
+                                               ),\r
+                                               array(\r
+                                                       'saisie' => 'hidden',\r
+                                                       'options' => array(\r
+                                                               'nom' => 'noizetier_import_compos',\r
+                                                               'defaut' => 'non',\r
+                                                       )\r
+                                               )\r
+                                       )\r
+                               )\r
+                       );\r
+               }\r
+               $flux['data'] = array_merge($flux['data'],$saisies);\r
+       }\r
+       \r
+       // Import de la configuration\r
+       if ($action=='import' && isset($flux['args']['config']['noizetier']) && _request('noizetier_type_import')!='') {\r
+               include_spip('inc/noizetier');\r
+               if (!noizetier_importer_configuration(_request('noizetier_type_import'),_request('noizetier_import_compos'),$flux['args']['config']['noizetier']))\r
+                       $flux['data'] .= _T('noizetier:ieconfig_probleme_import_config').'<br />';\r
+       }\r
+       \r
+       return($flux);\r
+}\r
+\r
+?>
\ No newline at end of file