mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
MDL-66709 backup: move question attempt data helpers to a trait
This lets plugins other than activity modules backup and restore question attempt data. The old backup_questions_activity_structure_step and restore_questions_activity_structure_step base classes still exist and work exactly the same way they did before (because they use the trait) so this change is completely backwards compatible. To make this work fully, a few other things in the code had to be tweaked: * Adding restore path elements had to consider the possibility of grouped parents in more places. * I needed to add protected get_task() to the restore_plugin class. I don't think that is a problem. * In the restore trait, the process_question_... methods needed to be changed to public for some reasons to do with PHP traits that I don't fully understand. However, I don't think this change is a problem. * The way question_usage restore got the new contextid had to be changed (or it did not work in activity contexts), but the new code looks like a better way to do it anyway so that is good.
This commit is contained in:
parent
118d62a266
commit
e05d99b94f
4 changed files with 56 additions and 22 deletions
|
@ -125,10 +125,9 @@ abstract class backup_activity_structure_step extends backup_structure_step {
|
|||
}
|
||||
|
||||
/**
|
||||
* Abstract structure step, to be used by all the activities using core questions stuff
|
||||
* (namely quiz module), supporting question plugins, states and sessions
|
||||
* Helper code for use by any plugin that stores question attempt data that it needs to back up.
|
||||
*/
|
||||
abstract class backup_questions_activity_structure_step extends backup_activity_structure_step {
|
||||
trait backup_questions_attempt_data_trait {
|
||||
|
||||
/**
|
||||
* Attach to $element (usually attempts) the needed backup structures
|
||||
|
@ -200,6 +199,17 @@ abstract class backup_questions_activity_structure_step extends backup_activity_
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Abstract structure step to help activities that store question attempt data.
|
||||
*
|
||||
* @copyright 2011 The Open University
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
abstract class backup_questions_activity_structure_step extends backup_activity_structure_step {
|
||||
use backup_questions_attempt_data_trait;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* backup structure step in charge of calculating the categories to be
|
||||
* included in backup, based in the context being backuped (module/course)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue