All pastes #583216 Raw Edit

Miscellany

public php v1 · immutable
·published 2007-06-22 08:34 UTC
rendered paste body
<?php/*** Only adjust bitfields, do not rewrite text...* All new parsings have the img, flash and quote modes set to true** You should make a backup from your users, posts and privmsgs table in case something goes wrong* Forum descriptions and rules need to be re-submitted manually.*///die("Please read the first lines of this script for instructions on how to enable it");set_time_limit(0);// setting phpbb defined settngsdefine('IN_PHPBB', true);$phpbb_root_path = './';$phpEx = substr(strrchr(__FILE__, '.'), 1);include($phpbb_root_path . 'common.'.$phpEx);include($phpbb_root_path . 'includes/message_parser.' . $phpEx);// Start session management$user->session_begin();$auth->acl($user->data);$user->setup();$echos = 0;// Adjust user signatures$message_parser = new parse_message();$message_parser->mode = 'sig';$message_parser->bbcode_init();$sql = 'SELECT user_id, user_sig, user_sig_bbcode_uid, user_sig_bbcode_bitfield   FROM ' . USERS_TABLE;$result = $db->sql_query($sql);while ($row = $db->sql_fetchrow($result)){   // Convert bbcodes back to their normal form   if ($row['user_sig_bbcode_uid'] && $row['user_sig'])   {      decode_message($row['user_sig'], $row['user_sig_bbcode_uid']);      $message_parser->message = &$row['user_sig'];      $bbcodeId = $message_parser->bbcode_uid;      $message_parser->prepare_bbcodes();      $message_parser->parse_bbcode();      $bitfield = $message_parser->bbcode_bitfield;      $sql = 'UPDATE ' . USERS_TABLE . " SET user_sig = '" . $db->sql_escape($row['user_sig']) . "', user_sig_bbcode_uid = '" . $db->sql_escape($bbcodeId) . "', user_sig_bbcode_bitfield = '" . $db->sql_escape($bitfield) . "'         WHERE user_id = " . $row['user_id'];      $db->sql_query($sql);      if ($echos > 100)      {         echo '<br />' . "\n <strong>USER_ID = " . $row['user_id'] . "</strong>";         $echos = 0;      }      echo $row['user_id'] . '.';      $echos++;      flush();   }   else   {      $sql = 'UPDATE ' . USERS_TABLE . " SET user_sig_bbcode_bitfield = ''         WHERE user_id = " . $row['user_id'];      $db->sql_query($sql);   }}$db->sql_freeresult($result);echo "<br>Finished with signatures...<br>";// Now adjust posts$message_parser = new parse_message();$message_parser->mode = 'post';$message_parser->bbcode_init();// Update posts$sql = "SELECT post_id, post_text, bbcode_uid, enable_bbcode, enable_smilies, enable_sig   FROM " . POSTS_TABLE;$result = $db->sql_query($sql);while ($row = $db->sql_fetchrow($result)){   // Convert bbcodes back to their normal form   if ($row['enable_bbcode'])   {      decode_message($row['post_text'], $row['bbcode_uid']);      $message_parser->message = &$row['post_text'];      $bbcodeId = $message_parser->bbcode_uid;      $message_parser->prepare_bbcodes();      $message_parser->parse_bbcode();	  	  //pseudo: grep [url]http[/url]	  	  //run url validator for string $var1 optional url parameter for url bbcode: [url(=$var1)]$var2[/url]	  $message_parser->validate_url(      $bitfield = $message_parser->bbcode_bitfield;      $sql = 'UPDATE ' . POSTS_TABLE . " SET post_text = '". $db->sql_escape($row['post_text']) ."', bbcode_uid = '". $db->sql_escape($bbcodeId) ."', bbcode_bitfield = '" . $db->sql_escape($bitfield) . "'         WHERE post_id = " . $row['post_id'];      $db->sql_query($sql);      if ($echos > 100)      {         echo '<br />' . "\n <strong>POST_ID = " . $row['post_id'] . "</strong>";         $echos = 0;      }      echo $row['post_id'] . '.';      $echos++;      flush();   }   else   {      $sql = 'UPDATE ' . POSTS_TABLE . " SET bbcode_bitfield = ''         WHERE post_id = " . $row['post_id'];      $db->sql_query($sql);   }}$db->sql_freeresult($result);echo "<br>Finished with topics...<br>";// Now to the private messages$message_parser = new parse_message();$message_parser->mode = 'post';$message_parser->bbcode_init();// Update pms$sql = 'SELECT msg_id, message_text, bbcode_uid, enable_bbcode   FROM ' . PRIVMSGS_TABLE;$result = $db->sql_query($sql);while ($row = $db->sql_fetchrow($result)){   // Convert bbcodes back to their normal form   if ($row['enable_bbcode'])   {      decode_message($row['message_text'], $row['bbcode_uid']);      $message_parser->message = &$row['message_text'];      $bbcodeId = $message_parser->bbcode_uid;      $message_parser->prepare_bbcodes();      $message_parser->parse_bbcode();      $bitfield = $message_parser->bbcode_bitfield;      $sql = 'UPDATE ' . PRIVMSGS_TABLE . " SET message_text = '" . $db->sql_escape($row['message_text']) . "', bbcode_uid = '" . $db->sql_escape($bbcodeId) . "', bbcode_bitfield = '" . $db->sql_escape($bitfield) . "'         WHERE msg_id = " . $row['msg_id'];      $db->sql_query($sql);      if ($echos > 100)      {         echo '<br />' . "\n <strong>MESSAGE_ID = " . $row['msg_id'] . "</strong>";         $echos = 0;      }      echo $row['msg_id'] . '...';      $echos++;      flush();   }   else   {      $sql = 'UPDATE ' . PRIVMSGS_TABLE . " SET bbcode_bitfield = ''         WHERE msg_id = " . $row['msg_id'];      $db->sql_query($sql);   }}$db->sql_freeresult($result);echo "<br>Finished with private messages...<br>";// Done$db->sql_close();?>