--- /dev/null
+<?php\r
+if (!defined("_ECRIRE_INC_VERSION")) return;\r
+\r
+function ieconfig_saisies_export() {\r
+ $saisies = array (\r
+ // Options d'export\r
+ array(\r
+ 'saisie' => 'fieldset',\r
+ 'options' => array(\r
+ 'nom' => 'ieconfig_export',\r
+ 'label' => '<:ieconfig:label_ieconfig_export:>',\r
+ 'icone' => 'img/ieconfig-export.png'\r
+ ),\r
+ 'saisies' => array(\r
+ array(\r
+ 'saisie' => 'input',\r
+ 'options' => array(\r
+ 'nom' => 'ieconfig_export_nom',\r
+ 'label' => '<:ieconfig:label_ieconfig_export_nom:>',\r
+ 'obligatoire' => 'oui',\r
+ 'defaut' => $GLOBALS['meta']['nom_site'].' - '.date('Y/m/d')\r
+ )\r
+ ),\r
+ array(\r
+ 'saisie' => 'textarea',\r
+ 'options' => array(\r
+ 'nom' => 'ieconfig_export_description',\r
+ 'label' => '<:ieconfig:label_ieconfig_export_description:>',\r
+ 'rows' => 4\r
+ )\r
+ ),\r
+ array(\r
+ 'saisie' => 'explication',\r
+ 'options' => array(\r
+ 'nom' => 'ieconfig_export_explication',\r
+ 'texte' => '<:ieconfig:texte_ieconfig_export_explication:>'\r
+ )\r
+ ),\r
+ array(\r
+ 'saisie' => 'selection',\r
+ 'options' => array(\r
+ 'nom' => 'ieconfig_export_choix',\r
+ 'label' => '<:ieconfig:label_ieconfig_export_choix:>',\r
+ 'cacher_option_intro' => 'oui',\r
+ 'defaut' => 'telecharger',\r
+ 'datas' => array(\r
+ 'sauvegarder' => '<:ieconfig:item_sauvegarder:>',\r
+ 'telecharger' => '<:ieconfig:item_telecharger:>'\r
+ )\r
+ )\r
+ )\r
+ )\r
+ ),\r
+ // Exporter la configuration du contenu du site SPIP\r
+ array(\r
+ 'saisie' => 'fieldset',\r
+ 'options' => array(\r
+ 'nom' => 'spip_contenu',\r
+ 'label' => '<:spip:onglet_contenu_site:>',\r
+ 'icone' => 'images/racine-site-24.gif'\r
+ ),\r
+ 'saisies' => array(\r
+ array(\r
+ 'saisie' => 'explication',\r
+ 'options' => array(\r
+ 'nom' => 'spip_contenu_explication',\r
+ 'texte' => '<:ieconfig:texte_spip_contenu_export_explication:>'\r
+ )\r
+ ),\r
+ array(\r
+ 'saisie' => 'selection_multiple',\r
+ 'options' => array(\r
+ 'nom' => 'spip_contenu_choix',\r
+ 'label' => '<:ieconfig:label_elements_a_exporter:>',\r
+ 'cacher_option_intro' => 'oui',\r
+ 'datas' => array(\r
+ 'articles' => '<:ecrire:titre_page_articles_page:>',\r
+ 'rubriques' => '<:icone_rubriques:>',\r
+ 'breves' => '<:ecrire:titre_breves:>',\r
+ 'mots' => '<:info_mots_cles:>',\r
+ 'logos' => '<:info_logos:>',\r
+ 'documents' => '<:titre_documents_joints:>',\r
+ 'sites' => '<:titre_referencement_sites:>'\r
+ )\r
+ )\r
+ )\r
+ )\r
+ ),\r
+ // Onglet Interactivité\r
+ array(\r
+ 'saisie' => 'fieldset',\r
+ 'options' => array(\r
+ 'nom' => 'spip_interactivite',\r
+ 'label' => '<:spip:onglet_interactivite:>',\r
+ 'icone' => 'images/forum-interne-24.gif'\r
+ ),\r
+ 'saisies' => array(\r
+ array(\r
+ 'saisie' => 'explication',\r
+ 'options' => array(\r
+ 'nom' => 'spip_interactivite_explication',\r
+ 'texte' => '<:ieconfig:texte_spip_interactivite_export_explication:>'\r
+ )\r
+ ),\r
+ array(\r
+ 'saisie' => 'selection_multiple',\r
+ 'options' => array(\r
+ 'nom' => 'spip_interactivite_choix',\r
+ 'label' => '<:ieconfig:label_elements_a_exporter:>',\r
+ 'cacher_option_intro' => 'oui',\r
+ 'datas' => array(\r
+ 'participants' => '<:ecrire:info_mode_fonctionnement_defaut_forum_public:>',\r
+ 'contenu_forums' => '<:spip:titre_forum:>',\r
+ 'redacteurs' => '<:ecrire:info_inscription_automatique:>',\r
+ 'visiteurs' => '<:ecrire:info_visiteurs:>',\r
+ 'forums_prives' => '<:ecrire:titre_config_forums_prive:>',\r
+ 'messagerie_agenda' => '<:ecrire:titre_messagerie_agenda:>',\r
+ 'annonces' => '<:ecrire:info_envoi_email_automatique:>',\r
+ 'notifications_forum' => '<:ecrire:info_envoi_forum:>'\r
+ )\r
+ )\r
+ )\r
+ )\r
+ )\r
+ );\r
+ // On passe via le pipeline ieconfig\r
+ $saisies = pipeline('ieconfig',array(\r
+ 'args' => array(\r
+ 'action' => 'form_export'\r
+ ),\r
+ 'data' => $saisies\r
+ ));\r
+ // Gestion des plugins utilisant le pipeline ieconfig_metas\r
+ foreach(pipeline('ieconfig_metas',array()) as $prefixe => $data){\r
+ $saisies[] = array(\r
+ 'saisie' => 'fieldset',\r
+ 'options' => array(\r
+ 'nom' => $prefixe,\r
+ 'label' => isset($data['titre']) ? $data['titre'] : $prefixe,\r
+ 'icone' => isset($data['icone']) ? $data['icone'] : ''\r
+ ),\r
+ 'saisies' => array(\r
+ array(\r
+ 'saisie' => 'oui_non',\r
+ 'options' => array(\r
+ 'nom' => 'export_'.$prefixe,\r
+ 'label' => _T('ieconfig:label_exporter'),\r
+ 'defaut' => ''\r
+ )\r
+ )\r
+ )\r
+ );\r
+ }\r
+ return $saisies;\r
+}\r
+\r
+function formulaires_ieconfig_export_charger_dist() {\r
+ $saisies = ieconfig_saisies_export();\r
+ $contexte = array(\r
+ '_saisies' => $saisies\r
+ );\r
+ \r
+ return array_merge(saisies_charger_champs($saisies),$contexte);\r
+}\r
+\r
+function formulaires_ieconfig_export_verifier_dist() {\r
+ include_spip('inc/saisies');\r
+ return saisies_verifier(ieconfig_saisies_export());\r
+}\r
+\r
+function formulaires_ieconfig_export_traiter_dist() {\r
+ $export = array();\r
+ $export['nom'] = _request('ieconfig_export_nom');\r
+ if (_request('ieconfig_export_description') != '')\r
+ $export['description'] = _request('ieconfig_export_description');\r
+ \r
+ // Configuration du contenu du site SPIP\r
+ if (count(_request('spip_contenu_choix'))>0) {\r
+ $export['spip_contenu'] = array();\r
+ foreach(_request('spip_contenu_choix') as $choix) \r
+ switch ($choix) {\r
+ case 'articles':\r
+ $export['spip_contenu']["articles_surtitre"] = $GLOBALS['meta']["articles_surtitre"];\r
+ $export['spip_contenu']["articles_soustitre"] = $GLOBALS['meta']["articles_soustitre"];\r
+ $export['spip_contenu']["articles_descriptif"] = $GLOBALS['meta']["articles_descriptif"];\r
+ $export['spip_contenu']["articles_chapeau"] = $GLOBALS['meta']["articles_chapeau"];\r
+ $export['spip_contenu']["articles_texte"] = $GLOBALS['meta']["articles_texte"];\r
+ $export['spip_contenu']["articles_ps"] = $GLOBALS['meta']["articles_ps"];\r
+ $export['spip_contenu']["articles_redac"] = $GLOBALS['meta']["articles_redac"];\r
+ $export['spip_contenu']["articles_urlref"] = $GLOBALS['meta']["articles_urlref"];\r
+ $export['spip_contenu']["post_dates"] = $GLOBALS['meta']["post_dates"];\r
+ $export['spip_contenu']["articles_redirection"] = $GLOBALS['meta']["articles_redirection"];\r
+ break;\r
+ case 'rubriques':\r
+ $export['spip_contenu']["rubriques_descriptif"] = $GLOBALS['meta']["rubriques_descriptif"];\r
+ $export['spip_contenu']["rubriques_texte"] = $GLOBALS['meta']["rubriques_texte"];\r
+ break;\r
+ case 'breves':\r
+ $export['spip_contenu']["activer_breves"] = $GLOBALS['meta']["activer_breves"];\r
+ break;\r
+ case 'mots':\r
+ $export['spip_contenu']["articles_mots"] = $GLOBALS['meta']["articles_mots"];\r
+ $export['spip_contenu']["config_precise_groupes"] = $GLOBALS['meta']["config_precise_groupes"];\r
+ $export['spip_contenu']["mots_cles_forums"] = $GLOBALS['meta']["mots_cles_forums"];\r
+ break;\r
+ case 'logos':\r
+ $export['spip_contenu']["activer_logos"] = $GLOBALS['meta']["activer_logos"];\r
+ $export['spip_contenu']["activer_logos_survol"] = $GLOBALS['meta']["activer_logos_survol"];\r
+ break;\r
+ case 'documents':\r
+ $export['spip_contenu']["documents_article"] = $GLOBALS['meta']["documents_article"];\r
+ $export['spip_contenu']["documents_rubrique"] = $GLOBALS['meta']["documents_rubrique"];\r
+ $export['spip_contenu']["documents_date"] = $GLOBALS['meta']["documents_date"];\r
+ break;\r
+ case 'sites':\r
+ $export['spip_contenu']["activer_sites"] = $GLOBALS['meta']['activer_sites'];\r
+ $export['spip_contenu']["activer_syndic"] = $GLOBALS['meta']["activer_syndic"];\r
+ $export['spip_contenu']["proposer_sites"] = $GLOBALS['meta']["proposer_sites"];\r
+ $export['spip_contenu']["moderation_sites"] = $GLOBALS['meta']["moderation_sites"];\r
+ break;\r
+ }\r
+ }\r
+ \r
+ // Onglet Interactivité (configuration de spip)\r
+ if (count(_request('spip_interactivite_choix'))>0) {\r
+ $export['spip_interactivite'] = array();\r
+ foreach(_request('spip_interactivite_choix') as $choix) \r
+ switch ($choix) {\r
+ case 'participants':\r
+ $export['spip_interactivite']['forums_publics'] = $GLOBALS['meta']["forums_publics"];\r
+ break;\r
+ case 'contenu_forums':\r
+ $export['spip_interactivite']['forums_titre'] = $GLOBALS['meta']["forums_titre"];\r
+ $export['spip_interactivite']['forums_texte'] = $GLOBALS['meta']["forums_texte"];\r
+ $export['spip_interactivite']['forums_urlref'] = $GLOBALS['meta']["forums_urlref"];\r
+ $export['spip_interactivite']['forums_afficher_barre'] = $GLOBALS['meta']["forums_afficher_barre"];\r
+ break;\r
+ case 'redacteurs':\r
+ $export['spip_interactivite']['accepter_inscriptions'] = $GLOBALS['meta']["accepter_inscriptions"];\r
+ break;\r
+ case 'visiteurs':\r
+ $export['spip_interactivite']['accepter_visiteurs'] = $GLOBALS['meta']["accepter_visiteurs"];\r
+ break;\r
+ case 'forums_prives':\r
+ $export['spip_interactivite']['forum_prive_objets'] = $GLOBALS['meta']["forum_prive_objets"];\r
+ $export['spip_interactivite']['forum_prive'] = $GLOBALS['meta']["forum_prive"];\r
+ $export['spip_interactivite']['forum_prive_admin'] = $GLOBALS['meta']["forum_prive_admin"];\r
+ break;\r
+ case 'messagerie_agenda':\r
+ $export['spip_interactivite']['messagerie_agenda'] = $GLOBALS['meta']["messagerie_agenda"];\r
+ break;\r
+ case 'annonces':\r
+ $export['spip_interactivite']['suivi_edito'] = $GLOBALS['meta']["suivi_edito"];\r
+ $export['spip_interactivite']['adresse_suivi'] = $GLOBALS['meta']["adresse_suivi"];\r
+ $export['spip_interactivite']['adresse_suivi_inscription'] = $GLOBALS['meta']["adresse_suivi_inscription"];\r
+ $export['spip_interactivite']['quoi_de_neuf'] = $GLOBALS['meta']["quoi_de_neuf"];\r
+ $export['spip_interactivite']['adresse_neuf'] = $GLOBALS['meta']["adresse_neuf"];\r
+ $export['spip_interactivite']['jours_neuf'] = $GLOBALS['meta']["jours_neuf"];\r
+ $export['spip_interactivite']['email_envoi'] = $GLOBALS['meta']["email_envoi"];\r
+ break;\r
+ case 'notifications_forum':\r
+ $export['spip_interactivite']['prevenir_auteurs'] = $GLOBALS['meta']["prevenir_auteurs"];\r
+ break;\r
+ }\r
+ }\r
+ \r
+ // On passe via le pipeline ieconfig\r
+ $export = pipeline('ieconfig',array(\r
+ 'args' => array(\r
+ 'action' => 'export'\r
+ ),\r
+ 'data' => $export\r
+ ));\r
+ \r
+ // Gestion des plugins utilisant le pipeline ieconfig_metas\r
+ foreach(pipeline('ieconfig_metas',array()) as $prefixe => $data){\r
+ if(_request('export_'.$prefixe)=='on') {\r
+ $export_plugin = array();\r
+ if(isset($data['metas_brutes']))\r
+ foreach(explode(',',$data['metas_brutes']) as $meta)\r
+ if (isset($GLOBALS['meta'][$meta]))\r
+ $export_plugin[$meta] = $GLOBALS['meta'][$meta];\r
+ if(isset($data['metas_serialize']))\r
+ foreach(explode(',',$data['metas_serialize']) as $meta)\r
+ if (isset($GLOBALS['meta'][$meta]))\r
+ $export_plugin[$meta] = unserialize($GLOBALS['meta'][$meta]);\r
+ if (count($export_plugin)>0)\r
+ $export[$prefixe] = $export_plugin;\r
+ }\r
+ }\r
+ \r
+ // On encode en yaml\r
+ include_spip('inc/yaml');\r
+ $export = yaml_encode($export,array('inline'=>20));\r
+ \r
+ // Nom du fichier\r
+ include_spip('inc/texte');\r
+ $site = isset($GLOBALS['meta']['nom_site'])\r
+ ? preg_replace(array(",\W,is",",_(?=_),",",_$,"),array("_","",""), couper(translitteration(trim($GLOBALS['meta']['nom_site'])),30,""))\r
+ : 'spip';\r
+ $filename = $site.'_'.date('Y-m-d_H-i').'.yaml';\r
+ \r
+ // Si telechargement\r
+ if(_request('ieconfig_export_choix')=='telecharger') {\r
+ refuser_traiter_formulaire_ajax();\r
+ Header("Content-Type: text/x-yaml;");\r
+ Header("Content-Disposition: attachment; filename=$filename");\r
+ Header("Content-Length: ".strlen($export));\r
+ echo $export;\r
+ exit;\r
+ } else {\r
+ sous_repertoire(_DIR_TMP, 'ieconfig');\r
+ if (ecrire_fichier(_DIR_TMP . 'ieconfig/'.$filename , $export))\r
+ return array('message_ok' => _T('ieconfig:message_ok_export',array('filename'=>$filename)));\r
+ else\r
+ return array('message_erreur' => _T('ieconfig:message_erreur_export',array('filename'=>$filename)));\r
+ }\r
+}\r
+\r
+?>
\ No newline at end of file