mirror of
https://github.com/moodle/moodle.git
synced 2025-04-20 16:04:25 +02:00
MDL-21666 backup & restore caps - moving to new naming schema. More to come.
This commit is contained in:
parent
a7382d3e07
commit
d294000348
@ -1,3 +1,3 @@
|
||||
<?php
|
||||
|
||||
$ADMIN->add('reports', new admin_externalpage('reportbackups', get_string('backups', 'admin'), "$CFG->wwwroot/$CFG->admin/report/backups/index.php",'moodle/site:backup'));
|
||||
$ADMIN->add('reports', new admin_externalpage('reportbackups', get_string('backups', 'admin'), "$CFG->wwwroot/$CFG->admin/report/backups/index.php",'moodle/backup:backupcourse'));
|
||||
|
@ -3,7 +3,7 @@
|
||||
// This file defines settingpages and externalpages under the "courses" category
|
||||
|
||||
if ($hassiteconfig
|
||||
or has_capability('moodle/site:backup', $systemcontext)
|
||||
or has_capability('moodle/backup:backupcourse', $systemcontext)
|
||||
or has_capability('moodle/category:manage', $systemcontext)
|
||||
or has_capability('moodle/course:create', $systemcontext)
|
||||
or has_capability('moodle/site:approvecourse', $systemcontext)) { // speedup for non-admins, add all caps used on this page
|
||||
@ -133,7 +133,7 @@ if ($hassiteconfig
|
||||
}
|
||||
|
||||
/// "backups" settingpage
|
||||
$temp = new admin_settingpage('backups', get_string('backups','admin'), 'moodle/site:backup');
|
||||
$temp = new admin_settingpage('backups', get_string('backups','admin'), 'moodle/backup:backupcourse');
|
||||
$temp->add(new admin_setting_configcheckbox('backup/backup_sche_modules', get_string('includemodules'), get_string('backupincludemoduleshelp'), 0));
|
||||
$temp->add(new admin_setting_configcheckbox('backup/backup_sche_withuserdata', get_string('includemoduleuserdata'), get_string('backupincludemoduleuserdatahelp'), 0));
|
||||
$temp->add(new admin_setting_configcheckbox('backup/backup_sche_metacourse', get_string('metacourse'), get_string('backupmetacoursehelp'), 0));
|
||||
|
@ -8,8 +8,8 @@ if (!during_initial_install()) { //do not use during installation
|
||||
if ($hassiteconfig or has_any_capability(array(
|
||||
'moodle/course:update',
|
||||
'moodle/role:assign',
|
||||
'moodle/site:restore',
|
||||
'moodle/site:backup',
|
||||
'moodle/restore:restorecourse',
|
||||
'moodle/backup:backupcourse',
|
||||
'moodle/course:managefiles',
|
||||
'moodle/question:add',
|
||||
'moodle/question:editmine',
|
||||
@ -65,9 +65,9 @@ if (!during_initial_install()) { //do not use during installation
|
||||
|
||||
$ADMIN->add('frontpage', new admin_externalpage('frontpagefilters', get_string('frontpagefilters', 'admin'), "$CFG->wwwroot/filter/manage.php?contextid=" . $frontpagecontext->id, 'moodle/filter:manage', false, $frontpagecontext));
|
||||
|
||||
$ADMIN->add('frontpage', new admin_externalpage('frontpagebackup', get_string('frontpagebackup', 'admin'), $CFG->wwwroot.'/backup/backup.php?id='.SITEID, 'moodle/site:backup', false, $frontpagecontext));
|
||||
$ADMIN->add('frontpage', new admin_externalpage('frontpagebackup', get_string('frontpagebackup', 'admin'), $CFG->wwwroot.'/backup/backup.php?id='.SITEID, 'moodle/backup:backupcourse', false, $frontpagecontext));
|
||||
|
||||
$ADMIN->add('frontpage', new admin_externalpage('frontpagerestore', get_string('frontpagerestore', 'admin'), $CFG->wwwroot.'/files/index.php?id='.SITEID.'&wdir=/backupdata', 'moodle/site:restore', false, $frontpagecontext));
|
||||
$ADMIN->add('frontpage', new admin_externalpage('frontpagerestore', get_string('frontpagerestore', 'admin'), $CFG->wwwroot.'/files/index.php?id='.SITEID.'&wdir=/backupdata', 'moodle/restore:restorecourse', false, $frontpagecontext));
|
||||
|
||||
$questioncapabilites = array(
|
||||
'moodle/question:add',
|
||||
|
@ -29,18 +29,18 @@
|
||||
|
||||
if (!empty($id)) {
|
||||
require_login($id);
|
||||
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $id))) {
|
||||
if (!has_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_COURSE, $id))) {
|
||||
print_error('cannotuseadminadminorteacher', 'error', $loginurl);
|
||||
}
|
||||
} else {
|
||||
require_login();
|
||||
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
if (!has_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
print_error('cannotuseadmin', 'error', $loginurl);
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($to)) {
|
||||
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $to))) {
|
||||
if (!has_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_COURSE, $to))) {
|
||||
print_error('cannotuseadminadminorteacher', 'error', $loginurl);
|
||||
}
|
||||
}
|
||||
@ -99,7 +99,7 @@
|
||||
}
|
||||
|
||||
//Print header
|
||||
if (has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
if (has_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
$PAGE->navbar->add($stradministration, new moodle_url('/admin/index.php'));
|
||||
$PAGE->navbar->add($strcoursebackup, new moodle_url('/backup/backup.php'));
|
||||
$PAGE->navbar->add("$course->fullname ($course->shortname)");
|
||||
|
@ -10,18 +10,18 @@
|
||||
$backupuserinfo = false;
|
||||
|
||||
if (!empty($course->id)) {
|
||||
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $course->id))) {
|
||||
if (!has_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_COURSE, $course->id))) {
|
||||
if (empty($to)) {
|
||||
print_error("cannotuseadminadminorteacher", '', $loginurl);
|
||||
} else {
|
||||
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $to))) {
|
||||
if (!has_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_COURSE, $to))) {
|
||||
print_error("cannotuseadminadminorteacher", '', $loginurl);
|
||||
}
|
||||
}
|
||||
}
|
||||
$backupuserinfo = has_capability('moodle/backup:userinfo', get_context_instance(CONTEXT_COURSE, $course->id));
|
||||
} else {
|
||||
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
if (!has_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
print_error("cannotuseadmin", '', $loginurl);
|
||||
}
|
||||
$backupuserinfo = has_capability('moodle/backup:userinfo', get_context_instance(CONTEXT_SYSTEM));
|
||||
@ -71,8 +71,8 @@
|
||||
|
||||
}
|
||||
|
||||
// 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))) {
|
||||
// Re-enforce 'moodle/backup:backupcourse' at system context to be able to backup all users
|
||||
if ($backupprefs->backup_users == 0 and !has_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
$backupprefs->backup_users = 1; // users => course
|
||||
}
|
||||
|
||||
|
@ -7,17 +7,17 @@
|
||||
$loginurl = get_login_url();
|
||||
|
||||
if (!empty($course->id)) {
|
||||
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $course->id))) {
|
||||
if (!has_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_COURSE, $course->id))) {
|
||||
if (empty($to)) {
|
||||
print_error("cannotuseadminadminorteacher", '', $loginurl);
|
||||
} else {
|
||||
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $to))) {
|
||||
if (!has_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_COURSE, $to))) {
|
||||
print_error("cannotuseadminadminorteacher", '', $loginurl);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
if (!has_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
print_error("cannotuseadmin", '', $loginurl);
|
||||
}
|
||||
}
|
||||
|
@ -11,18 +11,18 @@
|
||||
$backupuserinfo = false;
|
||||
|
||||
if (!empty($course->id)) {
|
||||
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $course->id))) {
|
||||
if (!has_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_COURSE, $course->id))) {
|
||||
if (empty($to)) {
|
||||
print_error("cannotuseadminadminorteacher", '', $loginurl);
|
||||
} else {
|
||||
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $to))) {
|
||||
if (!has_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_COURSE, $to))) {
|
||||
print_error("cannotuseadminadminorteacher", '', $loginurl);
|
||||
}
|
||||
}
|
||||
}
|
||||
$backupuserinfo = has_capability('moodle/backup:userinfo', get_context_instance(CONTEXT_COURSE, $course->id));
|
||||
} else {
|
||||
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
if (!has_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
print_error("cannotuseadmin", '', $loginurl);
|
||||
}
|
||||
$backupuserinfo = has_capability('moodle/backup:userinfo', get_context_instance(CONTEXT_SYSTEM));
|
||||
@ -223,7 +223,7 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
|
||||
echo "<td align=\"right\" colspan=\"2\"><b>";
|
||||
echo '<label for="menubackup_users">'.get_string ("users").'</label>';
|
||||
echo "</b></td><td colspan=\"2\">";
|
||||
if (has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
if (has_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
$user_options[0] = get_string("all");
|
||||
}
|
||||
$user_options[1] = get_string("course");
|
||||
|
@ -6,6 +6,6 @@
|
||||
|
||||
require_login();
|
||||
|
||||
require_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM));
|
||||
require_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_SYSTEM));
|
||||
|
||||
redirect("$CFG->wwwroot/$CFG->admin/report/backups/index.php", '', 'admin', 1);
|
||||
|
@ -75,18 +75,18 @@
|
||||
|
||||
if (!empty($id)) {
|
||||
require_login($id);
|
||||
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $id))) {
|
||||
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_COURSE, $id))) {
|
||||
if (empty($to)) {
|
||||
print_error("cannotuseadminadminorteacher", '', $loginurl);
|
||||
} else {
|
||||
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $to))
|
||||
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_COURSE, $to))
|
||||
&& !has_capability('moodle/site:import', get_context_instance(CONTEXT_COURSE, $to))) {
|
||||
print_error("cannotuseadminadminorteacher", '', $loginurl);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
print_error("cannotuseadmin", '', $loginurl);
|
||||
}
|
||||
}
|
||||
|
@ -206,12 +206,12 @@
|
||||
|
||||
//Check admin
|
||||
if (!empty($id)) {
|
||||
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $id))) {
|
||||
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_COURSE, $id))) {
|
||||
print_error("cannotuseadminadminorteacher", '', $loginurl);
|
||||
}
|
||||
$restoreuserinfo = has_capability('moodle/restore:userinfo', get_context_instance(CONTEXT_COURSE, $id));
|
||||
} else {
|
||||
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
print_error("cannotuseadmin", '', $loginurl);
|
||||
}
|
||||
$restoreuserinfo = has_capability('moodle/restore:userinfo', get_context_instance(CONTEXT_SYSTEM));
|
||||
@ -228,7 +228,7 @@
|
||||
}
|
||||
|
||||
// Get all the courses the user is able to restore to
|
||||
$mycourses = get_user_courses_bycap($USER->id, 'moodle/site:restore', $accessinfo, true, 'c.sortorder ASC', array('id', 'fullname', 'shortname', 'visible'));
|
||||
$mycourses = get_user_courses_bycap($USER->id, 'moodle/restore:restorecourse', $accessinfo, true, 'c.sortorder ASC', array('id', 'fullname', 'shortname', 'visible'));
|
||||
|
||||
// Calculate if the user can create courses
|
||||
$cancreatecourses = user_can_create_courses();
|
||||
@ -251,7 +251,7 @@
|
||||
echo $OUTPUT->heading(get_string("choosecourse"));
|
||||
echo $OUTPUT->box_start();
|
||||
foreach ($courses as $course) {
|
||||
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $course->id))) {
|
||||
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_COURSE, $course->id))) {
|
||||
continue;
|
||||
}
|
||||
if (empty($course->visible)) {
|
||||
@ -271,7 +271,7 @@
|
||||
//Final access control check
|
||||
if (empty($restore->course_id) and !$cancreatecourses) {
|
||||
print_error("cannotrestoreadminorcreator");
|
||||
} else if (!empty($restore->course_id) and !has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $restore->course_id))) {
|
||||
} else if (!empty($restore->course_id) and !has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_COURSE, $restore->course_id))) {
|
||||
print_error("cannotrestoreadminoredit");
|
||||
}
|
||||
$show_continue_button = true;
|
||||
@ -326,8 +326,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
// 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))) {
|
||||
// Re-enforce 'moodle/restore:restorecourse' at system context to be able to restore all users
|
||||
if ($restore->users == 0 and !has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
$restore->users = 1; // users => course
|
||||
}
|
||||
|
||||
|
@ -43,18 +43,18 @@
|
||||
|
||||
//Check admin
|
||||
if (!empty($id)) {
|
||||
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $id))) {
|
||||
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_COURSE, $id))) {
|
||||
if (empty($to)) {
|
||||
print_error("cannotuseadminadminorteacher", '', $loginurl);
|
||||
} else {
|
||||
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $to))
|
||||
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_COURSE, $to))
|
||||
&& !has_capability('moodle/site:import', get_context_instance(CONTEXT_COURSE, $to))) {
|
||||
print_error("cannotuseadminadminorteacher", '', $loginurl);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
print_error("cannotuseadmin", '', $loginurl);
|
||||
}
|
||||
}
|
||||
|
@ -32,12 +32,12 @@
|
||||
|
||||
//Check admin
|
||||
if (!empty($id)) {
|
||||
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $id))) {
|
||||
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_COURSE, $id))) {
|
||||
print_error('cannotuseadminadminorteacher', '', $loginurl);
|
||||
}
|
||||
$restoreuserinfo = has_capability('moodle/restore:userinfo', get_context_instance(CONTEXT_COURSE, $id));
|
||||
} else {
|
||||
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
print_error('cannotuseadmin', '', $loginurl);
|
||||
}
|
||||
$restoreuserinfo = has_capability('moodle/restore:userinfo', get_context_instance(CONTEXT_SYSTEM));
|
||||
@ -212,10 +212,10 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
|
||||
$accessinfo = get_user_access_sitewide($USER->id);
|
||||
}
|
||||
|
||||
$mycourses = get_user_courses_bycap($USER->id, 'moodle/site:restore', $accessinfo, true);
|
||||
$mycourses = get_user_courses_bycap($USER->id, 'moodle/restore:restorecourse', $accessinfo, true);
|
||||
|
||||
// if the user can restore to current course, grant the "current" options
|
||||
if (has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $id))){
|
||||
if (has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_COURSE, $id))){
|
||||
$restore_restoreto_options[RESTORETO_CURRENT_DELETING] = get_string("currentcoursedeleting");
|
||||
$restore_restoreto_options[RESTORETO_CURRENT_ADDING] = get_string("currentcourseadding");
|
||||
}
|
||||
@ -446,8 +446,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 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))) {
|
||||
//If all users are in the backup file and user has 'moodle/restore:restorecourse' at system level
|
||||
if ($info->backup_users == "all" and has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
$user_options[0] = get_string("all");
|
||||
}
|
||||
$user_options[1] = get_string("course");
|
||||
|
@ -16,18 +16,18 @@
|
||||
|
||||
//Check admin
|
||||
if (!empty($id)) {
|
||||
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $id))) {
|
||||
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_COURSE, $id))) {
|
||||
if (empty($to)) {
|
||||
print_error("cannotuseadminadminorteacher", '', $loginurl);
|
||||
} else {
|
||||
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $to))
|
||||
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_COURSE, $to))
|
||||
&& !has_capability('moodle/site:import', get_context_instance(CONTEXT_COURSE, $to))) {
|
||||
print_error("cannotuseadminadminorteacher", '', $loginurl);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_SYSTEM))) {
|
||||
print_error("cannotuseadmin", '', $loginurl);
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
require_login();
|
||||
|
||||
require_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM));
|
||||
require_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_SYSTEM));
|
||||
|
||||
$site = get_site();
|
||||
|
||||
|
@ -109,13 +109,13 @@ class block_admin extends block_list {
|
||||
}
|
||||
|
||||
/// Backup this course
|
||||
if ($course->id!==SITEID and has_capability('moodle/site:backup', $this->page->context)) {
|
||||
if ($course->id!==SITEID and has_capability('moodle/backup:backupcourse', $this->page->context)) {
|
||||
$this->content->items[]='<a href="'.$CFG->wwwroot.'/backup/backup.php?id='.$course->id.'">'.get_string('backup').'</a>';
|
||||
$this->content->icons[]='<img src="'.$OUTPUT->pix_url('i/backup') . '" class="icon" alt="" />';
|
||||
}
|
||||
|
||||
/// Restore to this course
|
||||
if ($course->id !== SITEID and has_capability('moodle/site:restore', $this->page->context)) {
|
||||
if ($course->id !== SITEID and has_capability('moodle/restore:restorecourse', $this->page->context)) {
|
||||
$this->content->items[]='<a href="'.$CFG->wwwroot.'/files/index.php?id='.$course->id.'&wdir=/backupdata">'.get_string('restore').'</a>';
|
||||
$this->content->icons[]='<img src="'.$OUTPUT->pix_url('i/restore') . '" class="icon" alt="" />';
|
||||
}
|
||||
|
@ -359,14 +359,14 @@
|
||||
echo $spacer;
|
||||
}
|
||||
|
||||
if (has_capability('moodle/site:backup', $coursecontext)) {
|
||||
if (has_capability('moodle/backup:backupcourse', $coursecontext)) {
|
||||
echo '<a title="'.$strbackup.'" href="../backup/backup.php?id='.$acourse->id.'">'.
|
||||
'<img src="'.$OUTPUT->pix_url('t/backup') . '" class="iconsmall" alt="'.$strbackup.'" /></a> ';
|
||||
} else {
|
||||
echo $spacer;
|
||||
}
|
||||
|
||||
if (has_capability('moodle/site:restore', $coursecontext)) {
|
||||
if (has_capability('moodle/restore:restorecourse', $coursecontext)) {
|
||||
echo '<a title="'.$strrestore.'" href="../files/index.php?id='.$acourse->id.
|
||||
'&wdir=/backupdata">'.
|
||||
'<img src="'.$OUTPUT->pix_url('t/restore') . '" class="iconsmall" alt="'.$strrestore.'" /></a> ';
|
||||
|
@ -321,13 +321,13 @@
|
||||
}
|
||||
|
||||
// checks whether user can do site backup
|
||||
if (has_capability('moodle/site:backup', $coursecontext)) {
|
||||
if (has_capability('moodle/backup:backupcourse', $coursecontext)) {
|
||||
echo "<a title=\"".get_string("backup")."\" href=\"../backup/backup.php?id=$course->id\">\n<img".
|
||||
" src=\"" . $OUTPUT->pix_url('t/backup') . "\" class=\"iconsmall\" alt=\"".get_string("backup")."\" /></a>\n ";
|
||||
}
|
||||
|
||||
// checks whether user can do restore
|
||||
if (has_capability('moodle/site:restore', $coursecontext)) {
|
||||
if (has_capability('moodle/restore:restorecourse', $coursecontext)) {
|
||||
echo "<a title=\"".get_string("restore")."\" href=\"../files/index.php?id=$course->id&wdir=/backupdata\">\n<img".
|
||||
" src=\"" . $OUTPUT->pix_url('t/restore') . "\" class=\"iconsmall\" alt=\"".get_string("restore")."\" /></a>\n ";
|
||||
}
|
||||
|
@ -153,7 +153,7 @@ $capabilities = array(
|
||||
)
|
||||
),
|
||||
|
||||
'moodle/site:backup' => array(
|
||||
'moodle/backup:backupcourse' => array(
|
||||
|
||||
'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
|
||||
|
||||
@ -162,7 +162,9 @@ $capabilities = array(
|
||||
'legacy' => array(
|
||||
'editingteacher' => CAP_ALLOW,
|
||||
'admin' => CAP_ALLOW
|
||||
)
|
||||
),
|
||||
|
||||
'clonepermissionsfrom' => 'moodle/site:backup'
|
||||
),
|
||||
|
||||
'moodle/site:backupdownload' => array(
|
||||
@ -204,7 +206,7 @@ $capabilities = array(
|
||||
)
|
||||
),
|
||||
|
||||
'moodle/site:restore' => array(
|
||||
'moodle/restore:restorecourse' => array(
|
||||
|
||||
'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
|
||||
|
||||
@ -213,7 +215,9 @@ $capabilities = array(
|
||||
'legacy' => array(
|
||||
'editingteacher' => CAP_ALLOW,
|
||||
'admin' => CAP_ALLOW
|
||||
)
|
||||
),
|
||||
|
||||
'clonepermissionsfrom' => 'moodle/site:restore'
|
||||
),
|
||||
|
||||
'moodle/restore:createuser' => array(
|
||||
|
@ -370,7 +370,7 @@ class file_browser {
|
||||
|
||||
$fs = get_file_storage();
|
||||
|
||||
if (!has_capability('moodle/site:backup', $context) and !has_capability('moodle/site:restore', $context)) {
|
||||
if (!has_capability('moodle/backup:backupcourse', $context) and !has_capability('moodle/restore:restorecourse', $context)) {
|
||||
return null;
|
||||
}
|
||||
if (is_null($itemid)) {
|
||||
|
@ -2917,13 +2917,13 @@ class settings_navigation extends navigation_node {
|
||||
}
|
||||
|
||||
// Backup this course
|
||||
if (has_capability('moodle/site:backup', $course->context)) {
|
||||
if (has_capability('moodle/backup:backupcourse', $course->context)) {
|
||||
$url = new moodle_url('/backup/backup.php', array('id'=>$course->id));
|
||||
$coursenode->add(get_string('backup'), $url, self::TYPE_SETTING, null, null, new pix_icon('i/backup', ''));
|
||||
}
|
||||
|
||||
// Restore to this course
|
||||
if (has_capability('moodle/site:restore', $course->context)) {
|
||||
if (has_capability('moodle/restore:restorecourse', $course->context)) {
|
||||
$url = new moodle_url('/files/index.php', array('id'=>$course->id, 'wdir'=>'/backupdata'));
|
||||
$coursenode->add(get_string('restore'), $url, self::TYPE_SETTING, null, null, new pix_icon('i/restore', ''));
|
||||
}
|
||||
@ -3681,4 +3681,4 @@ class navigation_cache {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -64,9 +64,9 @@ class filelib_test extends UnitTestCaseUsingDatabase {
|
||||
$DB->insert_record('capabilities',
|
||||
array('id' => 45, 'name' => 'moodle/course:update', 'cattype' => 'write', 'contextlevel' => 50, 'component' => 'moodle', 'riskbitmask' => 4));
|
||||
$DB->insert_record('capabilities',
|
||||
array('id' => 14, 'name' => 'moodle/site:backup', 'cattype' => 'write', 'contextlevel' => 50, 'component' => 'moodle', 'riskbitmask' => 28));
|
||||
array('id' => 14, 'name' => 'moodle/backup:backupcourse', 'cattype' => 'write', 'contextlevel' => 50, 'component' => 'moodle', 'riskbitmask' => 28));
|
||||
$DB->insert_record('capabilities',
|
||||
array('id' => 17, 'name' => 'moodle/site:restore', 'cattype' => 'write', 'contextlevel' => 50, 'component' => 'moodle', 'riskbitmask' => 28));
|
||||
array('id' => 17, 'name' => 'moodle/restore:restorecourse', 'cattype' => 'write', 'contextlevel' => 50, 'component' => 'moodle', 'riskbitmask' => 28));
|
||||
$DB->insert_record('capabilities',
|
||||
array('id' => 52, 'name' => 'moodle/course:managefiles', 'cattype' => 'write', 'contextlevel' => 50, 'component' => 'moodle', 'riskbitmask' => 4));
|
||||
$DB->insert_record('capabilities',
|
||||
|
@ -78,7 +78,7 @@
|
||||
$from_form->exportfilename = default_export_filename($COURSE, $category);
|
||||
}
|
||||
$qformat->setFilename($from_form->exportfilename);
|
||||
$canaccessbackupdata = has_capability('moodle/site:backup', $contexts->lowest());
|
||||
$canaccessbackupdata = has_capability('moodle/backup:backupcourse', $contexts->lowest());
|
||||
$qformat->set_can_access_backupdata($canaccessbackupdata);
|
||||
$qformat->setCattofile(!empty($from_form->cattofile));
|
||||
$qformat->setContexttofile(!empty($from_form->contexttofile));
|
||||
|
Loading…
x
Reference in New Issue
Block a user