diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2013-03-23 13:25:01 +0100 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2013-03-25 09:28:53 +0100 |
commit | a91ffe06c79dd067162fe3d659be44382a20df0e (patch) | |
tree | f2d80078c93df1ef57efb30cfd289f4d6ebf93c6 | |
parent | bc5f8e30d09be1ded463b7d7a0e0d9b001de6b3b (diff) | |
download | forums-a91ffe06c79dd067162fe3d659be44382a20df0e.tar forums-a91ffe06c79dd067162fe3d659be44382a20df0e.tar.gz forums-a91ffe06c79dd067162fe3d659be44382a20df0e.tar.bz2 forums-a91ffe06c79dd067162fe3d659be44382a20df0e.tar.xz forums-a91ffe06c79dd067162fe3d659be44382a20df0e.zip |
[ticket/11405] Send post notifications to forum subscribers
Like in 3.0 we should also send notifications about new posts to users
that subscribed to the forum. (Subscriptions are verbose)
PHPBB3-11405
-rw-r--r-- | phpBB/includes/notification/type/post.php | 15 | ||||
-rw-r--r-- | tests/notification/submit_post_notifications_test.php | 24 |
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 |