From facd14b47ea4e30ba785be2bf5ec331618aa6ff5 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Tue, 15 Aug 2023 10:38:24 +0200 Subject: [PATCH] [ticket/17029] Update post count when changing post visibility PHPBB3-17029 --- phpBB/phpbb/content_visibility.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/phpBB/phpbb/content_visibility.php b/phpBB/phpbb/content_visibility.php index 316df79319..34232e36ae 100644 --- a/phpBB/phpbb/content_visibility.php +++ b/phpBB/phpbb/content_visibility.php @@ -501,11 +501,15 @@ class content_visibility $postcounts[$num_posts][] = $poster_id; } + $postcount_change = 0; + // Update users postcounts foreach ($postcounts as $num_posts => $poster_ids) { if (in_array($visibility, array(ITEM_REAPPROVE, ITEM_DELETED))) { + $postcount_change -= $num_posts; + $sql = 'UPDATE ' . $this->users_table . ' SET user_posts = 0 WHERE ' . $this->db->sql_in_set('user_id', $poster_ids) . ' @@ -520,6 +524,8 @@ class content_visibility } else { + $postcount_change += $num_posts; + $sql = 'UPDATE ' . $this->users_table . ' SET user_posts = user_posts + ' . $num_posts . ' WHERE ' . $this->db->sql_in_set('user_id', $poster_ids); @@ -527,6 +533,11 @@ class content_visibility } } + if ($postcount_change != 0) + { + $this->config->increment('num_posts', $postcount_change, false); + } + $update_topic_postcount = true; // Sync the first/last topic information if needed