diff options
Diffstat (limited to 'phpBB/develop/fill.php')
-rw-r--r-- | phpBB/develop/fill.php | 190 |
1 files changed, 0 insertions, 190 deletions
diff --git a/phpBB/develop/fill.php b/phpBB/develop/fill.php deleted file mode 100644 index 39a9b128f5..0000000000 --- a/phpBB/develop/fill.php +++ /dev/null @@ -1,190 +0,0 @@ -<?php -// ------------------------------------------------------------- -// -// $Id$ -// -// FILENAME : fill.php -// STARTED : Mon Sep 15, 2003 -// COPYRIGHT : © 2001, 2003 phpBB Group -// WWW : http://www.phpbb.com/ -// LICENCE : GPL vs2.0 [ see /docs/COPYING ] -// -// ------------------------------------------------------------- -// -// 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"); - - -define('IN_PHPBB', true); -define('PHPBB_ROOT_PATH', './../'); -define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1)); -include(PHPBB_ROOT_PATH . 'common.' . PHP_EXT); -include(PHPBB_ROOT_PATH . 'includes/functions_admin.' . PHP_EXT); - -set_time_limit(0); -header('Expires: 0'); -ignore_user_abort(true); - -// number of topics to create -$num_topics = 10000; - -// number of topics to be generated per call -$batch_size = 2000; - -// max number of posts per topic -$posts_per_topic = 500; - - -// general vars -$mode = (isset($_REQUEST['mode'])) ? $_REQUEST['mode'] : 'generate'; -$start = (isset($_REQUEST['start'])) ? intval($_REQUEST['start']) : 0; - -switch ($mode) -{ - case 'generate': - $user_ids = $forum_ids = $topic_rows = array(); - - $sql = 'SELECT user_id FROM ' . USERS_TABLE . ' WHERE user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ') OR user_id = ' . ANONYMOUS; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - $user_ids[] = $row['user_id']; - } - $db->sql_freeresult($result); - - $sql = 'SELECT forum_id FROM ' . FORUMS_TABLE . ' WHERE forum_type = ' . FORUM_POST; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - $forum_ids[$row['forum_id']] = $row['forum_id']; - } - $db->sql_freeresult($result); - - if (!$start) - { - $db->sql_query('TRUNCATE TABLE ' . POSTS_TABLE); - $db->sql_query('TRUNCATE TABLE ' . TOPICS_TABLE); -// $db->sql_query('TRUNCATE TABLE ' . TOPICS_TABLE . '_prefetch'); - } - - $db->sql_query('LOCK TABLES ' . POSTS_TABLE . ' WRITE, ' . TOPICS_TABLE . ' WRITE'); - - for ($topic_id = $start + 1; $topic_id < min($start + $batch_size, $num_topics + 1); ++$topic_id) - { - $forum_id = array_rand($forum_ids); - - if (count($topic_rows) == 10) - { - $sql = 'INSERT IGNORE INTO ' . TOPICS_TABLE . " (topic_id, forum_id, topic_title, topic_reported) - VALUES " . implode(', ', $topic_rows); - $db->sql_query($sql); - - $topic_rows = array(); - } - - $topic_rows[] = "($topic_id, $forum_id, '$forum_id-$topic_id', " . (($topic_id % 34) ? '0' : '1') . ')'; - - $sql = 'INSERT IGNORE INTO ' . POSTS_TABLE . ' (topic_id, forum_id, poster_id, post_subject, post_text, post_username, post_approved, post_time, post_reported) - VALUES '; - - $rows = array(); - $post_time = mt_rand(0, time()); - - $num_posts = $posts_per_topic; //mt_rand(1, $posts_per_topic); - for ($i = 0; $i < $num_posts; ++$i) - { - $poster_id = $user_ids[array_rand($user_ids)]; - $poster_name = ($poster_id == ANONYMOUS) ? rndm_username() : ''; - $rows[] = "($topic_id, $forum_id, $poster_id, '$forum_id-$topic_id-$i', '$forum_id-$topic_id-$i', '$poster_name', " . (mt_rand(0, 12) ? '1' : '0') . ', ' . ($post_time + $i * 60) . ', ' . (mt_rand(0, 32) ? '0' : '1') . ')'; - } - - $db->sql_query($sql . implode(', ', $rows)); - } - - if (count($topic_rows)) - { - $sql = 'INSERT IGNORE INTO ' . TOPICS_TABLE . " (topic_id, forum_id, topic_title, topic_reported) - VALUES " . implode(', ', $topic_rows); - $db->sql_query($sql); - } - - $db->sql_query('UNLOCK TABLES'); - - if ($topic_id >= $num_topics) - { - echo '<meta http-equiv="refresh" content="10; url=fill.' . PHP_EXT . '?mode=sync&' . time() . '">And now for something completely different...'; - - $db->sql_query('ANALYZE TABLES ' . TOPICS_TABLE . ', ' . POSTS_TABLE); - flush(); - } - else - { - echo '<meta http-equiv="refresh" content="10; url=fill.' . PHP_EXT . '?start=' . $topic_id . '&' . time() . '">To the next page... (' . $topic_id . '/' . $num_topics . ')'; - flush(); - } - break; - - case 'sync': -/* error_reporting(E_ALL); - $sync_all = TRUE; - - if ($sync_all) - { - $s = explode(' ', microtime()); - sync('topic', '', '', TRUE, FALSE); -// sync('forum'); - $e = explode(' ', microtime()); - - echo '<pre><b>' . ($e[0] + $e[1] - $s[0] - $s[1]) . '</b></pre>'; - echo '<a href="fill.' . PHP_EXT . '">Here we go again</a>'; - } - else - { - $batch_size = $batch_size * 10; - $end = $start + $batch_size; - - $s = explode(' ', microtime()); - sync('topic', 'range', "topic_id BETWEEN $start AND $end", TRUE, FALSE); - $e = explode(' ', microtime()); - - echo '<pre>Time taken: <b>' . ($e[0] + $e[1] - $s[0] - $s[1]) . '</b></pre>'; - - if ($end < $num_topics) - { - $start += $batch_size; - echo '<meta http-equiv="refresh" content="0; url=fill.' . PHP_EXT . "?mode=sync&start=$start&" . time() . "\">And now for something completely different... ($start/$num_topics)"; - } - else - { - echo '<a href="fill.' . PHP_EXT . '">Here we go again</a>'; - } - } - - if (isset($_GET['explain'])) - { - trigger_error('Done'); - } - */ -} - -$db->sql_close(); - -function rndm_username() -{ - static $usernames; - - if (!isset($usernames)) - { - $usernames = get_defined_functions(); - $usernames = $usernames['internal']; - } - - return $usernames[array_rand($usernames)]; -} - -?>
\ No newline at end of file |