backup MDL-23563 numerous minor backup changes

* Root settings are now check boxes rather than selects
* Language strings adjusted as requested
* Final continue on backup now redirecteds to restore pre ui
This commit is contained in:
Sam Hemelryk
2010-07-29 04:25:56 +00:00
parent 5c40dc5143
commit 573cdf85e1
7 changed files with 102 additions and 59 deletions
+11 -11
View File
@@ -54,64 +54,64 @@ class backup_root_task extends backup_task {
// Define users setting (keeping it on hand to define dependencies)
$users = new backup_users_setting('users', base_setting::IS_BOOLEAN, true);
$users->set_ui(new backup_setting_ui_select($users, $users->get_name(), array(1=>get_string('yes'), 0=>get_string('no'))));
$users->set_ui(new backup_setting_ui_checkbox($users, get_string('rootsettingusers', 'backup')));
$this->add_setting($users);
// Define anonymize (dependent of users)
$anonymize = new backup_anonymize_setting('anonymize', base_setting::IS_BOOLEAN, false);
$anonymize->set_ui(new backup_setting_ui_select($anonymize, $anonymize->get_name(), array(1=>get_string('yes'), 0=>get_string('no'))));
$anonymize->set_ui(new backup_setting_ui_checkbox($anonymize, get_string('rootsettinganonymize', 'backup')));
$this->add_setting($anonymize);
$users->add_dependency($anonymize);
// Define role_assignments (dependent of users)
$roleassignments = new backup_role_assignments_setting('role_assignments', base_setting::IS_BOOLEAN, true);
$roleassignments->set_ui(new backup_setting_ui_select($roleassignments, $roleassignments->get_name(), array(1=>get_string('yes'), 0=>get_string('no'))));
$roleassignments->set_ui(new backup_setting_ui_checkbox($roleassignments, get_string('rootsettingroleassignments', 'backup')));
$this->add_setting($roleassignments);
$users->add_dependency($roleassignments);
// Define user_files (dependent of users and anonymize)
$userfiles = new backup_user_files_setting('user_files', base_setting::IS_BOOLEAN, true);
$userfiles->set_ui(new backup_setting_ui_select($userfiles, $userfiles->get_name(), array(1=>get_string('yes'), 0=>get_string('no'))));
$userfiles->set_ui(new backup_setting_ui_checkbox($userfiles, get_string('rootsettinguserfiles', 'backup')));
$this->add_setting($userfiles);
$users->add_dependency($userfiles);
$anonymize->add_dependency($userfiles, setting_dependency::DISABLED_TRUE);
// Define activities
$activities = new backup_activities_setting('activities', base_setting::IS_BOOLEAN, true);
$activities->set_ui(new backup_setting_ui_select($activities, $activities->get_name(), array(1=>get_string('yes'), 0=>get_string('no'))));
$activities->set_ui(new backup_setting_ui_checkbox($activities, get_string('rootsettingactivities', 'backup')));
$this->add_setting($activities);
// Define blocks
$blocks = new backup_generic_setting('blocks', base_setting::IS_BOOLEAN, true);
$blocks->set_ui(new backup_setting_ui_select($blocks, $blocks->get_name(), array(1=>get_string('yes'), 0=>get_string('no'))));
$blocks->set_ui(new backup_setting_ui_checkbox($blocks, get_string('rootsettingblocks', 'backup')));
$this->add_setting($blocks);
// Define filters
$filters = new backup_generic_setting('filters', base_setting::IS_BOOLEAN, true);
$filters->set_ui(new backup_setting_ui_select($filters, $filters->get_name(), array(1=>get_string('yes'), 0=>get_string('no'))));
$filters->set_ui(new backup_setting_ui_checkbox($filters, get_string('rootsettingfilters', 'backup')));
$this->add_setting($filters);
// Define comments (dependent of users)
$comments = new backup_comments_setting('comments', base_setting::IS_BOOLEAN, true);
$comments->set_ui(new backup_setting_ui_select($comments, $comments->get_name(), array(1=>get_string('yes'), 0=>get_string('no'))));
$comments->set_ui(new backup_setting_ui_checkbox($comments, get_string('rootsettingcomments', 'backup')));
$this->add_setting($comments);
$users->add_dependency($comments);
// Define completion (dependent of users)
$completion = new backup_userscompletion_setting('userscompletion', base_setting::IS_BOOLEAN, true);
$completion->set_ui(new backup_setting_ui_select($completion, $completion->get_name(), array(1=>get_string('yes'), 0=>get_string('no'))));
$completion->set_ui(new backup_setting_ui_checkbox($completion, get_string('rootsettinguserscompletion', 'backup')));
$this->add_setting($completion);
$users->add_dependency($completion);
// Define logs (dependent of users)
$logs = new backup_logs_setting('logs', base_setting::IS_BOOLEAN, true);
$logs->set_ui(new backup_setting_ui_select($logs, $logs->get_name(), array(1=>get_string('yes'), 0=>get_string('no'))));
$logs->set_ui(new backup_setting_ui_checkbox($logs, get_string('rootsettinglogs', 'backup')));
$this->add_setting($logs);
$users->add_dependency($logs);
// Define grade_histories (dependent of users)
$gradehistories = new backup_generic_setting('grade_histories', base_setting::IS_BOOLEAN, true);
$gradehistories->set_ui(new backup_setting_ui_select($gradehistories, $gradehistories->get_name(), array(1=>get_string('yes'), 0=>get_string('no'))));
$gradehistories->set_ui(new backup_setting_ui_checkbox($gradehistories, get_string('rootsettinggradehistories', 'backup')));
$this->add_setting($gradehistories);
$users->add_dependency($gradehistories);
}
+40 -30
View File
@@ -81,118 +81,128 @@ class restore_root_task extends restore_task {
$rootsettings = $this->get_info()->root_settings;
// Define users setting (keeping it on hand to define dependencies)
$selectvalues = array(0=>get_string('no')); // Safer options
$defaultvalue = false; // Safer default
$changeable = false;
if (isset($rootsettings['users']) && $rootsettings['users']) { // Only enabled when available
$selectvalues = array(1=>get_string('yes'), 0=>get_string('no'));
$defaultvalue = true;
$changeable = true;
}
$users = new restore_users_setting('users', base_setting::IS_BOOLEAN, $defaultvalue);
$users->set_ui(new backup_setting_ui_select($users, $users->get_name(), $selectvalues));
$users->set_ui(new backup_setting_ui_checkbox($users, get_string('rootsettingusers', 'backup')));
$users->get_ui()->set_changeable($changeable);
$this->add_setting($users);
// Define role_assignments (dependent of users)
$selectvalues = array(0=>get_string('no')); // Safer options
$defaultvalue = false; // Safer default
$changeable = false;
if (isset($rootsettings['role_assignments']) && $rootsettings['role_assignments']) { // Only enabled when available
$selectvalues = array(1=>get_string('yes'), 0=>get_string('no'));
$defaultvalue = true;
$changeable = true;
}
$roleassignments = new restore_role_assignments_setting('role_assignments', base_setting::IS_BOOLEAN, $defaultvalue);
$roleassignments->set_ui(new backup_setting_ui_select($roleassignments, $roleassignments->get_name(), $selectvalues));
$roleassignments->set_ui(new backup_setting_ui_checkbox($roleassignments,get_string('rootsettingroleassignments', 'backup')));
$roleassignments->get_ui()->set_changeable($changeable);
$this->add_setting($roleassignments);
$users->add_dependency($roleassignments);
// Define user_files (dependent of users)
$selectvalues = array(0=>get_string('no')); // Safer options
$defaultvalue = false; // Safer default
$changeable = false;
if (isset($rootsettings['user_files']) && $rootsettings['user_files']) { // Only enabled when available
$selectvalues = array(1=>get_string('yes'), 0=>get_string('no'));
$defaultvalue = true;
$changeable = true;
}
$userfiles = new restore_user_files_setting('user_files', base_setting::IS_BOOLEAN, $defaultvalue);
$userfiles->set_ui(new backup_setting_ui_select($userfiles, $userfiles->get_name(), $selectvalues));
$userfiles->set_ui(new backup_setting_ui_checkbox($userfiles, get_string('rootsettinguserfiles', 'backup')));
$userfiles->get_ui()->set_changeable($changeable);
$this->add_setting($userfiles);
$users->add_dependency($userfiles);
// Define activitites
$selectvalues = array(0=>get_string('no')); // Safer options
$defaultvalue = false; // Safer default
$changeable = false;
if (isset($rootsettings['activities']) && $rootsettings['activities']) { // Only enabled when available
$selectvalues = array(1=>get_string('yes'), 0=>get_string('no'));
$defaultvalue = true;
$changeable = true;
}
$activities = new restore_activities_setting('activities', base_setting::IS_BOOLEAN, $defaultvalue);
$activities->set_ui(new backup_setting_ui_select($activities, $activities->get_name(), $selectvalues));
$activities->set_ui(new backup_setting_ui_checkbox($activities, get_string('rootsettingactivities', 'backup')));
$activities->get_ui()->set_changeable($changeable);
$this->add_setting($activities);
// Define blocks
$selectvalues = array(0=>get_string('no')); // Safer options
$defaultvalue = false; // Safer default
$changeable = false;
if (isset($rootsettings['blocks']) && $rootsettings['blocks']) { // Only enabled when available
$selectvalues = array(1=>get_string('yes'), 0=>get_string('no'));
$defaultvalue = true;
$changeable = true;
}
$blocks = new restore_generic_setting('blocks', base_setting::IS_BOOLEAN, $defaultvalue);
$blocks->set_ui(new backup_setting_ui_select($blocks, $blocks->get_name(), $selectvalues));
$blocks->set_ui(new backup_setting_ui_checkbox($blocks, get_string('rootsettingblocks', 'backup')));
$blocks->get_ui()->set_changeable($changeable);
$this->add_setting($blocks);
// Define filters
$selectvalues = array(0=>get_string('no')); // Safer options
$defaultvalue = false; // Safer default
$changeable = false;
if (isset($rootsettings['filters']) && $rootsettings['filters']) { // Only enabled when available
$selectvalues = array(1=>get_string('yes'), 0=>get_string('no'));
$defaultvalue = true;
$changeable = true;
}
$filters = new restore_generic_setting('filters', base_setting::IS_BOOLEAN, $defaultvalue);
$filters->set_ui(new backup_setting_ui_select($filters, $filters->get_name(), $selectvalues));
$filters->set_ui(new backup_setting_ui_checkbox($filters, get_string('rootsettingfilters', 'backup')));
$filters->get_ui()->set_changeable($changeable);
$this->add_setting($filters);
// Define comments (dependent of users)
$selectvalues = array(0=>get_string('no')); // Safer options
$defaultvalue = false; // Safer default
$changeable = false;
if (isset($rootsettings['comments']) && $rootsettings['comments']) { // Only enabled when available
$selectvalues = array(1=>get_string('yes'), 0=>get_string('no'));
$defaultvalue = true;
$changeable = true;
}
$comments = new restore_comments_setting('comments', base_setting::IS_BOOLEAN, $defaultvalue);
$comments->set_ui(new backup_setting_ui_select($comments, $comments->get_name(), $selectvalues));
$comments->set_ui(new backup_setting_ui_checkbox($comments, get_string('rootsettingcomments', 'backup')));
$comments->get_ui()->set_changeable($changeable);
$this->add_setting($comments);
$users->add_dependency($comments);
// Define completion (dependent of users)
$selectvalues = array(0=>get_string('no')); // Safer options
$defaultvalue = false; // Safer default
$changeable = false;
if (isset($rootsettings['userscompletion']) && $rootsettings['userscompletion']) { // Only enabled when available
$selectvalues = array(1=>get_string('yes'), 0=>get_string('no'));
$defaultvalue = true;
$changeable = true;
}
$completion = new restore_userscompletion_setting('userscompletion', base_setting::IS_BOOLEAN, $defaultvalue);
$completion->set_ui(new backup_setting_ui_select($completion, $completion->get_name(), $selectvalues));
$completion->set_ui(new backup_setting_ui_checkbox($completion, get_string('rootsettinguserscompletion', 'backup')));
$completion->get_ui()->set_changeable($changeable);
$this->add_setting($completion);
$users->add_dependency($completion);
// Define logs (dependent of users)
$selectvalues = array(0=>get_string('no')); // Safer options
$defaultvalue = false; // Safer default
$changeable = false;
if (isset($rootsettings['logs']) && $rootsettings['logs']) { // Only enabled when available
$selectvalues = array(1=>get_string('yes'), 0=>get_string('no'));
$defaultvalue = true;
$changeable = true;
}
$logs = new restore_logs_setting('logs', base_setting::IS_BOOLEAN, $defaultvalue);
$logs->set_ui(new backup_setting_ui_select($logs, $logs->get_name(), $selectvalues));
$logs->set_ui(new backup_setting_ui_checkbox($logs, get_string('rootsettinglogs', 'backup')));
$logs->get_ui()->set_changeable($changeable);
$this->add_setting($logs);
$users->add_dependency($logs);
// Define grade_histories (dependent of users)
$selectvalues = array(0=>get_string('no')); // Safer options
$defaultvalue = false; // Safer default
$changeable = false;
if (isset($rootsettings['grade_histories']) && $rootsettings['grade_histories']) { // Only enabled when available
$selectvalues = array(1=>get_string('yes'), 0=>get_string('no'));
$defaultvalue = true;
$changeable = true;
}
$gradehistories = new restore_grade_histories_setting('grade_histories', base_setting::IS_BOOLEAN, $defaultvalue);
$gradehistories->set_ui(new backup_setting_ui_select($gradehistories, $gradehistories->get_name(), $selectvalues));
$gradehistories->set_ui(new backup_setting_ui_checkbox($gradehistories, get_string('rootsettinggradehistories', 'backup')));
$gradehistories->get_ui()->set_changeable($changeable);
$this->add_setting($gradehistories);
$users->add_dependency($gradehistories);
}
+1 -1
View File
@@ -9,8 +9,8 @@ $stage = optional_param('stage', restore_ui::STAGE_CONFIRM, PARAM_INT);
list($context, $course, $cm) = get_context_info_array($contextid);
navigation_node::override_active_url(new moodle_url('/backup/restorefile.php', array('contextid'=>$contextid)));
$PAGE->set_url(new moodle_url('/backup/restore.php', array('contextid'=>$contextid)));
navigation_node::override_active_url(new moodle_url('/backup/restore.php', array('contextid'=>$contextid)));
$PAGE->set_context($context);
$PAGE->set_pagelayout('standard');
+31 -2
View File
@@ -225,7 +225,7 @@ abstract class backup_setting_ui extends base_setting_ui {
if ($this->setting->get_level() == backup_setting::SECTION_LEVEL) {
$this->label = get_string('includesection', 'backup', $task->get_name());
} else if ($this->setting->get_level() == backup_setting::ACTIVITY_LEVEL) {
$this->label = get_string('includeother', 'backup', $task->get_name());
$this->label = $task->get_name();
}
}
return $this->label;
@@ -301,6 +301,10 @@ class backup_setting_ui_checkbox extends backup_setting_ui {
* @var int
*/
protected $type = backup_setting::UI_HTML_CHECKBOX;
/**
* @var bool
*/
protected $changeable = true;
/**
* The text to show next to the checkbox
* @var string
@@ -346,6 +350,27 @@ class backup_setting_ui_checkbox extends backup_setting_ui {
return get_string('no');
}
}
/**
* Returns true if the setting is changeable
* @return bool
*/
public function is_changeable() {
if ($this->changeable===false) {
return false;
} else {
return parent::is_changeable();
}
}
/**
* Sets whether the setting is changeable,
* Note dependencies can still mark this setting changeable or not
* @param bool $newvalue
*/
public function set_changeable($newvalue) {
$this->changeable = ($newvalue);
}
}
/**
@@ -465,7 +490,11 @@ class backup_setting_ui_select extends backup_setting_ui {
public function get_static_value() {
return $this->values[$this->get_value()];
}
/**
* Returns true if the setting is changeable, false otherwise
*
* @return bool
*/
public function is_changeable() {
if (count($this->values) == 1) {
return false;
+5 -12
View File
@@ -230,7 +230,7 @@ class backup_ui_stage_schema extends backup_ui_stage {
if (!($task instanceof backup_root_task)) {
if (!$courseheading) {
// If we havn't already display a course heading to group nicely
$form->add_heading('coursesettings', get_string('coursesettings', 'backup'));
$form->add_heading('coursesettings', get_string('includeactivities', 'backup'));
$courseheading = true;
}
// First add each setting
@@ -346,7 +346,7 @@ class backup_ui_stage_confirmation extends backup_ui_stage {
$form->add_heading('rootsettings', get_string('rootsettings', 'backup'));
} else if (!$courseheading) {
// we havn't already add a course heading
$form->add_heading('coursesettings', get_string('coursesettings', 'backup'));
$form->add_heading('coursesettings', get_string('includeactivities', 'backup'));
$courseheading = true;
}
// Iterate all settings, doesnt need to happen by reference
@@ -450,19 +450,12 @@ class backup_ui_stage_complete extends backup_ui_stage_final {
global $OUTPUT;
// Get the resulting stored_file record
$file = $this->results['backup_destination'];
// Turn it into a url for the file browser
$fileurl = new moodle_url('/files/index.php', array(
'contextid' => $file->get_contextid(),
'component' => $file->get_component(),
'filearea' => $file->get_filearea(),
'itemid' => $file->get_itemid(),
'filepath' => $file->get_filepath()
));
$coursecontext = get_context_instance(CONTEXT_COURSE, $this->get_ui()->get_controller()->get_courseid());
$restorerul = new moodle_url('/backup/restorefile.php', array('contextid'=>$coursecontext->id));
echo $OUTPUT->box_start();
echo $OUTPUT->notification(get_string('executionsuccess', 'backup'), 'notifysuccess');
echo $OUTPUT->continue_button($fileurl);
echo $OUTPUT->continue_button($restorerul);
echo $OUTPUT->box_end();
}
}
+1 -1
View File
@@ -91,7 +91,7 @@ class core_backup_renderer extends plugin_renderer_base {
$html .= $this->output->heading(get_string('backupsettings', 'backup'), 2, array('class'=>'header'));
foreach ($details->root_settings as $label=>$value) {
if ($label == 'filename') continue;
$html .= $this->backup_detail_pair(get_string('general'.str_replace('_','',$label), 'backup'), $value?$yestick:$notick);
$html .= $this->backup_detail_pair(get_string('rootsetting'.str_replace('_','',$label), 'backup'), $value?$yestick:$notick);
}
$html .= html_writer::end_tag('div');
+13 -2
View File
@@ -72,7 +72,7 @@ $string['errorfilenamerequired'] = 'You must enter a valid filename for this bac
$string['errorfilenamemustbezip'] = 'The filename you enter must be a ZIP file and have the .zip extension';
$string['errorminbackup20version'] = 'This backup file has been created with one development version of Moodle backup ({$a->backup}). Minimum required is {$a->min}. Cannot be restored.';
$string['errorrestorefrontpage'] = 'Restoring over front page is not allowed.';
$string['executionsuccess'] = 'Your backup completed successfully, clicking the continue button below will take you to view your backup file.';
$string['executionsuccess'] = 'The backup file was successfully created.';
$string['filename'] = 'Filename';
$string['generalactivities'] = 'Include activities';
$string['generalanonymize'] = 'Anonymise information';
@@ -88,8 +88,8 @@ $string['generaluserscompletion'] = 'Include user completion information';
$string['generaluserfiles'] = 'Include user files';
$string['generalusers'] = 'Include users';
$string['importfile'] = 'Import a backup file';
$string['includeactivities'] = 'Choose activities to include';
$string['includesection'] = 'Include section {$a}';
$string['includeother'] = 'Include {$a}';
$string['includeuserinfo'] = 'Include user information';
$string['locked'] = 'Locked';
$string['lockedbypermission'] = 'You don\'t have sufficient permissions to change this setting';
@@ -135,6 +135,17 @@ $string['restoringcourse'] = 'Course restoration in progress';
$string['restoringcourseshortname'] = 'restoring';
$string['restorerolemappings'] = 'Restore role mappings';
$string['rootsettings'] = 'Backup settings';
$string['rootsettingusers'] = 'Include enrolled users';
$string['rootsettinganonymize'] = 'Anonymize user information';
$string['rootsettingroleassignments'] = 'Include user role assignments';
$string['rootsettinguserfiles'] = 'Include user files';
$string['rootsettingactivities'] = 'Include activities';
$string['rootsettingblocks'] = 'Include blocks';
$string['rootsettingfilters'] = 'Include filters';
$string['rootsettingcomments'] = 'Include comments';
$string['rootsettinguserscompletion'] = 'Include user completion details';
$string['rootsettinglogs'] = 'Include course logs';
$string['rootsettinggradehistories'] = 'Include grade history';
$string['scheduledsettings'] = 'Scheduled backup settings';
$string['sectionincanduser'] = 'Included in backup along with user information';
$string['sectioninc'] = 'Included in backup (no user information)';