MDL-9251 backup/restore *all* users - is now forbidden for users

lacking backup/restore permission at system level. Backported from 19_STABLE
This commit is contained in:
Eloy Lafuente
2009-11-21 11:53:08 +00:00
parent 368498d978
commit 7e4a6aa4a1
4 changed files with 15 additions and 3 deletions
+5
View File
@@ -64,6 +64,11 @@
}
// Re-enforce 'moodle/site:backup' at system context to be able to backup all users
if ($backupprefs->backup_users == 0 and !has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM))) {
$backupprefs->backup_users = 1; // users => course
}
// Re-enforce moodle/backup:userinfo capability
if (!$backupuserinfo) {
$backupprefs->backup_users = 2; // users => none
+3 -1
View File
@@ -224,7 +224,9 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
echo "<td align=\"right\" colspan=\"2\"><b>";
echo get_string("users").":";
echo "</b></td><td colspan=\"2\">";
$user_options[0] = get_string("all");
if (has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM))) {
$user_options[0] = get_string("all");
}
$user_options[1] = get_string("course");
$user_options[2] = get_string("none");
choose_from_menu($user_options, "backup_users", $backup_users, "");
+5
View File
@@ -282,6 +282,11 @@
}
}
// Re-enforce 'moodle/site:restore' at system context to be able to restore all users
if ($restore->users == 0 and !has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM))) {
$restore->users = 1; // users => course
}
// Re-enforce moodle/restore:userinfo capability
if (!$restoreuserinfo) {
$userinfocheck = true;
+2 -2
View File
@@ -399,8 +399,8 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
//If some user is present in the backup file
if (($info->backup_users == "all" or $info->backup_users == "course") and $restoreuserinfo) {
$user_options = array();
//If all users are in the backup file
if ($info->backup_users == "all") {
//If all users are in the backup file and user has 'moodle/site:restore' at system level
if ($info->backup_users == "all" and has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM))) {
$user_options[0] = get_string("all");
}
$user_options[1] = get_string("course");