mirror of
https://github.com/moodle/moodle.git
synced 2025-08-07 09:56:38 +02:00
Merge branch 'MDL-56090-master-fix' of github.com:andrewnicols/moodle
This commit is contained in:
commit
c64230234f
2 changed files with 17 additions and 14 deletions
|
@ -49,14 +49,17 @@ class helper {
|
||||||
$sort = 'timecreated ASC') {
|
$sort = 'timecreated ASC') {
|
||||||
global $DB;
|
global $DB;
|
||||||
|
|
||||||
$sql = "SELECT id, useridfrom, useridto, subject, fullmessage, fullmessagehtml, fullmessageformat,
|
$messageid = $DB->sql_concat("'message_'", 'id');
|
||||||
|
$messagereadid = $DB->sql_concat("'messageread_'", 'id');
|
||||||
|
|
||||||
|
$sql = "SELECT {$messageid} AS fakeid, id, useridfrom, useridto, subject, fullmessage, fullmessagehtml, fullmessageformat,
|
||||||
smallmessage, notification, timecreated, 0 as timeread
|
smallmessage, notification, timecreated, 0 as timeread
|
||||||
FROM {message} m
|
FROM {message} m
|
||||||
WHERE ((useridto = ? AND useridfrom = ? AND timeusertodeleted = ?)
|
WHERE ((useridto = ? AND useridfrom = ? AND timeusertodeleted = ?)
|
||||||
OR (useridto = ? AND useridfrom = ? AND timeuserfromdeleted = ?))
|
OR (useridto = ? AND useridfrom = ? AND timeuserfromdeleted = ?))
|
||||||
AND notification = 0
|
AND notification = 0
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT id, useridfrom, useridto, subject, fullmessage, fullmessagehtml, fullmessageformat,
|
SELECT {$messagereadid} AS fakeid, id, useridfrom, useridto, subject, fullmessage, fullmessagehtml, fullmessageformat,
|
||||||
smallmessage, notification, timecreated, timeread
|
smallmessage, notification, timecreated, timeread
|
||||||
FROM {message_read} mr
|
FROM {message_read} mr
|
||||||
WHERE ((useridto = ? AND useridfrom = ? AND timeusertodeleted = ?)
|
WHERE ((useridto = ? AND useridfrom = ? AND timeusertodeleted = ?)
|
||||||
|
|
|
@ -321,33 +321,34 @@ class core_message_events_testcase extends advanced_testcase {
|
||||||
$message->timeusertodeleted = 0;
|
$message->timeusertodeleted = 0;
|
||||||
$message->timecreated = 1;
|
$message->timecreated = 1;
|
||||||
|
|
||||||
|
$messages = [];
|
||||||
// Send this a few times.
|
// Send this a few times.
|
||||||
$messageid1 = $DB->insert_record('message', $message);
|
$messages[] = $DB->insert_record('message', $message);
|
||||||
|
|
||||||
$message->timecreated++;
|
$message->timecreated++;
|
||||||
$messageid2 = $DB->insert_record('message', $message);
|
$messages[] = $DB->insert_record('message', $message);
|
||||||
|
|
||||||
$message->timecreated++;
|
$message->timecreated++;
|
||||||
$messageid3 = $DB->insert_record('message', $message);
|
$messages[] = $DB->insert_record('message', $message);
|
||||||
|
|
||||||
$message->timecreated++;
|
$message->timecreated++;
|
||||||
$messageid4 = $DB->insert_record('message', $message);
|
$messages[] = $DB->insert_record('message', $message);
|
||||||
|
|
||||||
// Create a read message.
|
// Create a read message.
|
||||||
$message->timeread = time();
|
$message->timeread = time();
|
||||||
|
|
||||||
// Send this a few times.
|
// Send this a few times.
|
||||||
$message->timecreated++;
|
$message->timecreated++;
|
||||||
$messageid5 = $DB->insert_record('message_read', $message);
|
$messages[] = $DB->insert_record('message_read', $message);
|
||||||
|
|
||||||
$message->timecreated++;
|
$message->timecreated++;
|
||||||
$messageid6 = $DB->insert_record('message_read', $message);
|
$messages[] = $DB->insert_record('message_read', $message);
|
||||||
|
|
||||||
$message->timecreated++;
|
$message->timecreated++;
|
||||||
$messageid7 = $DB->insert_record('message_read', $message);
|
$messages[] = $DB->insert_record('message_read', $message);
|
||||||
|
|
||||||
$message->timecreated++;
|
$message->timecreated++;
|
||||||
$messageid8 = $DB->insert_record('message_read', $message);
|
$messages[] = $DB->insert_record('message_read', $message);
|
||||||
|
|
||||||
// Trigger and capture the event.
|
// Trigger and capture the event.
|
||||||
$sink = $this->redirectEvents();
|
$sink = $this->redirectEvents();
|
||||||
|
@ -358,16 +359,15 @@ class core_message_events_testcase extends advanced_testcase {
|
||||||
$this->assertEquals(8, count($events));
|
$this->assertEquals(8, count($events));
|
||||||
|
|
||||||
// Check that the event data is valid.
|
// Check that the event data is valid.
|
||||||
$i = 1;
|
$i = 0;
|
||||||
foreach ($events as $event) {
|
foreach ($events as $event) {
|
||||||
$table = ($i > 4) ? 'message_read' : 'message';
|
$table = ($i > 3) ? 'message_read' : 'message';
|
||||||
$messageid = 'messageid' . $i;
|
|
||||||
|
|
||||||
$this->assertInstanceOf('\core\event\message_deleted', $event);
|
$this->assertInstanceOf('\core\event\message_deleted', $event);
|
||||||
$this->assertEquals($message->useridfrom, $event->userid);
|
$this->assertEquals($message->useridfrom, $event->userid);
|
||||||
$this->assertEquals($message->useridto, $event->relateduserid);
|
$this->assertEquals($message->useridto, $event->relateduserid);
|
||||||
$this->assertEquals($table, $event->other['messagetable']);
|
$this->assertEquals($table, $event->other['messagetable']);
|
||||||
$this->assertEquals($$messageid, $event->other['messageid']);
|
$this->assertEquals($messages[$i], $event->other['messageid']);
|
||||||
$this->assertEquals($message->useridfrom, $event->other['useridfrom']);
|
$this->assertEquals($message->useridfrom, $event->other['useridfrom']);
|
||||||
$this->assertEquals($message->useridto, $event->other['useridto']);
|
$this->assertEquals($message->useridto, $event->other['useridto']);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue