. /** * This file contains the class for backup of this submission plugin * * @package assignsubmission_file * @copyright 2012 NetSpot {@link http://www.netspot.com.au} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); /** * Provides the information to backup submission files * * This just adds its filearea to the annotations and records the number of files * * @package assignsubmission_file * @copyright 2012 NetSpot {@link http://www.netspot.com.au} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class backup_assignsubmission_file_subplugin extends backup_subplugin { /** * Returns the subplugin information to attach to submission element * @return backup_subplugin_element */ protected function define_submission_subplugin_structure() { // Create XML elements. $subplugin = $this->get_subplugin_element(); $subpluginwrapper = new backup_nested_element($this->get_recommended_name()); $subpluginelement = new backup_nested_element('submission_file', null, array('numfiles', 'submission')); // Connect XML elements into the tree. $subplugin->add_child($subpluginwrapper); $subpluginwrapper->add_child($subpluginelement); // Set source to populate the data. $subpluginelement->set_source_table('assignsubmission_file', array('submission' => backup::VAR_PARENTID)); // The parent is the submission. $subpluginelement->annotate_files('assignsubmission_file', 'submission_files', 'submission'); return $subplugin; } }