mirror of
https://github.com/moodle/moodle.git
synced 2025-01-18 22:08:20 +01:00
e05d99b94f
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.