Creating backup table..

\n"; flush(); $result = $db->sql_query($sql); if (!$result) { $db_error = $db->sql_error(); die("Error doing DB backup table creation. Reason: " . $db_error["message"]); } $sql = "insert into $backup_name select * from $table_name"; echo "

Populating backup table..

\n"; flush(); $result = $db->sql_query($sql); if (!$result) { $db_error = $db->sql_error(); die("Error doing DB backup table data moving. Reason: " . $db_error["message"]); } $sql = "SELECT p.post_id, t.post_text FROM " . POSTS_TABLE . " p, " . POSTS_TEXT_TABLE . " t WHERE (p.post_id = t.post_id)"; if(!$result = $db->sql_query($sql)) { die("error getting posts to work on"); } if(!$total_rows = $db->sql_numrows($result)) { die("error getting rowcount"); } echo "

Found $total_rows total rows to work on.

\n"; flush(); $row = $db->sql_fetchrowset($result); for($i = 0; $i < $total_rows; $i++) { $post_id = $row[$i]['post_id']; $text = $row[$i]['post_text']; // undo 1.2.x encoding.. $text = bbdecode($text); $text = undo_make_clickable($text); $text = str_replace("
", "\n", $text); // make a uid $uid = make_bbcode_uid(); // do 2.x first-pass encoding.. $text = bbencode_first_pass($text, $uid); $text = addslashes($text); // put the uid in the database. $sql = "UPDATE " . POSTS_TABLE . " SET bbcode_uid='" . $uid . "' WHERE (post_id = $post_id)"; $result = $db->sql_query($sql); if (!$result) { $db_error = $db->sql_error(); die("Error doing DB update in posts table. Reason: " . $db_error["message"] . " sql: $sql"); } // Put the post text back in the database. $sql = "UPDATE " . POSTS_TEXT_TABLE . " SET post_text='" . $text . "' WHERE (post_id = $post_id)"; $result = $db->sql_query($sql); if (!$result) { $db_error = $db->sql_error(); die("Error doing DB update in post text table. Reason: " . $db_error["message"] . " sql: $sql"); } if (($i % 100) == 0) { echo "Done post: $i
\n"; flush(); } } echo "

Done.

\n"; // ------------------------------------------------------------------------------- // Everything below here is 1.x BBCode functions. // ------------------------------------------------------------------------------- function bbdecode($message) { // Undo [code] $code_start_html = "
Code:
";
		$code_end_html = "

"; $message = str_replace($code_start_html, "[code]", $message); $message = str_replace($code_end_html, "[/code]", $message); // Undo [quote] $quote_start_html = "
Quote:
"; $quote_end_html = "

"; $message = str_replace($quote_start_html, "[quote]", $message); $message = str_replace($quote_end_html, "[/quote]", $message); // Undo [b] and [i] $message = preg_replace("#(.*?)#s", "[b]\\1[/b]", $message); $message = preg_replace("#(.*?)#s", "[i]\\1[/i]", $message); // Undo [url] (long form) $message = preg_replace("#(.*?)#s", "[url=\\1\\2]\\3[/url]", $message); // Undo [url] (short form) $message = preg_replace("#(.*?)#s", "[url]\\3[/url]", $message); // Undo [email] $message = preg_replace("#(.*?)#s", "[email]\\1[/email]", $message); // Undo [img] $message = preg_replace("##s", "[img]\\1[/img]", $message); // Undo lists (unordered/ordered) //
  • tags: $message = str_replace("
  • ", "[*]", $message); // [list] tags: $message = str_replace("", "[/list]", $message); $message = str_replace("", "[/list]", $message); return($message); } /** * Nathan Codding - Feb 6, 2001 * Reverses the effects of make_clickable(), for use in editpost. * - Does not distinguish between "www.xxxx.yyyy" and "http://aaaa.bbbb" type URLs. * */ function undo_make_clickable($text) { $text = preg_replace("#.*?#i", "\\1", $text); $text = preg_replace("#.*?#i", "\\1", $text); return $text; } ?>