Valider cd712790 rédigé par eric@smellup.net's avatar eric@smellup.net
Parcourir les fichiers

Sauvegarde et restauration fonctionnelle.

parent 732b8f61
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+0 −8
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
#FORMULAIRE_SAUVEGARDE_CFG

[(#FORMULAIRE_RESTAURATION_CFG{#EVAL{_DIR_PLUGIN_SARKASPIP}|concat{fonds/},
	[(#ARRAY{
		titre, <:sarkaspip:cfg_boite_fond_restauration:>,
		legende, <:sarkaspip:cfg_lgd_fond_restauration:>,
		label, <:sarkaspip:cfg_lbl_fond_restauration:>,
		description, <:sarkaspip:cfg_inf_fond_restauration:>})]})]
+19 −18
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<!-- nom=sarkaspip_styles -->
[(#VAL{1}|debut_cadre_trait_couleur{1,"",#ENV{_titre}})]
<form method="post" action="#SELF"><div>
#ACTION_FORMULAIRE{#SELF}
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">

	<h3 class="titrem"><:sarkaspip:cfg_boite_fond_restauration:></h3>

	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
	[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
	<form method="post" action="#ENV{action}"><div>
		#ACTION_FORMULAIRE{#ENV{action}}
		<fieldset>
		<legend>#ENV{_legende}</legend>
		<p>#ENV**{_description}</p>
		<label>#ENV{_label}</label>
		<select name="fichier_a_restaurer">
			#ENV*{_fichiers_sauvegardes}
		</select>
			<legend><:sarkaspip:cfg_lgd_fond_restauration:></legend>
			<p><:sarkaspip:cfg_inf_fond_restauration:></p>
			<label><:sarkaspip:cfg_lbl_fond_restauration:></label>
			[<select name="fichier_a_restaurer">
				(#ENV*{_fichiers_sauvegardes})
			</select>]
		</fieldset>

	[<fieldset><div class="formulaire_message formulaire_message_ok">(#ENV*{message_ok})</div></fieldset>]
	[<fieldset><div class="formulaire_message formulaire_message_erreur">(#ENV*{message_nok})</div></fieldset>]

		<INCLURE{fond=noisettes/cfg/inc_cfg_boutons}{choix=valider_seul}>
	</div></form>
[(#VAL{1}|fin_cadre_trait_couleur)]
</div>
 No newline at end of file
+12 −21
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<?php
function formulaires_restauration_cfg_charger_dist($dir_fonds, $items_langue=array()){
	$items=array();
	foreach ($items_langue as $_cle => $_item) {
		$index = '_' . $_cle;
		$items[$index] = $_item;
	}

	$args = array_merge(array('_titre' => _T('cfg:charger_meta_titre'),
								'_legende' => _T('cfg:charger_meta_legende'),
								'_label' => _T('cfg:charger_meta_label'),
								'_description' => _T('cfg:charger_meta_description')),
								$items);

function formulaires_restauration_cfg_charger_dist(){
	$fonds = array();
	$fichiers_cfg = preg_files($dir_fonds, "cfg_[^/]*[.]html$");
	foreach ($fichiers_cfg as $_fichier) {
		$fond = substr(basename($_fichier,'.html'), 4);
	$pages_cfg = explode(':', _SARKASPIP_PAGES_CONFIG);
	foreach ($pages_cfg as $_page) {
		if ($_page != 'maintenance') {
			$fond = "sarkaspip_{$_page}";
			$fonds[$fond] = _T("sarkaspip:$fond");
		}
	}

	$dir = sous_repertoire(_DIR_TMP,"cfg");
	$saves = preg_files($dir, implode('|', array_flip($fonds)));
@@ -34,21 +24,22 @@ function formulaires_restauration_cfg_charger_dist($dir_fonds, $items_langue=arr
		$options .= '<option value="' . $_fichier . '">' . $nom . '</option>';
	}
	if ($options) $options .= '</optgroup>';
	$args = array_merge($args, array('_fichiers_sauvegardes' => $options));
	$valeurs = array('_fichiers_sauvegardes' => $options);

	return $args;
	return $valeurs;
}

function formulaires_restauration_cfg_verifier_dist($dir_fonds, $items_langue=array()){
function formulaires_restauration_cfg_verifier_dist(){
	return array();
}

function formulaires_restauration_cfg_traiter_dist($dir_fonds, $items_langue=array()){
function formulaires_restauration_cfg_traiter_dist(){
	$message=array();
	
	$fichier = _request('fichier_a_restaurer');
	lire_fichier($fichier,$tableau);

	include_spip('inc/config');
	$fond = end(explode('/', dirname($fichier)));
	$ok = ecrire_config($fond, $tableau);
	
+9 −3
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
[(#AUTORISER{webmestre}|sinon_interdire_acces)]
[<h1>(#VAL{sarkaspip:cfg_titre_}|concat{#ENV{cfg, accueil}}|_T)</h1>]

[(#SET{configurer, [(#ENV{type-page})_[(#ENV{cfg, accueil})]]})]
<div class='ajax'>
	[(#FORMULAIRE_{#GET{configurer}})]
</div>
[(#ENV{cfg, accueil}|=={maintenance}|non)
	[<div class='ajax'>(#FORMULAIRE_{#GET{configurer}})</div>]
]

[(#ENV{cfg, accueil}|=={maintenance}|oui)
	[<div class='ajax'>(#FORMULAIRE_SAUVEGARDE_CFG)</div>]
	[<div class='ajax'>(#FORMULAIRE_RESTAURATION_CFG)</div>]
]