Bug tracker
Removing global message > counter goes up (fix completed in vcs)
After a while I remove the lock and removed the global message to a standard topic.
Then I deleted the topic itself and the forum's counter jumped to 16777215.
Picture: http://img430.imageshack.us/img430/7088/bug8bj.jpg
Comments / History
- Code: Select all
Index: includes/mcp/mcp_main.php
===================================================================
RCS file: /cvsroot/phpbb/phpBB2/includes/mcp/mcp_main.php,v
retrieving revision 1.35
diff -U3 -r1.35 mcp_main.php
--- includes/mcp/mcp_main.php 23 Jun 2006 14:25:21 -0000 1.35
+++ includes/mcp/mcp_main.php 5 Jul 2006 15:16:09 -0000
@@ -320,17 +320,41 @@
{
$sql = 'UPDATE ' . TOPICS_TABLE . "
SET topic_type = $new_topic_type, forum_id = $forum_id
- WHERE topic_id IN (" . implode(', ', $topic_ids) . ')
+ WHERE topic_id IN (" . implode(', ', $topic_ids) . ')
AND forum_id = 0';
$db->sql_query($sql);
+
+ // Update forum_ids for all posts
+ $sql = 'UPDATE ' . POSTS_TABLE . "
+ SET forum_id = $forum_id
+ WHERE topic_id IN (" . implode(', ', $topic_ids) . ')
+ AND forum_id = 0';
+ $db->sql_query($sql);
+
+ sync('forum', 'forum_id', $forum_id);
}
}
else
{
+ // Globalise
+
+ // Delete topic shadows (if any exist). We do not need a shadow topic for an global announcement
+ $sql = 'DELETE FROM ' . TOPICS_TABLE . '
+ WHERE topic_moved_id IN ( ' . implode(', ', $topic_ids) . ')';
+ $db->sql_query($sql);
+
$sql = 'UPDATE ' . TOPICS_TABLE . "
SET topic_type = $new_topic_type, forum_id = 0
- WHERE topic_id IN (" . implode(', ', $topic_ids) . ")";
+ WHERE topic_id IN (" . implode(', ', $topic_ids) . ')';
$db->sql_query($sql);
+
+ // Update forum_ids for all posts
+ $sql = 'UPDATE ' . POSTS_TABLE . '
+ SET forum_id = 0
+ WHERE topic_id IN (' . implode(', ', $topic_ids) . ')';
+ $db->sql_query($sql);
+
+ sync('forum', 'forum_id', $forum_id);
}
$success_msg = (sizeof($topic_ids) == 1) ? 'TOPIC_TYPE_CHANGED' : 'TOPICS_TYPE_CHANGED';