-<?php\r
-\r
-if (!defined("_ECRIRE_INC_VERSION")) return;\r
-\r
-/*\r
- * function menus_ieconfig_metas\r
- * Pipeline ieconfig pour l'import/export desmetas du plugin menu\r
- * \r
- * @param array $table\r
- * @return array\r
- * \r
- */\r
-function menus_ieconfig_metas($table) {\r
- $table['menus_meta']['titre'] = _T('paquet-menus:menus_titre');\r
- $table['menus_meta']['icone'] = 'prive/themes/spip/images/menu-16.png';\r
- $table['menus_meta']['metas_serialize'] = 'menus';\r
- return $table;\r
-}\r
-\r
-/**\r
- * Pipeline ieconfig pour l'import/export des menus\r
- *\r
- * @param array $flux\r
- * @return array\r
- */\r
-function menus_ieconfig($flux){\r
- include_spip('inc/texte');\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' => 'menus_export',\r
- 'label' => '<:menus:editer_menus_titre:>',\r
- 'icone' => 'menu-16.png'\r
- ),\r
- 'saisies' => array(\r
- array(\r
- 'saisie' => 'menus_multiple',\r
- 'options' => array(\r
- 'nom' => 'menus_a_exporter',\r
- 'label' => '<:menus:formulaire_ieconfig_menus_a_exporter:>',\r
- 'cacher_option_intro' => 'oui'\r
- )\r
- )\r
- )\r
- )\r
- );\r
- $flux['data'] = array_merge($flux['data'],$saisies);\r
- }\r
- \r
- // Tableau d'export\r
- if ($action=='export' && is_array(_request('menus_a_exporter')) && count(_request('menus_a_exporter'))>0) {\r
- $flux['data']['menus'] = array();\r
- include_spip('base/abstract_sql');\r
- include_spip('action/exporter_menu');\r
- foreach (_request('menus_a_exporter') as $identifiant) {\r
- $menu = sql_fetsel(array('id_menu','titre','css'),'spip_menus','identifiant = '.sql_quote($identifiant));\r
- $id_menu = $menu['id_menu'];\r
- unset($menu['id_menu']);\r
- $menu['entrees'] = exporter_menu_recursif($id_menu);\r
- $flux['data']['menus'][$identifiant] = $menu;\r
- }\r
- }\r
- \r
- // Formulaire d'import\r
- if ($action=='form_import' && isset($flux['args']['config']['menus']) && is_array($flux['args']['config']['menus']) && count($flux['args']['config']['menus'])>0) {\r
- $saisies = array(\r
- array(\r
- 'saisie' => 'fieldset',\r
- 'options' => array(\r
- 'nom' => 'menus_import',\r
- 'label' => '<:menus:editer_menus_titre:>',\r
- 'icone' => 'menu-16.png'\r
- ),\r
- 'saisies' => array(\r
- array(\r
- 'saisie' => 'explication',\r
- 'options' => array(\r
- 'nom' => 'menus_import_explication',\r
- 'texte' => '<:menus:formulaire_ieconfig_choisir_menus_a_importer:>'\r
- )\r
- )\r
- )\r
- )\r
- );\r
- foreach ($flux['args']['config']['menus'] as $identifiant => $menu) {\r
- if (sql_countsel('spip_menus','identifiant = '.sql_quote($identifiant))>0) {\r
- $saisies[0]['saisies'][] = array(\r
- 'saisie' => 'selection',\r
- 'options' => array(\r
- 'nom' => 'menus_importer_'.$identifiant,\r
- 'label' => $identifiant.(isset($menu['titre']) ? ' ('.typo($menu['titre']).')' : ''),\r
- 'cacher_option_intro' => 'oui',\r
- 'attention' => '<:menus:formulaire_ieconfig_menu_meme_identifiant:>',\r
- 'datas' => array(\r
- 'non' => '<:menus:formulaire_ieconfig_ne_pas_importer:>',\r
- 'renommer' => '<:menus:formulaire_ieconfig_renommer:>',\r
- 'remplacer' => '<:menus:formulaire_ieconfig_remplacer:>'\r
- )\r
- )\r
- );\r
- } else {\r
- $saisies[0]['saisies'][] = array(\r
- 'saisie' => 'selection',\r
- 'options' => array(\r
- 'nom' => 'menus_importer_'.$identifiant,\r
- 'label' => $identifiant.(isset($menu['titre']) ? ' ('.typo($menu['titre']).')' : ''),\r
- 'cacher_option_intro' => 'oui',\r
- 'datas' => array(\r
- 'non' => '<:menus:formulaire_ieconfig_ne_pas_importer:>',\r
- 'importer' => '<:menus:formulaire_ieconfig_importer:>'\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']['menus']) && is_array($flux['args']['config']['menus']) && count($flux['args']['config']['menus'])>0) {\r
- foreach ($flux['args']['config']['menus'] as $identifiant => $menu) {\r
- $choix = _request('menus_importer_'.$identifiant);\r
- include_spip('base/abstract_sql');\r
- include_spip('inc/menus');\r
- include_spip('action/editer_menu');\r
- if ($choix == 'remplacer') {\r
- $id_menu = intval(sql_getfetsel('id_menu','spip_menus','identifiant = '.sql_quote($identifiant)));\r
- menus_supprimer_menu($id_menu);\r
- }\r
- if ($choix == 'renommer')\r
- $identifiant = $identifiant.'_'.time();\r
- if (in_array($choix,array('importer','remplacer','renommer'))) {\r
- $titre = isset($menu['titre']) ? $menu['titre'] : '';\r
- $css = isset($menu['css']) ? $menu['css'] : '';\r
- $id_menu = sql_insertq('spip_menus',array(\r
- 'identifiant' => $identifiant,\r
- 'titre' => $titre,\r
- 'css' => $css\r
- ));\r
- if (isset($menu['entrees']))\r
- menus_importer($menu['entrees'], $id_menu);\r
- }\r
- }\r
- }\r
- \r
- return($flux);\r
-}\r
-\r
-?>
\ No newline at end of file
+<?php
+/**
+ * Plugin Menus
+ */
+
+if (!defined('_ECRIRE_INC_VERSION')) {
+ return;
+}
+
+/*
+ * function menus_ieconfig_metas
+ * Pipeline ieconfig pour l'import/export desmetas du plugin menu
+ *
+ * @param array $table
+ * @return array
+ *
+ */
+function menus_ieconfig_metas($table) {
+ $table['menus_meta']['titre'] = _T('paquet-menus:menus_titre');
+ $table['menus_meta']['icone'] = 'prive/themes/spip/images/menu-16.png';
+ $table['menus_meta']['metas_serialize'] = 'menus';
+ return $table;
+}
+
+/**
+ * Pipeline ieconfig pour l'import/export des menus
+ *
+ * @param array $flux
+ * @return array
+ */
+function menus_ieconfig($flux) {
+ include_spip('inc/texte');
+ $action = $flux['args']['action'];
+
+ // Formulaire d'export
+ if ($action=='form_export') {
+ $saisies = array(
+ array(
+ 'saisie' => 'fieldset',
+ 'options' => array(
+ 'nom' => 'menus_export',
+ 'label' => '<:menus:editer_menus_titre:>',
+ 'icone' => 'menu-16.png'
+ ),
+ 'saisies' => array(
+ array(
+ 'saisie' => 'menus_multiple',
+ 'options' => array(
+ 'nom' => 'menus_a_exporter',
+ 'label' => '<:menus:formulaire_ieconfig_menus_a_exporter:>',
+ 'cacher_option_intro' => 'oui'
+ )
+ )
+ )
+ )
+ );
+ $flux['data'] = array_merge($flux['data'], $saisies);
+ }
+
+ // Tableau d'export
+ if ($action=='export' && is_array(_request('menus_a_exporter')) && count(_request('menus_a_exporter'))>0) {
+ $flux['data']['menus'] = array();
+ include_spip('base/abstract_sql');
+ include_spip('action/exporter_menu');
+ foreach (_request('menus_a_exporter') as $identifiant) {
+ $menu = sql_fetsel(array('id_menu','titre','css'), 'spip_menus', 'identifiant = '.sql_quote($identifiant));
+ $id_menu = $menu['id_menu'];
+ unset($menu['id_menu']);
+ $menu['entrees'] = exporter_menu_recursif($id_menu);
+ $flux['data']['menus'][$identifiant] = $menu;
+ }
+ }
+
+ // Formulaire d'import
+ if ($action=='form_import' && isset($flux['args']['config']['menus'])
+ && is_array($flux['args']['config']['menus']) && count($flux['args']['config']['menus']) > 0) {
+ $saisies = array(
+ array(
+ 'saisie' => 'fieldset',
+ 'options' => array(
+ 'nom' => 'menus_import',
+ 'label' => '<:menus:editer_menus_titre:>',
+ 'icone' => 'menu-16.png'
+ ),
+ 'saisies' => array(
+ array(
+ 'saisie' => 'explication',
+ 'options' => array(
+ 'nom' => 'menus_import_explication',
+ 'texte' => '<:menus:formulaire_ieconfig_choisir_menus_a_importer:>'
+ )
+ )
+ )
+ )
+ );
+ foreach ($flux['args']['config']['menus'] as $identifiant => $menu) {
+ if (sql_countsel('spip_menus', 'identifiant = '.sql_quote($identifiant)) > 0) {
+ $saisies[0]['saisies'][] = array(
+ 'saisie' => 'selection',
+ 'options' => array(
+ 'nom' => 'menus_importer_'.$identifiant,
+ 'label' => $identifiant.(isset($menu['titre']) ? ' ('.typo($menu['titre']).')' : ''),
+ 'cacher_option_intro' => 'oui',
+ 'attention' => '<:menus:formulaire_ieconfig_menu_meme_identifiant:>',
+ 'datas' => array(
+ 'non' => '<:menus:formulaire_ieconfig_ne_pas_importer:>',
+ 'renommer' => '<:menus:formulaire_ieconfig_renommer:>',
+ 'remplacer' => '<:menus:formulaire_ieconfig_remplacer:>'
+ )
+ )
+ );
+ } else {
+ $saisies[0]['saisies'][] = array(
+ 'saisie' => 'selection',
+ 'options' => array(
+ 'nom' => 'menus_importer_'.$identifiant,
+ 'label' => $identifiant.(isset($menu['titre']) ? ' ('.typo($menu['titre']).')' : ''),
+ 'cacher_option_intro' => 'oui',
+ 'datas' => array(
+ 'non' => '<:menus:formulaire_ieconfig_ne_pas_importer:>',
+ 'importer' => '<:menus:formulaire_ieconfig_importer:>'
+ )
+ )
+ );
+ }
+ }
+ $flux['data'] = array_merge($flux['data'], $saisies);
+ }
+
+ // Import de la configuration
+ if ($action=='import' && isset($flux['args']['config']['menus'])
+ && is_array($flux['args']['config']['menus']) && count($flux['args']['config']['menus']) > 0) {
+ foreach ($flux['args']['config']['menus'] as $identifiant => $menu) {
+ $choix = _request('menus_importer_'.$identifiant);
+ include_spip('base/abstract_sql');
+ include_spip('inc/menus');
+ include_spip('action/editer_menu');
+ if ($choix == 'remplacer') {
+ $id_menu = sql_getfetsel('id_menu', 'spip_menus', 'identifiant = '.sql_quote($identifiant));
+ menus_supprimer_menu(intval($id_menu));
+ }
+ if ($choix == 'renommer') {
+ $identifiant = $identifiant.'_'.time();
+ }
+ if (in_array($choix, array('importer','remplacer','renommer'))) {
+ $titre = isset($menu['titre']) ? $menu['titre'] : '';
+ $css = isset($menu['css']) ? $menu['css'] : '';
+ $id_menu = sql_insertq(
+ 'spip_menus',
+ array(
+ 'identifiant' => $identifiant,
+ 'titre' => $titre,
+ 'css' => $css
+ )
+ );
+ if (isset($menu['entrees'])) {
+ menus_importer($menu['entrees'], $id_menu);
+ }
+ }
+ }
+ }
+ return($flux);
+}