diff --git a/lib/moodlelib.php b/lib/moodlelib.php index e797bf67fed13..3d1fe458b79c3 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -9335,11 +9335,13 @@ function message_popup_window() { } //got unread messages so now do another query that joins with the user table - $messagesql = "SELECT m.id, m.smallmessage, m.notification, u.firstname, u.lastname FROM {message} m -JOIN {message_working} mw ON m.id=mw.unreadmessageid -JOIN {message_processors} p ON mw.processorid=p.id -JOIN {user} u ON m.useridfrom=u.id -WHERE m.useridto = :userid AND p.name='popup'"; + $messagesql = "SELECT m.id, m.smallmessage, m.fullmessageformat, m.notification, u.firstname, u.lastname + FROM {message} m + JOIN {message_working} mw ON m.id=mw.unreadmessageid + JOIN {message_processors} p ON mw.processorid=p.id + JOIN {user} u ON m.useridfrom=u.id + WHERE m.useridto = :userid + AND p.name='popup'"; //if the user was last notified over an hour ago we can renotify them of old messages //so don't worry about when the new message was sent @@ -9374,6 +9376,13 @@ function message_popup_window() { } else { $smallmessage = $message_users->smallmessage; } + + //prevent html symbols being displayed + if ($message_users->fullmessageformat == FORMAT_HTML) { + $smallmessage = html_to_text($smallmessage); + } else { + $smallmessage = s($smallmessage); + } } else if ($message_users->notification) { //its a notification with no smallmessage so just say they have a notification $smallmessage = get_string('unreadnewnotification', 'message'); diff --git a/message/lib.php b/message/lib.php index 1d4013f6b55bd..3eb5ead693858 100644 --- a/message/lib.php +++ b/message/lib.php @@ -1944,9 +1944,15 @@ function message_format_message($message, $format='', $keywords='', $class='othe //if supplied display small messages as fullmessage may contain boilerplate text that shouldnt appear in the messaging UI if (!empty($message->smallmessage)) { - $messagetext = format_text(s($message->smallmessage), FORMAT_MOODLE, $options); + $messagetext = $message->smallmessage; } else { - $messagetext = format_text(s($message->fullmessage), $message->fullmessageformat, $options); + $messagetext = $message->fullmessage; + } + if ($message->fullmessageformat == FORMAT_HTML) { + //dont escape html tags by calling s() if html format or they will display in the UI + $messagetext = html_to_text(format_text($messagetext, $message->fullmessageformat, $options)); + } else { + $messagetext = format_text(s($messagetext), $message->fullmessageformat, $options); } $messagetext .= message_format_contexturl($message); diff --git a/user/messageselect.php b/user/messageselect.php index 84aafd9130dba..a210d30a94133 100644 --- a/user/messageselect.php +++ b/user/messageselect.php @@ -91,7 +91,7 @@ $count = 0; -if ($post = data_submitted()) { +if ($data = data_submitted()) { foreach ($data as $k => $v) { if (preg_match('/^(user|teacher)(\d+)$/',$k,$m)) { if (!array_key_exists($m[2],$SESSION->emailto[$id])) {