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 * Class for exporting a chat message. 19 * 20 * @package mod_chat 21 * @copyright 2017 Juan Leyva <juan@moodle.com> 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 namespace mod_chat\external; 25 defined('MOODLE_INTERNAL') || die(); 26 27 use core\external\exporter; 28 29 /** 30 * Class for exporting a chat message. 31 * 32 * @copyright 2017 Juan Leyva <juan@moodle.com> 33 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 34 */ 35 class chat_message_exporter extends exporter { 36 37 /** 38 * Defines exporter properties. 39 * 40 * @return array 41 */ 42 protected static function define_properties() { 43 return array( 44 'id' => array( 45 'type' => PARAM_INT, 46 'description' => 'The message record id.', 47 ), 48 'chatid' => array( 49 'type' => PARAM_INT, 50 'description' => 'The chat id.', 51 'default' => 0, 52 ), 53 'userid' => array( 54 'type' => PARAM_INT, 55 'description' => 'The user who wrote the message.', 56 'default' => 0, 57 ), 58 'groupid' => array( 59 'type' => PARAM_INT, 60 'description' => 'The group this message belongs to.', 61 'default' => 0, 62 ), 63 'issystem' => array( 64 'type' => PARAM_BOOL, 65 'description' => 'Whether is a system message or not.', 66 'default' => false, 67 ), 68 'message' => array( 69 'type' => PARAM_RAW, 70 'description' => 'The message text.', 71 ), 72 'timestamp' => array( 73 'type' => PARAM_INT, 74 'description' => 'The message timestamp (indicates when the message was sent).', 75 'default' => 0, 76 ), 77 ); 78 } 79 80 /** 81 * Defines related information. 82 * 83 * @return array 84 */ 85 protected static function define_related() { 86 return array( 87 'context' => 'context', 88 ); 89 } 90 91 /** 92 * Get the formatting parameters for the name. 93 * 94 * @return array 95 */ 96 protected function get_format_parameters_for_message() { 97 return [ 98 'component' => 'mod_chat', 99 ]; 100 } 101 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body