From 54b5efd1d829759e0873ca6865695034f633aefa Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 8 Aug 2020 17:06:06 +0200 Subject: [PATCH 1/6] =?UTF-8?q?init=20+=20am=C3=A9liorer=20la=20notificati?= =?UTF-8?q?on=20finale.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core.js.php | 24 +++--- core/layout/common.css | 2 +- core/module/config/config.php | 9 +- core/module/config/view/backup/backup.css | 36 +++++++- core/module/config/view/backup/backup.js.php | 31 +++++++ core/module/config/view/backup/backup.php | 10 ++- core/module/config/view/manage/manage.php | 4 +- core/module/config/view/restore/restore.css | 15 ---- core/module/config/view/restore/restore.php | 85 ------------------- core/module/theme/theme.php | 2 +- core/module/theme/view/manage/manage.php | 13 ++- core/vendor/zwiico/img/ajax-loader.gif | Bin 0 -> 673 bytes index.php | 1 + 13 files changed, 106 insertions(+), 126 deletions(-) create mode 100644 core/module/config/view/backup/backup.js.php delete mode 100755 core/module/config/view/restore/restore.css delete mode 100755 core/module/config/view/restore/restore.php create mode 100644 core/vendor/zwiico/img/ajax-loader.gif diff --git a/core/core.js.php b/core/core.js.php index 2342eb13..7165ee17 100755 --- a/core/core.js.php +++ b/core/core.js.php @@ -346,8 +346,8 @@ core.start = function() { var ratio = width / height; if ( ($(window).width() / ratio) <= height) { $("header").height( $(window).width() / ratio ); - $("header").css("line-height", $(window).width() / ratio + "px"); - } + $("header").css("line-height", $(window).width() / ratio + "px"); + } } }).trigger("resize"); @@ -389,7 +389,7 @@ core.relativeLuminanceW3C = function(rgba) { $(document).ready(function(){ /** - * Affiche le sous-menu quand il est sticky + * Affiche le sous-menu quand il est sticky */ $("nav").mouseenter(function(){ $("#navfixedlogout .navLevel2").css({ 'pointer-events' : 'auto' }); @@ -414,7 +414,7 @@ $(document).ready(function(){ // on récupère la valeur data-speed si elle existe var toggleSpeed = accordion.attr('data-speed') || 100; - // fonction pour afficher un élément + // fonction pour afficher un élément function open(item, speed) { // on récupère tous les éléments, on enlève l'élément actif de ce résultat, et on les cache accordion.find('.accordion-item').not(item).removeClass('active') @@ -428,32 +428,32 @@ $(document).ready(function(){ .find('.accordion-content').slideUp(speed); } - // on initialise l'accordéon, sans animation + // on initialise l'accordéon, sans animation open(accordion.find('.active:first'), 0); // au clic sur un titre... accordion.on('click', '.accordion-title', function(ev) { - ev.preventDefault(); + ev.preventDefault(); // Masquer l'élément déjà actif if ($(this).closest('.accordion-item').hasClass('active')) { close($(this).closest('.accordion-item'), toggleSpeed); } else { - // ...on lance l'affichage de l'élément, avec animation - open($(this).closest('.accordion-item'), toggleSpeed); + // ...on lance l'affichage de l'élément, avec animation + open($(this).closest('.accordion-item'), toggleSpeed); } }); }); /** - * Icône du Menu Burger + * Icône du Menu Burger */ - $("#toggle").click(function() { + $("#toggle").click(function() { var changeIcon = $('#toggle').children("span"); if ( $(changeIcon).hasClass('zwiico-menu') ) { $(changeIcon).removeClass('zwiico-menu').addClass('zwiico-cancel'); } - else { + else { $(changeIcon).addClass('zwiico-menu'); }; }); -}); \ No newline at end of file +}); diff --git a/core/layout/common.css b/core/layout/common.css index 9cff5bb0..884aa9f3 100755 --- a/core/layout/common.css +++ b/core/layout/common.css @@ -455,7 +455,7 @@ header .container { font-size: 0.9em; } -/* Menu +/* Menu body > nav { margin: 0 -10px; } diff --git a/core/module/config/config.php b/core/module/config/config.php index 21f5ba1b..e0f5da66 100755 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -8,7 +8,7 @@ * * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean - * * @author Frédéric Tempez + * @author Frédéric Tempez * @copyright Copyright (C) 2018-2020, Frédéric Tempez * @license GNU General Public License, version 3 * @link http://zwiicms.com/ @@ -246,8 +246,12 @@ class config extends common { // Creation du ZIP $filter = $this->getInput('configBackupOption',helper::FILTER_BOOLEAN) === true ? ['backup','tmp'] : ['backup','tmp','file']; $fileName = helper::autoBackup(self::TEMP_DIR,$filter); + if (!is_dir(self::FILE_DIR.'source/backup')) { + mkdir(self::FILE_DIR.'source/backup'); + } + copy (self::TEMP_DIR . $fileName , self::FILE_DIR.'source/backup/' . $fileName); - // Téléchargement du ZIP + /*// Téléchargement du ZIP // NE marche pas avec le spinner header('Content-Type: application/zip'); header('Content-Disposition: attachment; filename="' . $fileName . '"'); header('Content-Length: ' . filesize(self::TEMP_DIR . $fileName)); @@ -256,6 +260,7 @@ class config extends common { $this->addOutput([ 'display' => self::DISPLAY_RAW ]); + */ unlink(self::TEMP_DIR . $fileName); } else { // Valeurs en sortie diff --git a/core/module/config/view/backup/backup.css b/core/module/config/view/backup/backup.css index 6faa3a6a..823be7d8 100755 --- a/core/module/config/view/backup/backup.css +++ b/core/module/config/view/backup/backup.css @@ -12,4 +12,38 @@ * @link http://zwiicms.com/ */ -@import url("site/data/admin.css"); \ No newline at end of file +@import url("site/data/admin.css"); + +/** +* Effet d'animation +*/ +/* Start by setting display:none to make this hidden. + Then we position it in relation to the viewport window + with position:fixed. Width, height, top and left speak + for themselves. Background we set to 80% white with + our animation centered, and no-repeating */ +.modal { +display: none; + position: fixed; + z-index: 1000; + top: 0; + left: 0; + height: 100%; + width: 100%; + background: rgba( 255, 255, 255, .2 ) + url('core/vendor/zwiico/img/ajax-loader.gif') + 50% 50% + no-repeat; + } + + /* When the body has the loading class, we turn + the scrollbar off with overflow:hidden */ + body.loading .modal { + overflow: hidden; + } + + /* Anytime the body has the loading class, our + modal element will be visible */ + body.loading .modal { + display: block; + } \ No newline at end of file diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php new file mode 100644 index 00000000..833985e3 --- /dev/null +++ b/core/module/config/view/backup/backup.js.php @@ -0,0 +1,31 @@ +/** + * This file is part of Zwii. + * + * For full copyright and license information, please see the LICENSE + * file that was distributed with this source code. + * + * @author Frédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez + * @license GNU General Public License, version 3 + * @link http://zwiicms.com/ + */ + +$( document).ready(function() { + $("#configBackupForm").submit( function(e){ + console.log('click'); + e.preventDefault(); + $("body").addClass("loading"); + var url = "getUrl(0); ?>/backup"; + $.ajax({ + type: "POST", + url: url, + data: $("form").serialize(), + complete: function(r, s){ + $("body").removeClass("loading"); + $("body").append("
Sauvegarde générée avec succès !
"); + $("#notification").delay("3000").fadeOut("1000"); + }, + }); + }); +}); + diff --git a/core/module/config/view/backup/backup.php b/core/module/config/view/backup/backup.php index b4ff41e6..3863255a 100755 --- a/core/module/config/view/backup/backup.php +++ b/core/module/config/view/backup/backup.php @@ -10,10 +10,11 @@
'Valider', - 'ico' => 'check' - ]); ?> + 'value' => 'Sauvegarder', + 'ico' => 'download-cloud' + ]); ?>
+
@@ -26,6 +27,9 @@ 'help' => 'Cette option n\'est pas recommandée lorsque le contenu du gestionnaire de fichiers est très volumineux.' ]); ?>
+
+ Le fichier de sauvegarde est généré dans le dossier Backup du gestionnaire de fichiers. +
diff --git a/core/module/config/view/manage/manage.php b/core/module/config/view/manage/manage.php index cd951922..953ac7a7 100755 --- a/core/module/config/view/manage/manage.php +++ b/core/module/config/view/manage/manage.php @@ -10,8 +10,8 @@
'Valider', - 'ico' => 'check' + 'value' => 'Restaurer', + 'ico' => 'upload' ]); ?>
diff --git a/core/module/config/view/restore/restore.css b/core/module/config/view/restore/restore.css deleted file mode 100755 index 6faa3a6a..00000000 --- a/core/module/config/view/restore/restore.css +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file is part of Zwii. - * - * For full copyright and license information, please see the LICENSE - * file that was distributed with this source code. - * - * @author Rémi Jean - * @copyright Copyright (C) 2008-2018, Rémi Jean - * @author Frédéric Tempez - * @copyright Copyright (C) 2018-2020, Frédéric Tempez - * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ - */ - -@import url("site/data/admin.css"); \ No newline at end of file diff --git a/core/module/config/view/restore/restore.php b/core/module/config/view/restore/restore.php deleted file mode 100755 index 8c4fc4ff..00000000 --- a/core/module/config/view/restore/restore.php +++ /dev/null @@ -1,85 +0,0 @@ - -
-
- 'buttonGrey', - 'href' => helper::baseUrl() . 'config', - 'ico' => 'left', - 'value' => 'Retour' - ]); ?> -
-
- 'Restaurer', - 'ico' => 'upload' - ]); ?> -
-
-
-
-
-

