diff -r 000000000000 -r f9ffdbd96607 punbb/include/common_admin.php
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/punbb/include/common_admin.php Wed Jul 11 21:01:48 2007 -0400
@@ -0,0 +1,149 @@
+
+
+
+
+query('SELECT id FROM '.$db->prefix.'topics WHERE forum_id='.$forum_id.$extra_sql, true) or error('Unable to fetch topics', __FILE__, __LINE__, $db->error());
+
+ $topic_ids = '';
+ while ($row = $db->fetch_row($result))
+ $topic_ids .= (($topic_ids != '') ? ',' : '').$row[0];
+
+ if ($topic_ids != '')
+ {
+ // Fetch posts to prune
+ $result = $db->query('SELECT id FROM '.$db->prefix.'posts WHERE topic_id IN('.$topic_ids.')', true) or error('Unable to fetch posts', __FILE__, __LINE__, $db->error());
+
+ $post_ids = '';
+ while ($row = $db->fetch_row($result))
+ $post_ids .= (($post_ids != '') ? ',' : '').$row[0];
+
+ if ($post_ids != '')
+ {
+ // Delete topics
+ $db->query('DELETE FROM '.$db->prefix.'topics WHERE id IN('.$topic_ids.')') or error('Unable to prune topics', __FILE__, __LINE__, $db->error());
+ // Delete subscriptions
+ $db->query('DELETE FROM '.$db->prefix.'subscriptions WHERE topic_id IN('.$topic_ids.')') or error('Unable to prune subscriptions', __FILE__, __LINE__, $db->error());
+ // Delete posts
+ $db->query('DELETE FROM '.$db->prefix.'posts WHERE id IN('.$post_ids.')') or error('Unable to prune posts', __FILE__, __LINE__, $db->error());
+
+ // We removed a bunch of posts, so now we have to update the search index
+ require_once PUN_ROOT.'include/search_idx.php';
+ strip_search_index($post_ids);
+ }
+ }
+}