diff --git a/phpBB/develop/bbcode_conversion.php b/phpBB/develop/bbcode_conversion.php new file mode 100644 index 0000000000..a4d62a0325 --- /dev/null +++ b/phpBB/develop/bbcode_conversion.php @@ -0,0 +1,205 @@ +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("Done.
\n"; + + + +// ------------------------------------------------------------------------------- +// Everything below here is 1.x BBCode functions. +// ------------------------------------------------------------------------------- + + +function bbdecode($message) { + + // Undo [code] + $code_start_html = "Code: |
"; + $code_end_html = " |
Quote: |
"; + $quote_end_html = " |
+
+At the moment there are:
+
=$nr_of_users?> | Users |
=$nr_of_topics?> | Topics |
=$nr_of_forums?> | Forums |
=$nr_of_posts?> | Posts |
+What do you want to create?
+ +
+ + +} else { + + + list ($starttime_msec,$starttime_sec) = explode(" ",$starttime); + list ($endtime_msec,$endtime_sec) = explode(" ",$endtime); + $timetaken_sec = ($endtime_sec+$endtime_msec) - ($starttime_sec+$starttime_msec); + print "TIME TAKEN : ".$timetaken_sec."s\nBack to the overview page\n";
+}
+
+function filldb($newposts){
+ global $nr_of_topics;
+ global $nr_of_forums;
+ global $nr_of_users;
+ for($i=0 ; $i<=$newposts; $i++){
+ $userid = rand(1,$nr_of_users);
+ $forum = rand(1,$nr_of_forums);
+ if (rand(0,20) < 1 || $nr_of_topics == 0){
+ // create a new topic 1 in 20 times (or when there are none);
+ $topic = create_topic($userid, "This is test topic nr. $i", $forum);
+ } else {
+ // Otherwise create a reply(posting) somewhere.
+ $topic = rand(1,$nr_of_topics);
+ }
+ create_posting($userid, $topic, $forum);
+ }
+}
+
+
+function create_topic($userid, $subject, $forum){
+ global $db;
+ global $nr_of_topics;
+ $userdata = get_userdata($username, $db);
+ $time = time();
+ $sql = "INSERT INTO ".TOPICS_TABLE." (topic_title, topic_poster, forum_id, topic_time, topic_notify) VALUES ('$subject', '$userid', '$forum', '$time', 0)";
+ if (!$result = $db->sql_query($sql)) {
+ print "Couldn't create Topic $subject in DB!
\n";
+ print "This is the sql statement:
\n$sql\n
\n";
+ die;
+ } else {
+ print "
Topic '$subject' created!
\n";
+ $nr_of_topics++;
+ flush();
+ return mysql_insert_id($db->db_connect_id);
+ }
+}
+
+function create_posting($userid, $topic_id, $forum){
+ global $db;
+ $message = generatepost(650);
+ $time = time();
+ $poster_ip = "234234232";
+
+ $sql = "INSERT INTO ".POSTS_TABLE." (forum_id, topic_id, poster_id, post_time, poster_ip) VALUES ('$forum', '$topic_id', '$userid', '$time', '$poster_ip')";
+ if (!$result = $db->sql_query($sql)) {
+ print "Couldn't create post in $forum!
\n";
+ print "This is the sql statement:
\n$sql\n
\n";
+ die;
+ } else {
+
+ $post_id = mysql_insert_id($db->db_connect_id);
+ $sql = "INSERT INTO ".POSTS_TEXT_TABLE." (post_id, post_text) VALUES ('$post_id', '$message')";
+ if (!$result = $db->sql_query($sql)) {
+ print "Couldn't create post text in $forum!
\n";
+ print "This is the sql statement:
\n$sql\n
\n";
+ die;
+ }
+ print "$forum ";
+ return 0;
+ }
+}
+
+function create_forums($totalforums){
+ global $db;
+ global $nr_of_cats;
+ $j=0;
+ for($i=0 ; $i<$totalforums; $i++){
+ if (rand(0,5) <= 2 || $nr_of_cats == 0){
+ // create a new cat at random times or when there are no cats yet.
+ $j++;
+ $catid = create_cat("Category $j");
+ } else {
+ // Otherwise create a forum in one of the cats.
+ $catid = rand(0,$nr_of_cats);
+ }
+ $forum = "Test forum number $i";
+ create_forum($catid, $forum);
+ }
+}
+
+function create_cat($category){
+ global $db;
+ global $nr_of_cats;
+ // At the moment cat_order is always one, oh well..
+ echo $sql = "INSERT INTO ".CATEGORIES_TABLE." (cat_title, cat_order) VALUES ('$category', '1')";
+ if (!$result = $db->sql_query($sql)) {
+ print "Couldn't create category \"$category\"!
\n";
+ die;
+ } else {
+ print "Category \"$category\" created!
\n";
+ $nr_of_cats++;
+ return mysql_insert_id($db->db_connect_id);
+ }
+}
+
+function create_forum($catid, $forum){
+ global $db;
+ global $nr_of_forums;
+
+ $sql = "INSERT INTO ".FORUMS_TABLE." (forum_name, forum_desc, forum_access, cat_id, forum_type) VALUES ('$forum', 'This is a forum created for the benchmark', '2', '$catid', '0')";
+ if (!$result = $db->sql_query($sql)) {
+ print "Couldn't create forum \"$forum\"!
\n";
+ die;
+ } else {
+ print "Forum \"$forum\" created!
\n";
+ $nr_of_forums++;
+ $forum_id = mysql_insert_id($db->db_connect_id);
+ // Sorry, no error checking. We just assume that if the forum can be
+ // created the moderator can be assigned too :)
+ $sql = "INSERT INTO ".FORUM_MODS_TABLE." (forum_id, user_id) VALUES ('$forum_id', '1')";
+ $result = $db->sql_query($sql);
+ return $forum_id;
+ }
+}
+
+
+function generatepost($size=850){
+ // Returns a string with a length between $size and $size*0.2
+ $size = rand(0.2*$size, $size);
+ $text = "Step 1: Untar the soure into the directory phpBB will run from. Seeing as you
+are reading this file you have probably gotten that far. (Or if you are on a
+different machine then your webserver FTP the resulting phpBB dir over to where
+it will run from on the server. ie /www/yourdomain.com/phpBB)
+
+Step 2: Edit config.php and change the following values:
+
+The url fields my work for you if you're running phpBB from a domain
+like this: http://www.phpbb.com/phpBB
+
+However if you access phpBB like this: http://www.domain.com/~you/phpBB you
+will have to change these values.
+
+Also, config.php MUST be writeable by the webserver or the install will fail.
+To set this on UNIX systems you can use chmod
+ie: chmod 777 config.php (after the install if finsished set it back to 755
+via chmod 755 config.php so it can't be written by anyone again.)";
+ $textsize = strlen($text);
+ $currentsize = 0;
+ // Add whole $text multiple times
+ while($currentsize < $size && $size-$currentsize <= $textsize){
+ $message .= $text;
+ $currentsize += $textsize;
+ }
+ // Add the remainder number of chars and return it.
+ $message .= substr($text, 0, $size-$currentsize);
+
+ // WARNING!! THIS IS NOT GOOD, THESE FUNCTIONS WILL ADD CHARACTERS!!!
+ return (nl2br(addslashes($message)));
+}
+
+
+function nrof($table){
+ global $db;
+ $sql = "SELECT count(*) AS counted FROM $table";
+ $result = $db->sql_query($sql);
+ $topics = $db->sql_fetchrow($result);
+ return $topics[counted];
+}
+
+
+function createuser($name){
+ global $db;
+ global $nr_of_users;
+ $username = $name;
+ $regdate = time();
+ $email = $username . "@phpbb.com";
+ $icq = "29317129";
+ $passwd = md5("test");
+ $occ = "";
+ $intrest = "";
+ $from = "";
+ $website = "http://www.phpBB.com/";
+ $sig = "To Bla, or Not to Bla";
+ $aim = "";
+ $sqlviewemail = "1";
+ $yim = "";
+ $msnm = "";
+
+ $userdata = get_userdata($username, $db);
+ if($userdata["username"]) {
+ print "Username '$username' has been already used...
\n";
+ return 1;
+ }
+
+ $sql = "INSERT INTO ".USERS_TABLE." (username, user_regdate, user_email, user_icq, user_password, user_occ, user_intrest, user_from, user_website, user_sig, user_aim, user_viewemail, user_yim, user_msnm) VALUES ('$username', '$regdate', '$email', '$icq', '$passwd', '$occ', '$intrest', '$from', '$website', '$sig', '$aim', '$sqlviewemail', '$yim', '$msnm')";
+
+ if (!$result = $db->sql_query($sql)) {
+ print "Couldn't create user $username in DB!
\n";
+ print "This is the sql statement:
\n$sql\n
\n";
+ return 1;
+ } else {
+// print "User $username created!
\n";
+ $nr_of_users++;
+ // flush();
+ return 0;
+ }
+}
+
+function get_userdata($username, $db) {
+ $sql = "SELECT * FROM ".USERS_TABLE." WHERE username = '$username' AND user_level != -1";
+ if(!$result = $db->sql_query($sql))
+ $userdata = array("error" => "1");
+ if(!$myrow = $db->sql_fetchrow($result))
+ $userdata = array("error" => "1");
+
+ return($myrow);
+}
+
+
+?>
\ No newline at end of file