diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 6b00e183c35c62e53bedd4ecd8728558b22cd4fe..988620894a7fc76b5ffe642454c334a63b24e237 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 e196cb5f890509ac8eaba62fea41449261fe7ce7..fcf4095c388c7ac64de536a4b7216283d4f4a947 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 6e718b89b3b212ecf7895cc92e4e8cabb94a20b3..028935065d452b32bd5e68d2cca2e4498d5f2d7a 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 cb9911de2676c30f30310a5b6fab5a49ebbe94f3..50fa81c1f3dfb79b91f63e1a391c1bba8d0fe306 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