From 57d94b7bb42f5dd963156e28ecbb24d32967aa3f Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sat, 9 Aug 2014 17:43:28 +0200 Subject: [PATCH] [ticket/12742] Add sort options for notification types requiring sorting PHPBB3-12742 --- phpBB/phpbb/notification/type/base.php | 8 +++++++- phpBB/phpbb/notification/type/post.php | 2 +- phpBB/phpbb/notification/type/quote.php | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/phpBB/phpbb/notification/type/base.php b/phpBB/phpbb/notification/type/base.php index 895127f831..4ead06071e 100644 --- a/phpBB/phpbb/notification/type/base.php +++ b/phpBB/phpbb/notification/type/base.php @@ -540,9 +540,10 @@ abstract class base implements \phpbb\notification\type\type_interface * @param array $users Array of users that have subscribed to a notification * @param int $forum_id Forum ID of the forum * @param array $options Array of notification options + * @param bool $sort Whether the users array should be sorted. Default: false * @return array Array of users that are authorised recipients */ - protected function get_authorised_recipients($users, $forum_id, $options) + protected function get_authorised_recipients($users, $forum_id, $options, $sort = false) { if (empty($users)) { @@ -551,6 +552,11 @@ abstract class base implements \phpbb\notification\type\type_interface $users = array_unique($users); + if ($sort) + { + sort($users); + } + $auth_read = $this->auth->acl_get_list($users, 'f_read', $forum_id); if (empty($auth_read)) diff --git a/phpBB/phpbb/notification/type/post.php b/phpBB/phpbb/notification/type/post.php index 1bd95bfbf6..1eba4a6a88 100644 --- a/phpBB/phpbb/notification/type/post.php +++ b/phpBB/phpbb/notification/type/post.php @@ -123,7 +123,7 @@ class post extends \phpbb\notification\type\base } $this->db->sql_freeresult($result); - $notify_users = $this->get_authorised_recipients($users, $post['forum_id'], $options); + $notify_users = $this->get_authorised_recipients($users, $post['forum_id'], $options, true); if (empty($notify_users)) { diff --git a/phpBB/phpbb/notification/type/quote.php b/phpBB/phpbb/notification/type/quote.php index 42ec663bfc..5c3c822ec2 100644 --- a/phpBB/phpbb/notification/type/quote.php +++ b/phpBB/phpbb/notification/type/quote.php @@ -102,7 +102,7 @@ class quote extends \phpbb\notification\type\post } $this->db->sql_freeresult($result); - return $this->get_authorised_recipients($users, $post['forum_id'], $options); + return $this->get_authorised_recipients($users, $post['forum_id'], $options, true); } /**