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 * Backup code for qtype_ddmarker. 19 * 20 * @package qtype_ddmarker 21 * @copyright 2012 The Open University 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 defined('MOODLE_INTERNAL') || die(); 25 26 27 /** 28 * Provides the information to backup ddmarker questions. 29 * 30 * @copyright 2011 The Open University 31 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 32 */ 33 class backup_qtype_ddmarker_plugin extends backup_qtype_plugin { 34 /** 35 * Get the name of this question type. 36 * 37 * @return string the question type, like 'ddmarker'. 38 */ 39 protected static function qtype_name() { 40 return 'ddmarker'; 41 } 42 43 /** 44 * Returns the qtype information to attach to question element 45 */ 46 protected function define_question_plugin_structure() { 47 $qtype = self::qtype_name(); 48 $plugin = $this->get_plugin_element(null, '../../qtype', $qtype); 49 50 $pluginwrapper = new backup_nested_element($this->get_recommended_name()); 51 52 $plugin->add_child($pluginwrapper); 53 54 $dds = new backup_nested_element($qtype, array('id'), array( 55 'shuffleanswers', 'correctfeedback', 'correctfeedbackformat', 56 'partiallycorrectfeedback', 'partiallycorrectfeedbackformat', 57 'incorrectfeedback', 'incorrectfeedbackformat', 'shownumcorrect', 58 'showmisplaced') 59 ); 60 61 $pluginwrapper->add_child($dds); 62 $drags = new backup_nested_element('drags'); 63 64 $drag = new backup_nested_element('drag', array('id'), 65 array('no', 'infinite', 'label', 'noofdrags')); 66 $drops = new backup_nested_element('drops'); 67 68 $drop = new backup_nested_element('drop', array('id'), 69 array('no', 'shape', 'coords', 'choice')); 70 71 $dds->set_source_table("qtype_{$qtype}", 72 array('questionid' => backup::VAR_PARENTID)); 73 74 $pluginwrapper->add_child($drags); 75 $drags->add_child($drag); 76 $pluginwrapper->add_child($drops); 77 $drops->add_child($drop); 78 79 $drag->set_source_table("qtype_{$qtype}_drags", 80 array('questionid' => backup::VAR_PARENTID)); 81 82 $drop->set_source_table("qtype_{$qtype}_drops", 83 array('questionid' => backup::VAR_PARENTID)); 84 85 return $plugin; 86 } 87 88 /** 89 * Returns one array with filearea => mappingname elements for the qtype 90 * 91 * Used by {@link get_components_and_fileareas} to know about all the qtype 92 * files to be processed both in backup and restore. 93 */ 94 public static function get_qtype_fileareas() { 95 $qtype = self::qtype_name(); 96 return array( 97 'correctfeedback' => 'question_created', 98 'partiallycorrectfeedback' => 'question_created', 99 'incorrectfeedback' => 'question_created', 100 101 'bgimage' => 'question_created'); 102 } 103 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body