Merge branch 'MDL-42626-master' of git://github.com/jleyva/moodle

This commit is contained in:
Andrew Nicols
2015-08-04 10:07:40 +08:00
3 changed files with 33 additions and 3 deletions
+3 -3
View File
@@ -242,7 +242,7 @@ function message_get_blocked_users($user1=null, $user2=null) {
FROM {message_contacts} mc
JOIN {user} u ON u.id = mc.contactid
LEFT OUTER JOIN {message} m ON m.useridfrom = mc.contactid AND m.useridto = :user1id1
WHERE mc.userid = :user1id2 AND mc.blocked = 1
WHERE u.deleted = 0 AND mc.userid = :user1id2 AND mc.blocked = 1
GROUP BY $userfields
ORDER BY u.firstname ASC";
$rs = $DB->get_recordset_sql($blockeduserssql, array('user1id1' => $user1->id, 'user1id2' => $user1->id));
@@ -339,7 +339,7 @@ function message_get_contacts($user1=null, $user2=null) {
FROM {message_contacts} mc
JOIN {user} u ON u.id = mc.contactid
LEFT OUTER JOIN {message} m ON m.useridfrom = mc.contactid AND m.useridto = ?
WHERE mc.userid = ? AND mc.blocked = 0
WHERE u.deleted = 0 AND mc.userid = ? AND mc.blocked = 0
GROUP BY $userfields
ORDER BY u.firstname ASC";
@@ -365,7 +365,7 @@ function message_get_contacts($user1=null, $user2=null) {
FROM {message} m
JOIN {user} u ON u.id = m.useridfrom
LEFT OUTER JOIN {message_contacts} mc ON mc.contactid = m.useridfrom AND mc.userid = m.useridto
WHERE mc.id IS NULL AND m.useridto = ?
WHERE u.deleted = 0 AND mc.id IS NULL AND m.useridto = ?
GROUP BY $userfields
ORDER BY u.firstname ASC";
+17
View File
@@ -322,8 +322,19 @@ class core_message_externallib_testcase extends externallib_advanced_testcase {
// Checking some of the fields returned.
$stranger = array_pop($contacts['strangers']);
$this->assertEquals(core_user::NOREPLY_USER, $stranger['id']);
$this->assertEquals(1, $stranger['unread']);
// Check that deleted users are not returned.
delete_user($user_offline1);
delete_user($user_stranger);
delete_user($user_online);
$contacts = core_message_external::get_contacts();
$contacts = external_api::clean_returnvalue(core_message_external::get_contacts_returns(), $contacts);
$this->assertCount(2, $contacts['offline']);
$this->assertCount(0, $contacts['online']);
$this->assertCount(1, $contacts['strangers']);
}
/**
@@ -618,6 +629,12 @@ class core_message_externallib_testcase extends externallib_advanced_testcase {
$blockedusers = external_api::clean_returnvalue(core_message_external::get_blocked_users_returns(), $blockedusers);
$this->assertCount(1, $blockedusers['users']);
// Remove the $userblocked and check that the list now is empty.
delete_user($userblocked);
$blockedusers = core_message_external::get_blocked_users($user1->id);
$blockedusers = external_api::clean_returnvalue(core_message_external::get_blocked_users_returns(), $blockedusers);
$this->assertCount(0, $blockedusers['users']);
}
/**
+13
View File
@@ -98,6 +98,10 @@ class core_message_messagelib_testcase extends advanced_testcase {
// Block other user.
message_block_contact($user1->id);
$this->assertCount(2, message_get_blocked_users());
// Test deleting users.
delete_user($user1);
$this->assertCount(1, message_get_blocked_users());
}
/**
@@ -154,6 +158,15 @@ class core_message_messagelib_testcase extends advanced_testcase {
$this->assertCount(0, $onlinecontacts);
$this->assertCount(1, $offlinecontacts);
$this->assertCount(2, $strangers);
// Test deleting users.
delete_user($user1);
delete_user($user3);
list($onlinecontacts, $offlinecontacts, $strangers) = message_get_contacts();
$this->assertCount(0, $onlinecontacts);
$this->assertCount(0, $offlinecontacts);
$this->assertCount(1, $strangers);
}
/**