'messages' => $messages
]);
+ // Validate messages content before posting them.
+ foreach ($params['messages'] as $message) {
+ // Check message length.
+ if (strlen($message['text']) > \core_message\api::MESSAGE_MAX_LENGTH) {
+ throw new moodle_exception('errormessagetoolong', 'message');
+ }
+ }
+
$messages = [];
foreach ($params['messages'] as $message) {
$createdmessage = \core_message\api::send_message_to_conversation($USER->id, $params['conversationid'], $message['text'],
$errormessage = get_string('touserdoesntexist', 'message', $message['touserid']);
}
+ // Check message length.
+ if ($success && strlen($message['text']) > \core_message\api::MESSAGE_MAX_LENGTH) {
+ $success = false;
+ $errormessage = get_string('errormessagetoolong', 'message');
+ }
+
// TODO MDL-31118 performance improvement - edit the function so we can pass an array instead userid
// Check if the recipient can be messaged by the sender.
if ($success && !\core_message\api::can_send_message($tousers[$message['touserid']]->id, $USER->id)) {