See Release Notes
Long Term Support Release
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 * Provides the information to backup question comments. 19 * 20 * @package qbank_comment 21 * @copyright 2021 Catalyst IT Australia Pty Ltd 22 * @author Matt Porritt <mattp@catalyst-au.net> 23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 */ 25 class backup_qbank_comment_plugin extends \backup_qbank_plugin { 26 27 /** 28 * Returns the comment information to attach to question element. 29 */ 30 protected function define_question_plugin_structure() { 31 32 // Define the virtual plugin element with the condition to fulfill. 33 $plugin = $this->get_plugin_element(); 34 35 // Create one standard named plugin element (the visible container). 36 $pluginwrapper = new backup_nested_element($this->get_recommended_name()); 37 38 // Connect the visible container ASAP. 39 $plugin->add_child($pluginwrapper); 40 41 $comments = new backup_nested_element('comments'); 42 43 $comment = new backup_nested_element('comment', ['id'], ['component', 'commentarea', 'itemid', 'contextid', 44 'content', 'format', 'userid', 'timecreated']); 45 46 $pluginwrapper->add_child($comments); 47 $comments->add_child($comment); 48 49 $comment->set_source_sql( 50 "SELECT c.* 51 FROM {comments} c 52 WHERE c.contextid = :contextid 53 AND c.component = 'qbank_comment' 54 AND c.commentarea = 'question' 55 AND c.itemid = :itemid", 56 [ 57 'contextid' => backup_helper::is_sqlparam(context_system::instance()->id), 58 'itemid' => backup::VAR_PARENTID, 59 ] 60 ); 61 62 $comment->annotate_ids('user', 'userid'); 63 64 return $plugin; 65 } 66 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body