1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-05 16:27:38 +02:00

- sync now correctly handles approved posts in unapproved topics (last_post info)

git-svn-id: file:///svn/phpbb/trunk@7191 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Nils Adermann
2007-03-14 21:40:52 +00:00
parent 59231a0024
commit 73ae601158
2 changed files with 36 additions and 19 deletions

View File

@@ -1481,18 +1481,22 @@ function sync($mode, $where_type = '', $where_ids = '', $resync_parents = false,
// 3: Get post count and last_post_id for each forum
if (sizeof($forum_ids) == 1)
{
$sql = 'SELECT COUNT(post_id) AS forum_posts, MAX(post_id) AS last_post_id
FROM ' . POSTS_TABLE . '
WHERE ' . $db->sql_in_set('forum_id', $forum_ids) . '
AND post_approved = 1';
$sql = 'SELECT COUNT(p.post_id) AS forum_posts, MAX(p.post_id) AS last_post_id
FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t
WHERE ' . $db->sql_in_set('p.forum_id', $forum_ids) . '
AND p.topic_id = t.topic_id
AND t.topic_approved = 1
AND p.post_approved = 1';
}
else
{
$sql = 'SELECT forum_id, COUNT(post_id) AS forum_posts, MAX(post_id) AS last_post_id
FROM ' . POSTS_TABLE . '
WHERE ' . $db->sql_in_set('forum_id', $forum_ids) . '
AND post_approved = 1
GROUP BY forum_id';
$sql = 'SELECT forum_id, COUNT(p.post_id) AS forum_posts, MAX(p.post_id) AS last_post_id
FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t
WHERE ' . $db->sql_in_set('p.forum_id', $forum_ids) . '
AND p.topic_id = t.topic_id
AND t.topic_approved = 1
AND p.post_approved = 1
GROUP BY p.forum_id';
}
$result = $db->sql_query($sql);