Restauration ou transfert d'un site

-
-
- 'Sélectionnez une sauvegarde au format ZIP', - 'type' => 2, - 'help' => 'L\'archive a été déposée dans le gestionnaire de fichiers. Les archives inférieures à la version 9 ne sont pas acceptées.' - ]); ?> -
-
-
-
- true, - 'help' => 'Les données des utilisateurs installés ne sont pas écrasés par la restauration quand l\'option est active.' - ]); ?> -
-
-
-
-
-
-
-
-

Conversion des URL après transfert de site

-
-
- getData(['core', 'baseUrl'])) ) { - $baseUrlValue = 'Pas de donnée dans la sauvegarde'; - $buttonClass = 'disabled'; - } elseif ($this->getData(['core', 'baseUrl']) === '') { - $baseUrlValue = '/'; - $buttonClass = (helper::baseUrl(true,false) !== $this->getData(['core', 'baseUrl']) ) ? '' : 'disabled'; - } else { - $baseUrlValue = $this->getData(['core', 'baseUrl']); - $buttonClass = (helper::baseUrl(true,false) !== $this->getData(['core', 'baseUrl']) ) ? '' : 'disabled'; - } - echo template::text('configRestoreBaseURLToConvert', [ - 'label' => 'Dossier d\'installation de l\'archive' , - 'value' => $baseUrlValue, - 'readonly' => true, - 'help' => 'Lors de la restauration d\'un backup d\'une version 9.2.10 ou supérieure, l\'URL de base est stockée dans la configuration sinon cette donnée est vide.' - ]); ?> -
-
- 'Dossier du site actuel', - 'value' => helper::baseUrl(true,false), - 'readonly' => true, - 'help' => 'Dossier du site installé.' - ]); ?> -
-
- helper::baseUrl() . 'config/updateBaseUrl', - 'class' => $buttonClass, - 'value' => 'convertir' - ]); ?> -
-
-
-
-
- diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php index 498960e5..529d6900 100755 --- a/core/module/theme/theme.php +++ b/core/module/theme/theme.php @@ -669,7 +669,7 @@ class theme extends common { unlink (self::TEMP_DIR . $zipFilename); // Valeurs en sortie $this->addOutput([ - 'notification' => 'Archive '.$zipFilename.' sauvegardée dans fichiers', + 'notification' => 'Archive '.$zipFilename.' sauvegardée avec succès', 'redirect' => helper::baseUrl() . 'theme/manage', 'state' => true ]); diff --git a/core/module/theme/view/manage/manage.php b/core/module/theme/view/manage/manage.php index ad86da93..ff7a28ba 100755 --- a/core/module/theme/view/manage/manage.php +++ b/core/module/theme/view/manage/manage.php @@ -26,7 +26,7 @@ 'Appliquer' ]); ?> - + @@ -49,6 +49,11 @@ ]); ?> +
+
+ Le fichier de sauvegarde est généré dans le dossier Thème du gestionnaire de fichiers. +
+

Télécharger le thème

@@ -59,16 +64,16 @@ 'ico' => 'download', 'value' => 'Thème site' ]); ?> -
+
helper::baseUrl() . 'theme/export/admin', 'ico' => 'download', 'value' => 'Thème administration' ]); ?> -
+ - + diff --git a/core/vendor/zwiico/img/ajax-loader.gif b/core/vendor/zwiico/img/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..d0bce1542342e912da81a2c260562df172f30d73 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nnmm28Kh24mmkF0U1e2Nli^nlO|14{Lk&@8WQa67~pE8 zXTZz|lvDgC+Z`3#dv5h=E26FfcG1 zbL_hF&)}42ws10s6^G;;cE1^EoUR)U5A70}d2pLv!jVIT7j&Z~EblI3x0K*v_sV|m z0kj3v921Z^em#l`(k(o@H$3ZdDRc@9NidXDNbqrumReCGv$gd8+e8WW28HVqkJ_9i zH>s*<31KtHjANIPvi2#*6BEu%3Dak5O_t&NBI)H?V$TxT}#l{vOTn5naXTfF^&~Hhq+NX@#Ccc>y7T?;vjI&jdhsDsPJyAw*m0Qz>i}K7# zL9w50Ng{fT}A5JUe8lRK1h7_Y2;BWJDd=c6f&i?Wv5(5q?6|P zQw{>maxZP<537OA37Uk}7@%_$4o$EWe_Zl>&#id|lE-BpDC#+Fn|msJ%_2h{Hg1vP z#N8WAzfWasG}yq|xqE)DrWaOofX=z|?*pgc%{ig5vl!pqDlC|q&~Z0$&Rvsft&VO- z4MZj+%-+Vx%W}v;V76hyp=;+R;x+~t^Q%*xuFTQAF2})fSfTHDAs>sO!OBw`)&)o$ c0!CNZt))x~rAZP^^P&YOFfdqy5)K#u0POD40{{R3 literal 0 HcmV?d00001 diff --git a/index.php b/index.php index 19518a72..0a03051a 100755 --- a/index.php +++ b/index.php @@ -28,6 +28,7 @@ setlocale (LC_TIME, 'fra_FRA', 'french'); /** * Initialisation de Zwii */ + session_start(); // Chargement des classes require 'core/class/autoload.php'; From 14e0499bc8606864bb95c679566b718c40c20996 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 8 Aug 2020 17:14:52 +0200 Subject: [PATCH 2/6] Virer les icones de bouton + petites modifs --- core/module/config/view/backup/backup.js.php | 4 ++-- core/module/config/view/backup/backup.php | 3 +-- core/module/config/view/index/index.php | 6 ++---- core/module/config/view/manage/manage.php | 3 +-- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php index 833985e3..7ad52f44 100644 --- a/core/module/config/view/backup/backup.js.php +++ b/core/module/config/view/backup/backup.js.php @@ -22,9 +22,9 @@ $( document).ready(function() { data: $("form").serialize(), complete: function(r, s){ $("body").removeClass("loading"); - $("body").append("
Sauvegarde générée avec succès !
"); + $("body").append("
Sauvegarde réalisée avec succès !
"); $("#notification").delay("3000").fadeOut("1000"); - }, + } }); }); }); diff --git a/core/module/config/view/backup/backup.php b/core/module/config/view/backup/backup.php index 3863255a..e1778c99 100755 --- a/core/module/config/view/backup/backup.php +++ b/core/module/config/view/backup/backup.php @@ -10,8 +10,7 @@
'Sauvegarder', - 'ico' => 'download-cloud' + 'value' => 'Sauvegarder' ]); ?>
diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php index f7939075..a5d149c4 100755 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -11,15 +11,13 @@
helper::baseUrl() . 'config/backup', - 'value' => 'Sauvegarder', - 'ico' => 'download' + 'value' => 'Sauvegarder' ]); ?>
helper::baseUrl() . 'config/manage', - 'value' => 'Restaurer', - 'ico' => 'upload' + 'value' => 'Restaurer' ]); ?>
diff --git a/core/module/config/view/manage/manage.php b/core/module/config/view/manage/manage.php index 953ac7a7..bc5a8c2e 100755 --- a/core/module/config/view/manage/manage.php +++ b/core/module/config/view/manage/manage.php @@ -10,8 +10,7 @@
'Restaurer', - 'ico' => 'upload' + 'value' => 'Restaurer' ]); ?>
From 5a0998e1392d4a0c87d7faadfcbeed04908440b9 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 8 Aug 2020 17:15:19 +0200 Subject: [PATCH 3/6] Virer une console --- core/module/config/view/backup/backup.js.php | 1 - 1 file changed, 1 deletion(-) diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php index 7ad52f44..6dbf0f2a 100644 --- a/core/module/config/view/backup/backup.js.php +++ b/core/module/config/view/backup/backup.js.php @@ -12,7 +12,6 @@ $( document).ready(function() { $("#configBackupForm").submit( function(e){ - console.log('click'); e.preventDefault(); $("body").addClass("loading"); var url = "getUrl(0); ?>/backup"; From 4400b6de8bf8998d49dcc76983632b5576c73e01 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sat, 8 Aug 2020 18:36:11 +0200 Subject: [PATCH 4/6] =?UTF-8?q?Notification=20ok=20+=20libell=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/config/view/backup/backup.js.php | 3 +-- core/module/config/view/backup/backup.php | 4 ++-- core/vendor/zwiico/img/ajax-loader.gif | Bin 3 files changed, 3 insertions(+), 4 deletions(-) mode change 100644 => 100755 core/module/config/view/backup/backup.js.php mode change 100644 => 100755 core/vendor/zwiico/img/ajax-loader.gif diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php old mode 100644 new mode 100755 index 6dbf0f2a..9295cefc --- a/core/module/config/view/backup/backup.js.php +++ b/core/module/config/view/backup/backup.js.php @@ -21,8 +21,7 @@ $( document).ready(function() { data: $("form").serialize(), complete: function(r, s){ $("body").removeClass("loading"); - $("body").append("
Sauvegarde réalisée avec succès !
"); - $("#notification").delay("3000").fadeOut("1000"); + core.alert("Sauvegarde terminée avec succès !"); } }); }); diff --git a/core/module/config/view/backup/backup.php b/core/module/config/view/backup/backup.php index e1778c99..cc240b23 100755 --- a/core/module/config/view/backup/backup.php +++ b/core/module/config/view/backup/backup.php @@ -20,10 +20,10 @@

Paramètre

-
+
true, - 'help' => 'Cette option n\'est pas recommandée lorsque le contenu du gestionnaire de fichiers est très volumineux.' + 'help' => 'Lorsque le contenu du gestionnaire de fichiers est très volumineux une copie par FTP est préférable.' ]); ?>
diff --git a/core/vendor/zwiico/img/ajax-loader.gif b/core/vendor/zwiico/img/ajax-loader.gif old mode 100644 new mode 100755 From 603f28189ef8f2ac05c5462ab8f89c721da4274f Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 11:47:46 +0200 Subject: [PATCH 5/6] =?UTF-8?q?Am=C3=A9liorations=20:=20spinner=20+=20masq?= =?UTF-8?q?ue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/config/view/backup/backup.css | 4 ++-- core/module/config/view/backup/backup.js.php | 2 +- core/module/config/view/backup/backup.php | 6 +++--- core/vendor/zwiico/img/ajax-loader.gif | Bin 673 -> 0 bytes core/vendor/zwiico/img/ajax-loader.png | Bin 0 -> 8529 bytes 5 files changed, 6 insertions(+), 6 deletions(-) delete mode 100755 core/vendor/zwiico/img/ajax-loader.gif create mode 100644 core/vendor/zwiico/img/ajax-loader.png diff --git a/core/module/config/view/backup/backup.css b/core/module/config/view/backup/backup.css index 823be7d8..6b4e29e1 100755 --- a/core/module/config/view/backup/backup.css +++ b/core/module/config/view/backup/backup.css @@ -30,8 +30,8 @@ display: none; left: 0; height: 100%; width: 100%; - background: rgba( 255, 255, 255, .2 ) - url('core/vendor/zwiico/img/ajax-loader.gif') + background: rgba( 0, 0, 0, .9 ) + url('core/vendor/zwiico/img/ajax-loader.png') 50% 50% no-repeat; } diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php index 9295cefc..0f33f90e 100755 --- a/core/module/config/view/backup/backup.js.php +++ b/core/module/config/view/backup/backup.js.php @@ -21,7 +21,7 @@ $( document).ready(function() { data: $("form").serialize(), complete: function(r, s){ $("body").removeClass("loading"); - core.alert("Sauvegarde terminée avec succès !"); + core.alert("Processus terminé : la sauvegarde a été générée."); } }); }); diff --git a/core/module/config/view/backup/backup.php b/core/module/config/view/backup/backup.php index cc240b23..8c35a2c7 100755 --- a/core/module/config/view/backup/backup.php +++ b/core/module/config/view/backup/backup.php @@ -16,18 +16,18 @@
-
+

Paramètre

-
+
true, 'help' => 'Lorsque le contenu du gestionnaire de fichiers est très volumineux une copie par FTP est préférable.' ]); ?>
- Le fichier de sauvegarde est généré dans le dossier Backup du gestionnaire de fichiers. + L'archive est générée dans le dossier Backup du gestionnaire de fichiers.
diff --git a/core/vendor/zwiico/img/ajax-loader.gif b/core/vendor/zwiico/img/ajax-loader.gif deleted file mode 100755 index d0bce1542342e912da81a2c260562df172f30d73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nnmm28Kh24mmkF0U1e2Nli^nlO|14{Lk&@8WQa67~pE8 zXTZz|lvDgC+Z`3#dv5h=E26FfcG1 zbL_hF&)}42ws10s6^G;;cE1^EoUR)U5A70}d2pLv!jVIT7j&Z~EblI3x0K*v_sV|m z0kj3v921Z^em#l`(k(o@H$3ZdDRc@9NidXDNbqrumReCGv$gd8+e8WW28HVqkJ_9i zH>s*<31KtHjANIPvi2#*6BEu%3Dak5O_t&NBI)H?V$TxT}#l{vOTn5naXTfF^&~Hhq+NX@#Ccc>y7T?;vjI&jdhsDsPJyAw*m0Qz>i}K7# zL9w50Ng{fT}A5JUe8lRK1h7_Y2;BWJDd=c6f&i?Wv5(5q?6|P zQw{>maxZP<537OA37Uk}7@%_$4o$EWe_Zl>&#id|lE-BpDC#+Fn|msJ%_2h{Hg1vP z#N8WAzfWasG}yq|xqE)DrWaOofX=z|?*pgc%{ig5vl!pqDlC|q&~Z0$&Rvsft&VO- z4MZj+%-+Vx%W}v;V76hyp=;+R;x+~t^Q%*xuFTQAF2})fSfTHDAs>sO!OBw`)&)o$ c0!CNZt))x~rAZP^^P&YOFfdqy5)K#u0POD40{{R3 diff --git a/core/vendor/zwiico/img/ajax-loader.png b/core/vendor/zwiico/img/ajax-loader.png new file mode 100644 index 0000000000000000000000000000000000000000..62b215f30686041afff8857490a0c95461a786ff GIT binary patch literal 8529 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 literal 0 HcmV?d00001 From c38c8b86940411e639aaf8637594224d48e9a8d7 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 9 Aug 2020 12:00:29 +0200 Subject: [PATCH 6/6] Gestion d'erreur --- core/module/config/config.php | 17 +++++++---------- core/module/config/view/backup/backup.js.php | 8 ++++++-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/core/module/config/config.php b/core/module/config/config.php index e0f5da66..07881941 100755 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -246,22 +246,19 @@ class config extends common { // Creation du ZIP $filter = $this->getInput('configBackupOption',helper::FILTER_BOOLEAN) === true ? ['backup','tmp'] : ['backup','tmp','file']; $fileName = helper::autoBackup(self::TEMP_DIR,$filter); + // Créer le répertoire manquant if (!is_dir(self::FILE_DIR.'source/backup')) { mkdir(self::FILE_DIR.'source/backup'); } - copy (self::TEMP_DIR . $fileName , self::FILE_DIR.'source/backup/' . $fileName); - - /*// Téléchargement du ZIP // NE marche pas avec le spinner - header('Content-Type: application/zip'); - header('Content-Disposition: attachment; filename="' . $fileName . '"'); - header('Content-Length: ' . filesize(self::TEMP_DIR . $fileName)); - readfile(self::TEMP_DIR . $fileName); + // Copie dans les fichiers + $success = copy (self::TEMP_DIR . $fileName , self::FILE_DIR.'source/backup/' . $fileName); + // Détruire le temporaire + unlink(self::TEMP_DIR . $fileName); // Valeurs en sortie $this->addOutput([ - 'display' => self::DISPLAY_RAW + 'display' => self::DISPLAY_JSON, + 'content' => json_encode($success) ]); - */ - unlink(self::TEMP_DIR . $fileName); } else { // Valeurs en sortie $this->addOutput([ diff --git a/core/module/config/view/backup/backup.js.php b/core/module/config/view/backup/backup.js.php index 0f33f90e..5a3d7dac 100755 --- a/core/module/config/view/backup/backup.js.php +++ b/core/module/config/view/backup/backup.js.php @@ -19,9 +19,13 @@ $( document).ready(function() { type: "POST", url: url, data: $("form").serialize(), - complete: function(r, s){ + success: function(data){ $("body").removeClass("loading"); - core.alert("Processus terminé : la sauvegarde a été générée."); + core.alert("La sauvegarde a été générée avec succès."); + }, + error: function(data){ + $("body").removeClass("loading"); + core.alert("Une erreur s'est produite, la sauvegarde n'a pas été générée !"); } }); });