aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/develop/merge_post_tables.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/develop/merge_post_tables.php')
-rw-r--r--phpBB/develop/merge_post_tables.php209
1 files changed, 0 insertions, 209 deletions
diff --git a/phpBB/develop/merge_post_tables.php b/phpBB/develop/merge_post_tables.php
deleted file mode 100644
index 3567a569c6..0000000000
--- a/phpBB/develop/merge_post_tables.php
+++ /dev/null
@@ -1,209 +0,0 @@
-<?php
-/***************************************************************************
- * merge_clean_posts.php
- * -------------------
- * begin : Tuesday, February 25, 2003
- * copyright : (C) 2003 The phpBB Group
- * email : support@phpbb.com
- *
- * $Id$
- *
- ***************************************************************************/
-
-/***************************************************************************
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- ***************************************************************************/
-
-//
-// Security message:
-//
-// This script is potentially dangerous.
-// Remove or comment the next line (die(".... ) to enable this script.
-// Do NOT FORGET to either remove this script or disable it after you have used it.
-//
-die("Please read the first lines of this script for instructions on how to enable it");
-
-@set_time_limit(2400);
-
-$db = $dbhost = $dbuser = $dbpasswd = $dbport = $dbname = '';
-
-define('IN_PHPBB', 1);
-define('ANONYMOUS', 1);
-$phpbb_root_path='./../';
-include($phpbb_root_path . 'extension.inc');
-include($phpbb_root_path . 'config.'.$phpEx);
-include($phpbb_root_path . 'includes/functions.'.$phpEx);
-require($phpbb_root_path . 'includes/acm/cache_' . $acm_type . '.'.$phpEx);
-include($phpbb_root_path . 'db/' . $dbms . '.'.$phpEx);
-
-$cache = new acm();
-$db = new sql_db($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false);
-
-// Just Do it (tm)
-$sql = "RENAME TABLE {$table_prefix}posts TO {$table_prefix}posts_temp";
-$db->sql_query($sql);
-
-$sql = "CREATE TABLE {$table_prefix}posts
- SELECT p.*, pt.post_subject, pt.post_text, pt.post_checksum, pt.bbcode_bitfield, pt.bbcode_uid
- FROM {$table_prefix}posts_temp p, {$table_prefix}posts_text pt
- WHERE pt.post_id = p.post_id";
-$db->sql_query($sql);
-
-switch ($db->sql_layer)
-{
- case 'mysql':
- case 'mysql4':
- $sql = 'ALTER TABLE ' . $table_prefix . 'posts
- ADD PRIMARY KEY (post_id),
- ADD INDEX topic_id (topic_id),
- ADD INDEX poster_ip (poster_ip),
- ADD INDEX post_approved (post_approved),
- MODIFY COLUMN post_id mediumint(8) UNSIGNED NOT NULL auto_increment,
- ADD COLUMN post_encoding varchar(11) DEFAULT \'iso-8859-15\' NOT NULL';
- break;
-
- case 'mssql':
- case 'mssql-odbc':
- case 'msaccess':
- break;
-
- case 'postgresql':
- break;
-}
-$db->sql_query($sql);
-
-$sql = "UPDATE {$table_prefix}topics SET topic_poster = 1 WHERE topic_poster = 0 OR topic_poster IS NULL";
-$db->sql_query($sql);
-$sql = "UPDATE {$table_prefix}topics SET topic_last_poster_id = 1 WHERE topic_last_poster_id = 0 OR topic_last_poster_id IS NULL";
-$db->sql_query($sql);
-$sql = "UPDATE {$table_prefix}posts SET poster_id = 1 WHERE poster_id = 0 OR poster_id IS NULL";
-$db->sql_query($sql);
-$sql = "UPDATE {$table_prefix}users SET user_id = 1 WHERE user_id = 0";
-$db->sql_query($sql);
-
-$sql = "SELECT t.topic_id
- FROM {$table_prefix}topics t
- LEFT JOIN {$table_prefix}posts p ON p.topic_id = t.topic_id
- WHERE p.topic_id IS NULL";
-$result = $db->sql_query($sql);
-
-if ($row = $db->sql_fetchrow($result))
-{
- $del_sql = '';
- do
- {
- $del_sql .= (($del_sql != '') ? ', ' : '') . $row['topic_id'];
- }
- while ($row = $db->sql_fetchrow($result));
-
- $sql = "DELETE FROM {$table_prefix}topics
- WHERE topic_id IN ($del_sql)";
- $db->sql_query($sql);
-}
-$db->sql_freeresult($result);
-
-$del_sql = '';
-$sql = "SELECT topic_id, MIN(post_id) AS first_post_id, MAX(post_id) AS last_post_id, COUNT(post_id) AS total_posts
- FROM {$table_prefix}posts
- GROUP BY topic_id";
-$result = $db->sql_query($sql);
-
-while ($row = $db->sql_fetchrow($result))
-{
- $del_sql .= (($del_sql != '') ? ', ' : '') . $row['topic_id'];
-
- $sql = "UPDATE {$table_prefix}topics
- SET topic_first_post_id = " . $row['first_post_id'] . ", topic_last_post_id = " . $row['last_post_id'] . ", topic_replies = " . ($row['total_posts'] - 1) . "
- WHERE topic_id = " . $row['topic_id'];
- $db->sql_query($sql);
-}
-$db->sql_freeresult($result);
-
-$sql = "DELETE FROM {$table_prefix}topics WHERE topic_id NOT IN ($del_sql)";
-$db->sql_query($sql);
-
-$topic_count = $post_count = array();
-$sql = "SELECT forum_id, COUNT(topic_id) AS topics
- FROM {$table_prefix}topics
- GROUP BY forum_id";
-$result = $db->sql_query($sql);
-
-while ($row = $db->sql_fetchrow($result))
-{
- $topic_count[$row['forum_id']] = $row['topics'];
-}
-$db->sql_freeresult($result);
-
-$sql = "SELECT forum_id, COUNT(post_id) AS posts
- FROM {$table_prefix}posts
- GROUP BY forum_id";
-$result = $db->sql_query($sql);
-
-while ($row = $db->sql_fetchrow($result))
-{
- $post_count[$row['forum_id']] = $row['posts'];
-}
-$db->sql_freeresult($result);
-
-switch ($db->sql_layer)
-{
- case 'oracle':
- $sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
- FROM " . $table_prefix . "forums f, " . $table_prefix . "posts p, " . $table_prefix . "users u
- WHERE p.post_id = f.forum_last_post_id(+)
- AND u.user_id = p.poster_id(+)";
- break;
-
- default:
- $sql = "SELECT f.forum_id, p.post_time, p.post_username, u.username, u.user_id
- FROM ((" . $table_prefix . "forums f
- LEFT JOIN " . $table_prefix . "posts p ON p.post_id = f.forum_last_post_id)
- LEFT JOIN " . $table_prefix . "users u ON u.user_id = p.poster_id)";
- break;
-}
-$result = $db->sql_query($sql);
-
-$sql_ary = array();
-while ($row = $db->sql_fetchrow($result))
-{
- $forum_id = $row['forum_id'];
-
- $sql_ary[] = "UPDATE " . $table_prefix . "forums
- SET forum_last_poster_id = " . ((!empty($row['user_id']) && $row['user_id'] != ANONYMOUS) ? $row['user_id'] : ANONYMOUS) . ", forum_last_poster_name = '" . ((!empty($row['user_id']) && $row['user_id'] != ANONYMOUS) ? addslashes($row['username']) : addslashes($row['post_username'])) . "', forum_last_post_time = " . $row['post_time'] . ", forum_posts = " . (($post_count[$forum_id]) ? $post_count[$forum_id] : 0) . ", forum_topics = " . (($topic_count[$forum_id]) ? $topic_count[$forum_id] : 0) . "
- WHERE forum_id = $forum_id";
-
- $sql = "SELECT t.topic_id, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time
- FROM " . $table_prefix . "topics t, " . $table_prefix . "users u, " . $table_prefix . "posts p, " . $table_prefix . "posts p2, " . $table_prefix . "users u2
- WHERE t.forum_id = $forum_id
- AND u.user_id = t.topic_poster
- AND p.post_id = t.topic_first_post_id
- AND p2.post_id = t.topic_last_post_id
- AND u2.user_id = p2.poster_id";
- $result2 = $db->sql_query($sql);
-
- while ($row2 = $db->sql_fetchrow($result2))
- {
- $sql_ary[] = "UPDATE " . $table_prefix . "topics
- SET topic_poster = " . $row2['user_id'] . ", topic_first_poster_name = '" . ((!empty($row2['user_id']) && $row2['user_id'] != ANONYMOUS) ? addslashes($row2['username']) : addslashes($row2['post_username'])) . "', topic_last_poster_id = " . ((!empty($row2['id2']) && $row2['id2'] != ANONYMOUS) ? $row2['id2'] : ANONYMOUS) . ", topic_last_post_time = " . $row2['post_time'] . ", topic_last_poster_name = '" . ((!empty($row2['id2']) && $row2['id2'] != ANONYMOUS) ? addslashes($row2['user2']) : addslashes($row2['post_username2'])) . "'
- WHERE topic_id = " . $row2['topic_id'];
- }
- $db->sql_freeresult($result2);
-
- unset($row2);
-}
-$db->sql_freeresult($result);
-
-foreach ($sql_ary as $sql)
-{
- $sql . "<br />";
- $db->sql_query($sql);
-}
-
-echo "<p><b>Done</b></p>\n";
-
-?> \ No newline at end of file