Skip to content
Extraits de code Groupes Projets
Valider aeeecc09 rédigé par riedel.nobuyuki@yahoo.fr's avatar riedel.nobuyuki@yahoo.fr
Parcourir les fichiers

Amélioration de l'intégration de l'import de ieconfig directement dans l'outil...

Amélioration de l'intégration de l'import de ieconfig directement dans l'outil de configuration de SoyezCréateurs.
 - Quand on est dans un onglet donné on ne peut importer que la partie concernant celui-ci
 - Un message d'erreur invitant l'utilisateur à changer de fichier à importer est généré s'il n'y a pas de sauvegarde présente.
parent b20990b8
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -377,7 +377,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( ...@@ -377,7 +377,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'ieconfig_soyezcreateurs_import_option_choix' => 'Quel type d’import souhaitez-vous?', 'ieconfig_soyezcreateurs_import_option_choix' => 'Quel type d’import souhaitez-vous?',
'soyezcreateurs_import_ecraser' => 'Avec écrasement de la configuration existante', 'soyezcreateurs_import_ecraser' => 'Avec écrasement de la configuration existante',
'soyezcreateurs_import_soyezcreateurs_fusionner' => 'Avec fusion des configurations (import > existant)', 'soyezcreateurs_import_soyezcreateurs_fusionner' => 'Avec fusion des configurations (import > existant)',
'soyezcreateurs_import_soyezcreateurs_rien' => 'Ne pas importer' 'soyezcreateurs_import_soyezcreateurs_rien' => 'Ne pas importer',
'soyezcreateurs_import_soyezcreateurs_fusionner_inv' => 'En n’écrire que si paramètre manquant (existant > import)',
'ieconfig_soyezcreateurs_import_nofound_explication' => 'Aucune configuration trouvé pour cette onglet. Veuillez annuler l’importation et choisir une autre sauvegarde.'
); );
...@@ -69,17 +69,16 @@ function soyezcreateurs_importer_configuration($choix_sc,$choix_sc_l,$choix_sc_c ...@@ -69,17 +69,16 @@ function soyezcreateurs_importer_configuration($choix_sc,$choix_sc_l,$choix_sc_c
$soyezcreateurs_couleurs = $config['soyezcreateurs_couleurs']; $soyezcreateurs_couleurs = $config['soyezcreateurs_couleurs'];
$soyezcreateurs_google = $config['soyezcreateurs_google']; $soyezcreateurs_google = $config['soyezcreateurs_google'];
if ($choix_sc != 'rien' and $choix_sc !== null) {
if ($choix_sc != 'rien') {
$ok = insert_base_ieconfig($choix_sc,$soyezcreateurs); $ok = insert_base_ieconfig($choix_sc,$soyezcreateurs);
} }
if ($choix_sc_l != 'rien') { if ($choix_sc_l != 'rien' and $choix_sc_l !== null) {
$ok = insert_base_ieconfig($choix_sc_l,$soyezcreateurs_layout); $ok = insert_base_ieconfig($choix_sc_l,$soyezcreateurs_layout);
} }
if ($choix_sc_c != 'rien') { if ($choix_sc_c != 'rien' and $choix_sc_c !== null) {
$ok = insert_base_ieconfig($choix_sc_c,$soyezcreateurs_couleurs); $ok = insert_base_ieconfig($choix_sc_c,$soyezcreateurs_couleurs);
} }
if ($choix_sc_g != 'rien') { if ($choix_sc_g != 'rien' and $choix_sc_g !== null) {
$ok = insert_base_ieconfig($choix_sc_g,$soyezcreateurs_google); $ok = insert_base_ieconfig($choix_sc_g,$soyezcreateurs_google);
} }
...@@ -114,6 +113,27 @@ function insert_base_ieconfig($choix,$sections){ ...@@ -114,6 +113,27 @@ function insert_base_ieconfig($choix,$sections){
$import['valeur'] = array_merge($val_exist['valeur'],$import['valeur']); $import['valeur'] = array_merge($val_exist['valeur'],$import['valeur']);
$t = sql_delete('spip_meta','nom=\''.$import['nom'].'\'');
}
$import['valeur'] = serialize($import['valeur']);
$ok = sql_insertq('spip_meta', array('nom' => $import['nom'], 'valeur' => $import['valeur']));
}
if ($choix == 'fusion_inv') {
foreach ($sections as $section) {
$import = $section;
}
$nom = $import['nom'];
if (sql_countsel('spip_meta','nom=\''.$nom.'\'') != 0) {
$val_exist = sql_fetsel(
'nom, valeur',
'spip_meta',
'nom=\''.$nom.'\''
);
$val_exist['valeur'] = unserialize($val_exist['valeur']);
$import['valeur'] = array_merge($import['valeur'],$val_exist['valeur']);
$t = sql_delete('spip_meta','nom=\''.$import['nom'].'\''); $t = sql_delete('spip_meta','nom=\''.$import['nom'].'\'');
} }
$import['valeur'] = serialize($import['valeur']); $import['valeur'] = serialize($import['valeur']);
...@@ -129,4 +149,14 @@ function insert_base_ieconfig($choix,$sections){ ...@@ -129,4 +149,14 @@ function insert_base_ieconfig($choix,$sections){
return false; return false;
} }
}
function getURI(){
$adresse = $_SERVER['PHP_SELF'];
$i = 0;
foreach($_GET as $cle => $valeur){
$adresse .= ($i == 0 ? '?' : '&').$cle.($valeur ? '='.$valeur : '');
$i++;
}
return $adresse;
} }
\ No newline at end of file
<?php <?php
include_spip('soyezcreateurs_fonctions_ieconfig');
function soyezcreateurs_ieconfig($flux){ function soyezcreateurs_ieconfig($flux){
$action = $flux['args']['action']; $action = $flux['args']['action'];
...@@ -53,14 +53,13 @@ ...@@ -53,14 +53,13 @@
// Tableau d'export // Tableau d'export
if ($action == 'export' && _request('soyezcreateurs_export_option') == 'on') { if ($action == 'export' && _request('soyezcreateurs_export_option') == 'on') {
include_spip('soyezcreateurs_fonctions_ieconfig');
$flux['data']['soyezcreateurs'] = soyezcreateurs_tableau_export(_request('soyezcreateurs_export_choix')); $flux['data']['soyezcreateurs'] = soyezcreateurs_tableau_export(_request('soyezcreateurs_export_choix'));
} }
// Formulaire d'import // Formulaire d'import
if ($action == 'form_import' && isset($flux['args']['config']['soyezcreateurs'])) { if ($action == 'form_import' && isset($flux['args']['config']['soyezcreateurs'])) {
$url = getURI();
$saisies = array( $saisies = array(
array( array(
'saisie' => 'fieldset', 'saisie' => 'fieldset',
...@@ -72,8 +71,11 @@ ...@@ -72,8 +71,11 @@
), ),
); );
$s1 = array(); $s1 = array();
//on détermine quelles configuration sont effectivement sauvegarder //on détermine quelles configuration sont effectivement sauvegarder
foreach ($flux['args']['config']['soyezcreateurs'] as $section=>$exist){
if (strpos($url, '?exec=ieconfig_import')) {
foreach ($flux['args']['config']['soyezcreateurs'] as $section=>$exist){
$s1[] = array( $s1[] = array(
'saisie' => 'radio', 'saisie' => 'radio',
'options' => array( 'options' => array(
...@@ -82,19 +84,94 @@ ...@@ -82,19 +84,94 @@
'datas' => array( 'datas' => array(
'rien' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_rien:>', 'rien' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_rien:>',
'fusion' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_fusionner:>', 'fusion' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_fusionner:>',
'ecrase' => '<:soyezcreateursprive:soyezcreateurs_import_ecraser:>', 'ecrase' => '<:soyezcreateursprive:soyezcreateurs_import_ecraser:>',
'fusion_inv' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_fusionner_inv:>',
),
'defaut' => 'fusion',
)
);
}
}
elseif (strpos($url, '&cfg=soyezcreateurs_layout') and isset($flux['args']['config']['soyezcreateurs']['soyezcreateurs_layout'])) {
$s1[] = array(
'saisie' => 'radio',
'options' => array(
'nom' => 'soyezcreateurs_import_choix_soyezcreateurs_layout',
'label' => '<:soyezcreateursprive:ieconfig_soyezcreateurs_import_explication_soyezcreateurs_layout:>',
'datas' => array(
'rien' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_rien:>',
'fusion' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_fusionner:>',
'ecrase' => '<:soyezcreateursprive:soyezcreateurs_import_ecraser:>',
'fusion_inv' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_fusionner_inv:>',
),
'defaut' => 'fusion',
)
);
}
elseif (strpos($url, '&cfg=soyezcreateurs_couleurs') and isset($flux['args']['config']['soyezcreateurs']['soyezcreateurs_couleurs'])) {
$s1[] = array(
'saisie' => 'radio',
'options' => array(
'nom' => 'soyezcreateurs_import_choix_soyezcreateurs_couleurs',
'label' => '<:soyezcreateursprive:ieconfig_soyezcreateurs_import_explication_soyezcreateurs_couleurs:>',
'datas' => array(
'rien' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_rien:>',
'fusion' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_fusionner:>',
'ecrase' => '<:soyezcreateursprive:soyezcreateurs_import_ecraser:>',
'fusion_inv' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_fusionner_inv:>',
),
'defaut' => 'fusion',
)
);
}
elseif (strpos($url, '&cfg=soyezcreateurs_google') and isset($flux['args']['config']['soyezcreateurs']['soyezcreateurs_google'])) {
$s1[] = array(
'saisie' => 'radio',
'options' => array(
'nom' => 'soyezcreateurs_import_choix_soyezcreateurs_google',
'label' => '<:soyezcreateursprive:ieconfig_soyezcreateurs_import_explication_soyezcreateurs_google:>',
'datas' => array(
'rien' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_rien:>',
'fusion' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_fusionner:>',
'ecrase' => '<:soyezcreateursprive:soyezcreateurs_import_ecraser:>',
'fusion_inv' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_fusionner_inv:>',
), ),
'defaut' => 'fusion', 'defaut' => 'fusion',
) )
); );
} }
elseif (strpos($url, '&cfg=soyezcreateurs') and isset($flux['args']['config']['soyezcreateurs']['soyezcreateurs'])) {
$s1[] = array(
'saisie' => 'radio',
'options' => array(
'nom' => 'soyezcreateurs_import_choix_soyezcreateurs',
'label' => '<:soyezcreateursprive:ieconfig_soyezcreateurs_import_explication_soyezcreateurs:>',
'datas' => array(
'rien' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_rien:>',
'fusion' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_fusionner:>',
'ecrase' => '<:soyezcreateursprive:soyezcreateurs_import_ecraser:>',
'fusion_inv' => '<:soyezcreateursprive:soyezcreateurs_import_soyezcreateurs_fusionner_inv:>',
),
'defaut' => 'fusion',
)
);
}
else {
$s1[] = array(
'saisie' => 'explication',
'options' => array(
'nom' => 'soyezcreateurs_nofound_explication',
'texte' => '<:soyezcreateursprive:ieconfig_soyezcreateurs_import_nofound_explication:>',
)
);
}
$saisies[0]['saisies'] = $s1; $saisies[0]['saisies'] = $s1;
$flux['data'] = array_merge($flux['data'], $saisies); $flux['data'] = array_merge($flux['data'], $saisies);
} }
// Import de la configuration // Import de la configuration
if ($action == 'import' && isset($flux['args']['config']['soyezcreateurs'])) { if ($action == 'import' && isset($flux['args']['config']['soyezcreateurs'])) {
include_spip('soyezcreateurs_fonctions_ieconfig');
if (!soyezcreateurs_importer_configuration( if (!soyezcreateurs_importer_configuration(
_request('soyezcreateurs_import_choix_soyezcreateurs'), _request('soyezcreateurs_import_choix_soyezcreateurs'),
_request('soyezcreateurs_import_choix_soyezcreateurs_layout'), _request('soyezcreateurs_import_choix_soyezcreateurs_layout'),
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter