From b48a0b43066844fd15a51187fcf4fae45c13b3d6 Mon Sep 17 00:00:00 2001 From: Florian Schaal Date: Fri, 4 Sep 2015 13:55:02 +0200 Subject: [PATCH] allow empty backup-dir (to disable backups on a server, just empty the backup-dir) --- interface/web/admin/form/server_config.tform.php | 4 +--- server/lib/classes/cron.d/500-backup.inc.php | 2 +- server/lib/classes/cron.d/500-backup_mail.inc.php | 2 +- server/plugins-available/backup_plugin.inc.php | 9 +++++++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 6b00e183c..988620894 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -169,9 +169,7 @@ $form["tabs"]['server'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '/var/backup', - 'validators' => array( 0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'backup_dir_error_empty'), - 1 => array ( 'type' => 'REGEX', + 'validators' => array( 0 => array ( 'type' => 'REGEX', 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/', 'errmsg'=> 'backup_dir_error_regex'), ), diff --git a/server/lib/classes/cron.d/500-backup.inc.php b/server/lib/classes/cron.d/500-backup.inc.php index e196cb5f8..fcf4095c3 100644 --- a/server/lib/classes/cron.d/500-backup.inc.php +++ b/server/lib/classes/cron.d/500-backup.inc.php @@ -52,7 +52,7 @@ class cronjob_backup extends cronjob { $server_config = $app->getconf->get_server_config($conf['server_id'], 'server'); $global_config = $app->getconf->get_global_config('sites'); - $backup_dir = $server_config['backup_dir']; + $backup_dir = trim($server_config['backup_dir']); $backup_mode = $server_config['backup_mode']; if($backup_mode == '') $backup_mode = 'userzip'; diff --git a/server/lib/classes/cron.d/500-backup_mail.inc.php b/server/lib/classes/cron.d/500-backup_mail.inc.php index 6e718b89b..028935065 100644 --- a/server/lib/classes/cron.d/500-backup_mail.inc.php +++ b/server/lib/classes/cron.d/500-backup_mail.inc.php @@ -54,7 +54,7 @@ class cronjob_backup_mail extends cronjob { $mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail'); $global_config = $app->getconf->get_global_config('sites'); - $backup_dir = $server_config['backup_dir']; + $backup_dir = trim($server_config['backup_dir']); $backup_dir_permissions =0750; $backup_mode = $server_config['backup_mode']; diff --git a/server/plugins-available/backup_plugin.inc.php b/server/plugins-available/backup_plugin.inc.php index cb9911de2..50fa81c1f 100644 --- a/server/plugins-available/backup_plugin.inc.php +++ b/server/plugins-available/backup_plugin.inc.php @@ -71,7 +71,9 @@ class backup_plugin { $web = $app->dbmaster->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ?", $backup['parent_domain_id']); $server_config = $app->getconf->get_server_config($conf['server_id'], 'server'); - $backup_dir = $server_config['backup_dir'].'/web'.$web['domain_id']; + $backup_dir = trim($server_config['backup_dir']); + if($backup_dir == '') return; + $backup_dir .= '/web'.$web['domain_id']; $backup_dir_is_ready = true; //* mount backup directory, if necessary @@ -178,7 +180,10 @@ class backup_plugin { $app->uses('ini_parser,file,getconf'); $server_config = $app->getconf->get_server_config($conf['server_id'], 'server'); - $backup_dir = $server_config['backup_dir']; + $backup_dir = trim($server_config['backup_dir']); + + if($backup_dir == '') return; + $backup_dir_is_ready = true; //* mount backup directory, if necessary -- GitLab