diff --git a/backup/lib.php b/backup/lib.php
index d28e2c1a615..df57d56d8c0 100644
--- a/backup/lib.php
+++ b/backup/lib.php
@@ -7,10 +7,11 @@
//Sets a name/value pair in backup_config table
function backup_set_config($name, $value) {
if (get_field("backup_config", "name", "name", $name)) {
- return set_field("backup_config", "value", $value, "name", $name);
+ return set_field("backup_config", "value", addslashes($value), "name", $name);
} else {
+ $config = new object();
$config->name = $name;
- $config->value = $value;
+ $config->value = addslashes($value);
return insert_record("backup_config", $config);
}
}
diff --git a/lib/adminlib.php b/lib/adminlib.php
index 285eba36457..147ba4eef6a 100644
--- a/lib/adminlib.php
+++ b/lib/adminlib.php
@@ -2069,7 +2069,7 @@ class admin_setting_special_backupsaveto extends admin_setting_configtext {
$name = 'backup_sche_destination';
$visiblename = get_string('saveto');
$description = get_string('backupsavetohelp');
- parent::admin_setting_configtext($name, $visiblename, $description, '', PARAM_PATH);
+ parent::admin_setting_configtext($name, $visiblename, $description, '');
}
function get_setting() {
@@ -2078,10 +2078,8 @@ class admin_setting_special_backupsaveto extends admin_setting_configtext {
}
function write_setting($data) {
- $data = clean_param($data, PARAM_PATH);
- if (!empty($data) and (substr($data,-1) == '/' or substr($data,-1) == '\\')) {
- return get_string('pathslasherror') . '
';
- } else if (!empty($data) and !is_dir($data)) {
+ $data = trim($data);
+ if (!empty($data) and !is_dir($data)) {
return get_string('pathnotexists') . '
';
}
return (backup_set_config($this->name, $data) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '
');