Commit | Line | Data |
---|---|---|
1d422980 | 1 | <?php |
6fbd60ef AD |
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/>. | |
3b120e46 | 16 | |
17 | /** | |
6fbd60ef | 18 | * Contains a base class for extension by message processors |
3b120e46 | 19 | * |
6fbd60ef AD |
20 | * @package core_message |
21 | * @copyright Luis Rodrigues | |
22 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | |
3b120e46 | 23 | */ |
6fbd60ef | 24 | |
3b120e46 | 25 | /** |
6fbd60ef AD |
26 | * Base message processor class for extension by message processors |
27 | * | |
28 | * @package core_message | |
29 | * @copyright 2008 Luis Rodrigues | |
30 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | |
3b120e46 | 31 | */ |
1d422980 | 32 | abstract class message_output { |
6fbd60ef AD |
33 | /** |
34 | * Process a message received by a user | |
35 | * | |
36 | * @see message_send() | |
37 | * @param stdClass $message The event data submitted by the message provider to message_send() plus $eventdata->savedmessageid | |
38 | */ | |
3b120e46 | 39 | public abstract function send_message($message); |
6fbd60ef AD |
40 | |
41 | /** | |
42 | * Load the config data from database to put on the config form on the messaging preferences page | |
43 | * | |
44 | * @param array $preferences Array of user preferences | |
45 | * @param int $userid The user ID | |
46 | */ | |
3b120e46 | 47 | public abstract function load_data(&$preferences, $userid); |
6fbd60ef AD |
48 | |
49 | /** | |
50 | * Create necessary fields in the config form on the messaging preferences page | |
51 | * | |
52 | * @param array $preferences An array of user preferences | |
53 | */ | |
f3d095f8 | 54 | public abstract function config_form($preferences); |
6fbd60ef | 55 | |
cd8f78c8 | 56 | /** |
6fbd60ef AD |
57 | * Parse the submitted form and save data into an array of user preferences |
58 | * | |
59 | * @param stdClass $form preferences form class | |
60 | * @param array $preferences preferences array | |
61 | */ | |
62 | public abstract function process_form($form, &$preferences); | |
63 | ||
64 | /** | |
65 | * Are the message processor's system settings configured? | |
66 | * | |
67 | * @return bool True if all necessary config settings been entered | |
cd8f78c8 RK |
68 | */ |
69 | public function is_system_configured() { | |
70 | return true; | |
71 | } | |
6fbd60ef | 72 | |
cd8f78c8 | 73 | /** |
6fbd60ef AD |
74 | * Are the message processor's user specific settings configured? |
75 | * | |
76 | * @param stdClass $user the user object, defaults to $USER. | |
77 | * @return bool True if the user has all necessary settings in their messaging preferences | |
cd8f78c8 RK |
78 | */ |
79 | public function is_user_configured($user = null) { | |
80 | return true; | |
81 | } | |
82 | ||
7529f9e9 | 83 | /** |
6fbd60ef AD |
84 | * Returns the message processors default settings |
85 | * Should the processor be enabled for logged in users by default? | |
86 | * Should the processor be enabled for logged off users by default? | |
87 | * Is enabling it disallowed, permitted or forced? | |
88 | * | |
89 | * @return int The Default message output settings expressed as a bit mask | |
90 | * MESSAGE_DEFAULT_LOGGEDIN + MESSAGE_DEFAULT_LOGGEDOFF + MESSAGE_DISALLOWED|MESSAGE_PERMITTED|MESSAGE_FORCED | |
7529f9e9 TH |
91 | */ |
92 | public function get_default_messaging_settings() { | |
93 | return MESSAGE_PERMITTED; | |
94 | } | |
3b120e46 | 95 | } |
96 | ||
97 | ||
1d422980 | 98 |