1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * This file contains the restore code for the feedback_file plugin. 19 * 20 * @package assignfeedback_file 21 * @copyright 2012 NetSpot {@link http://www.netspot.com.au} 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 defined('MOODLE_INTERNAL') || die(); 25 26 /** 27 * Restore subplugin class. 28 * 29 * Provides the necessary information needed 30 * to restore one assign_feedback subplugin. 31 * 32 * @package assignfeedback_file 33 * @copyright 2012 NetSpot {@link http://www.netspot.com.au} 34 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 35 */ 36 class restore_assignfeedback_file_subplugin extends restore_subplugin { 37 38 /** 39 * Returns the paths to be handled by the subplugin at assignment level 40 * @return array 41 */ 42 protected function define_grade_subplugin_structure() { 43 44 $paths = array(); 45 46 $elename = $this->get_namefor('grade'); 47 // We used get_recommended_name() so this works. 48 $elepath = $this->get_pathfor('/feedback_file'); 49 $paths[] = new restore_path_element($elename, $elepath); 50 51 return $paths; 52 } 53 54 /** 55 * Processes one feedback_file element 56 * @param mixed $data 57 */ 58 public function process_assignfeedback_file_grade($data) { 59 global $DB; 60 61 $data = (object)$data; 62 $data->assignment = $this->get_new_parentid('assign'); 63 $oldgradeid = $data->grade; 64 // The mapping is set in the restore for the core assign activity 65 // when a grade node is processed. 66 $data->grade = $this->get_mappingid('grade', $data->grade); 67 68 $DB->insert_record('assignfeedback_file', $data); 69 70 $this->add_related_files('assignfeedback_file', 'feedback_files', 'grade', null, $oldgradeid); 71 } 72 73 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body