This commit is contained in:
Eloy Lafuente (stronk7) 2014-08-03 19:57:22 +02:00
commit 1ad873c32f

View file

@ -8762,8 +8762,7 @@ function message_popup_window() {
} }
// There are unread messages so now do a more complex but slower query. // There are unread messages so now do a more complex but slower query.
$namefields = get_all_user_name_fields(true, 'u'); $messagesql = "SELECT m.id, c.blocked
$messagesql = "SELECT m.id, m.smallmessage, m.fullmessageformat, m.notification, m.useridto, m.useridfrom, $namefields, c.blocked
FROM {message} m FROM {message} m
JOIN {message_working} mw ON m.id=mw.unreadmessageid JOIN {message_working} mw ON m.id=mw.unreadmessageid
JOIN {message_processors} p ON mw.processorid=p.id JOIN {message_processors} p ON mw.processorid=p.id
@ -8780,13 +8779,15 @@ function message_popup_window() {
$messagesql .= 'AND m.timecreated > :lastpopuptime'; $messagesql .= 'AND m.timecreated > :lastpopuptime';
} }
$messageusers = $DB->get_records_sql($messagesql, array('userid' => $USER->id, 'lastpopuptime' => $USER->message_lastpopup)); $waitingmessages = $DB->get_records_sql($messagesql, array('userid' => $USER->id, 'lastpopuptime' => $USER->message_lastpopup));
$validmessages = 0; $validmessages = 0;
foreach($messageusers as $message) { foreach ($waitingmessages as $messageinfo) {
if ($message->blocked) { if ($messageinfo->blocked) {
// Message is from a user who has since been blocked so just mark it read. // Message is from a user who has since been blocked so just mark it read.
message_mark_message_read($message, time()); // Get the full message to mark as read.
$messageobject = $DB->get_record('message', array('id' => $messageinfo->id));
message_mark_message_read($messageobject, time());
} else { } else {
$validmessages++; $validmessages++;
} }