aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/includes/notification/type/post.php15
-rw-r--r--tests/notification/submit_post_notifications_test.php24
2 files changed, 16 insertions, 23 deletions
diff --git a/phpBB/includes/notification/type/post.php b/phpBB/includes/notification/type/post.php
index d8ffdea81d..626c13b7fd 100644
--- a/phpBB/includes/notification/type/post.php
+++ b/phpBB/includes/notification/type/post.php
@@ -106,11 +106,26 @@ class phpbb_notification_type_post extends phpbb_notification_type_base
}
$this->db->sql_freeresult($result);
+ $sql = 'SELECT user_id
+ FROM ' . FORUMS_WATCH_TABLE . '
+ WHERE forum_id = ' . (int) $post['forum_id'] . '
+ AND notify_status = ' . NOTIFY_YES . '
+ AND user_id <> ' . (int) $post['poster_id'];
+ $result = $this->db->sql_query($sql);
+ while ($row = $this->db->sql_fetchrow($result))
+ {
+ $users[] = $row['user_id'];
+ }
+ $this->db->sql_freeresult($result);
+
if (empty($users))
{
return array();
}
+ $users = array_unique($users);
+ sort($users);
+
$auth_read = $this->auth->acl_get_list($users, 'f_read', $post['forum_id']);
if (empty($auth_read))
diff --git a/tests/notification/submit_post_notifications_test.php b/tests/notification/submit_post_notifications_test.php
index e08d7a439a..3dfb948ca9 100644
--- a/tests/notification/submit_post_notifications_test.php
+++ b/tests/notification/submit_post_notifications_test.php
@@ -53,14 +53,7 @@ class phpbb_notification_submit_post_notifications_test extends phpbb_database_t
$this->greaterThan(0))
->will($this->returnValueMap(array(
array(
- array(
- 0 => '3',
- 1 => '4',
- 2 => '5',
- 3 => '6',
- 5 => '7',
- 6 => '8',
- ),
+ array('3', '4', '5', '6', '7', '8',),
'f_read',
1,
array(
@@ -69,21 +62,6 @@ class phpbb_notification_submit_post_notifications_test extends phpbb_database_t
),
),
),
- array(
- array(
- 0 => '3',
- 1 => '4',
- 2 => '5',
- 3 => '6',
- ),
- 'f_read',
- 1,
- array(
- 1 => array(
- 'f_read' => array(3, 5, 6,),
- ),
- ),
- ),
)));
// Config