From ec91858263f3d8d02a403aae32f15d0b1191b9f6 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Tue, 4 May 2021 19:21:47 +0200 Subject: [PATCH] =?UTF-8?q?R=C3=A9cup=C3=A9rer=20backup=20auto=20dans=20fi?= =?UTF-8?q?le=20manager?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/config/config.php | 48 ++++++++++++++++++- core/module/config/view/advanced/advanced.php | 42 +++++++++------- core/module/config/view/backup/backup.php | 2 +- core/module/config/view/restore/restore.php | 9 ++-- 4 files changed, 78 insertions(+), 23 deletions(-) diff --git a/core/module/config/config.php b/core/module/config/config.php index 24aaf2fa..cd9d0dbf 100755 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -18,6 +18,7 @@ class config extends common { public static $actions = [ 'backup' => self::GROUP_ADMIN, + 'copyBackups'=> self::GROUP_ADMIN, 'configMetaImage' => self::GROUP_ADMIN, 'generateFiles' => self::GROUP_ADMIN, 'index' => self::GROUP_ADMIN, @@ -28,7 +29,8 @@ class config extends common { 'logReset' => self::GROUP_ADMIN, 'logDownload'=> self::GROUP_ADMIN, 'blacklistReset' => self::GROUP_ADMIN, - 'blacklistDownload' => self::GROUP_ADMIN + 'blacklistDownload' => self::GROUP_ADMIN, + ]; public static $timezones = [ @@ -746,6 +748,23 @@ class config extends common { } } + /** + * Récupération des backups auto dans le gestionnaire de fichiers + */ + public function copyBackups() { + // Créer le répertoire manquant + if (!is_dir(self::FILE_DIR.'source/backup')) { + mkdir(self::FILE_DIR.'source/backup'); + } + $this->custom_copy(self::BACKUP_DIR, self::FILE_DIR . 'source/backup' ); + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'config/advanced', + 'notification' => 'Copie terminée', + 'state' => true + ]); + } + /** * Fonction de parcours des données de module @@ -767,4 +786,31 @@ class config extends common { } return $newArray; } + + /* + * Copie récursive de dossiers + * + */ + private function custom_copy($src, $dst) { + // open the source directory + $dir = opendir($src); + // Make the destination directory if not exist + if (!is_dir($dst)) { + mkdir($dst); + } + // Loop through the files in source directory + while( $file = readdir($dir) ) { + if (( $file != '.' ) && ( $file != '..' )) { + if ( is_dir($src . '/' . $file) ){ + // Recursively calling custom copy function + // for sub directory + $this -> custom_copy($src . '/' . $file, $dst . '/' . $file); + } + else { + copy($src . '/' . $file, $dst . '/' . $file); + } + } + } + closedir($dir); + } } diff --git a/core/module/config/view/advanced/advanced.php b/core/module/config/view/advanced/advanced.php index 75a6c271..f5a34783 100644 --- a/core/module/config/view/advanced/advanced.php +++ b/core/module/config/view/advanced/advanced.php @@ -16,24 +16,34 @@

Maintenance

-
- $this->getData(['config', 'maintenance']) +
+
+ $this->getData(['config', 'maintenance']) + ]); ?> +
+
+
+
+ helper::baseUrl() . 'config/backup', + 'value' => 'Sauvegarder', + 'ico' => 'download-cloud' + ]); ?> +
+
+ helper::baseUrl() . 'config/restore', + 'value' => 'Restaurer', + 'ico' => 'upload-cloud' + ]); ?> +
+
+ helper::baseUrl() . 'config/copyBackups', + 'value' => 'Backups Auto ➜ FileManager' ]); ?>
-
- helper::baseUrl() . 'config/backup', - 'value' => 'Sauvegarder', - 'ico' => 'download' - ]); ?> -
-
- helper::baseUrl() . 'config/restore', - 'value' => 'Restaurer', - 'ico' => 'upload' - ]); ?>
diff --git a/core/module/config/view/backup/backup.php b/core/module/config/view/backup/backup.php index a284ef9f..0ba3a31c 100755 --- a/core/module/config/view/backup/backup.php +++ b/core/module/config/view/backup/backup.php @@ -18,7 +18,7 @@
-

Paramètre

+

Paramètres de la sauvegarde

-

Paramètres

+

Archive à restaurer

@@ -40,7 +40,7 @@
-

Conversion des URL

+

Conversion après la restauration

'Dossier de l\'archive' , 'value' => $baseUrlValue, 'readonly' => true, - 'help' => 'Dossier de base du site stockée dans la sauvegarde.' + 'help' => 'Le dossier de base du site est stockée dans la sauvegarde.' ]); ?>
'Dossier du site actuel', 'value' => helper::baseUrl(false,false), - 'readonly' => true, - 'help' => 'Dossier du base site actuel.' + 'readonly' => true ]); ?>