mirror of
https://github.com/moodle/moodle.git
synced 2025-08-06 09:26:35 +02:00
Merge branch 'MDL-48266-master' of git://github.com/FMCorz/moodle
Conflicts: version.php
This commit is contained in:
commit
16dafa5d9f
6 changed files with 64 additions and 13 deletions
|
@ -4390,6 +4390,44 @@ class admin_setting_special_backupdays extends admin_setting_configmulticheckbox
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Special setting for backup auto destination.
|
||||
*
|
||||
* @package core
|
||||
* @subpackage admin
|
||||
* @copyright 2014 Frédéric Massart - FMCorz.net
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class admin_setting_special_backup_auto_destination extends admin_setting_configdirectory {
|
||||
|
||||
/**
|
||||
* Calls parent::__construct with specific arguments.
|
||||
*/
|
||||
public function __construct() {
|
||||
parent::__construct('backup/backup_auto_destination', new lang_string('saveto'), new lang_string('backupsavetohelp'), '');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the directory must be set, depending on backup/backup_auto_storage.
|
||||
*
|
||||
* Note: backup/backup_auto_storage must be specified BEFORE this setting otherwise
|
||||
* there will be conflicts if this validation happens before the other one.
|
||||
*
|
||||
* @param string $data Form data.
|
||||
* @return string Empty when no errors.
|
||||
*/
|
||||
public function write_setting($data) {
|
||||
$storage = (int) get_config('backup', 'backup_auto_storage');
|
||||
if ($storage !== 0) {
|
||||
if (empty($data) || !file_exists($data) || !is_dir($data) || !is_writable($data) ) {
|
||||
// The directory must exist and be writable.
|
||||
return get_string('backuperrorinvaliddestination');
|
||||
}
|
||||
}
|
||||
return parent::write_setting($data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Special debug setting
|
||||
|
|
|
@ -4121,6 +4121,23 @@ function xmldb_main_upgrade($oldversion) {
|
|||
|
||||
// Main savepoint reached.
|
||||
upgrade_main_savepoint(true, 2015010800.01);
|
||||
|
||||
}
|
||||
|
||||
if ($oldversion < 2015011501.02) {
|
||||
|
||||
// If the site is using internal and external storage, or just external
|
||||
// storage, and the external path specified is empty we change the setting
|
||||
// to internal only. That is how the backup code is handling this
|
||||
// misconfiguration.
|
||||
$storage = (int) get_config('backup_auto_storage', 'backup');
|
||||
$folder = get_config('backup_auto_destination', 'backup');
|
||||
if ($storage !== 0 && empty($folder)) {
|
||||
set_config('backup_auto_storage', 0, 'backup');
|
||||
}
|
||||
|
||||
// Main savepoint reached.
|
||||
upgrade_main_savepoint(true, 2015011501.02);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue