[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / plugins / menus_1 / menus_ieconfig.php
index d6bc84d..65cc09f 100644 (file)
-<?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);
+}