Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- session_start();
- $page['title'] = 'databases';
- include 'inc-all.php';
- if (isset($_GET['delete']))
- {
- $sql = mysql_query("select * from `databases` where `id`='".mysql_real_escape_string($_GET['delete'])."'");
- if (mysql_num_rows($sql) != 0)
- {
- $host = mysql_result($sql, 0, 'host');
- $name = mysql_result($sql, 0, 'name');
- mysql_query("delete from `databases` where `id`='".mysql_real_escape_string($_GET['delete'])."'");
- mysql_query("delete from `feeds` where `id_database`='".mysql_real_escape_string($_GET['delete'])."'");
- $success = urlencode("$name on $host has been deleted from databases");
- header('Location: databases.php?success='.$success);
- die();
- }
- }
- if (isset($_POST['host']))
- {
- foreach ($_POST as $k => $v)
- $$k = trim(htmlspecialchars_decode($v, ENT_QUOTES));
- if (mysql_result(mysql_query("select count(*) from `databases` where
- `host`='".mysql_real_escape_string($host)."' and
- `name`='".mysql_real_escape_string($name)."' and
- `type`='".mysql_real_escape_string($type)."' and
- `prefix`='".mysql_real_escape_string($prefix)."'"), 0) != 0)
- {
- $errors[] = 'database has already been added';
- }
- else if (mysql_result(mysql_query("select count(*) from `types` where `value`='".mysql_real_escape_string($type)."'"), 0) == 0)
- {
- $errors[] = 'you must select a database type';
- }
- else
- {
- if (@mysql_connect($host, $username, $password))
- {
- if (@mysql_select_db($name))
- {
- if ($sql = mysql_query('show tables from '.mysql_real_escape_string($name)))
- {
- $tables = array();
- while ($row = mysql_fetch_row($sql))
- $tables[] = $row[0];
- if ((($type == 'vb3' || $type == 'vb4') && (!in_array($prefix.'forum', $tables) || !in_array($prefix.'thread', $tables) || !in_array($prefix.'post', $tables) || !in_array($prefix.'user', $tables))))
- $errors[] = 'failed to find '.htmlspecialchars($type, ENT_QUOTES).' database tables';
- }
- else
- {
- $errors[] = 'failed to list database tables';
- }
- }
- else
- {
- $errors[] = 'failed to select database';
- }
- }
- else
- {
- $errors[] = 'failed to connect to database';
- }
- }
- include 'inc-connect.php';
- if (empty($errors))
- {
- foreach ($_POST as $k => $v)
- $$k = mysql_real_escape_string(trim(htmlspecialchars_decode($v, ENT_QUOTES)));
- mysql_query("insert into `databases` (`host`, `name`, `username`, `password`, `type`, `prefix`)
- values ('$host', '$name', '$username', '$password', '$type', '$prefix')");
- $success = urlencode('new database '.$name.' on '.$host.' has been added');
- header('Location: databases.php?success='.$success);
- die();
- }
- else
- {
- include 'inc-connect.php';
- $error_type = 'add';
- }
- }
- if (isset($_POST['id_database']))
- {
- foreach ($_POST as $k => $v)
- $$k = trim(htmlspecialchars_decode($v, ENT_QUOTES));
- $sql = mysql_query("select * from `databases` where `id`='".mysql_real_escape_string($id_database)."'");
- if (mysql_num_rows($sql) == 0)
- {
- $errors[] = 'you must select a database';
- }
- else
- {
- while ($row = mysql_fetch_assoc($sql))
- {
- foreach ($row as $k => $v)
- $$k = $v;
- }
- if (@mysql_connect($host, $username, $password))
- {
- if (@mysql_select_db($name))
- {
- if ($sql = mysql_query('show tables from '.mysql_real_escape_string($name)))
- {
- $tables = array();
- while ($row = mysql_fetch_row($sql))
- $tables[] = $row[0];
- if ((($type == 'vb3' || $type == 'vb4') && (!in_array($prefix.'user', $tables))))
- $errors[] = 'failed to find '.htmlspecialchars($type, ENT_QUOTES).' database table';
- }
- else
- {
- $errors[] = 'failed to list database tables';
- }
- }
- else
- {
- $errors[] = 'failed to select database';
- }
- }
- else
- {
- $errors[] = 'failed to connect to database';
- }
- }
- if (empty($users))
- $errors[] = 'you must enter a number of users';
- else if (!ctype_digit($users))
- $errors[] = 'number of users must be a number';
- else if ($users > 100000)
- $errors[] = 'number of fake users must be <= 100,000 per database';
- if (empty($errors))
- {
- include 'inc-connect.php';
- $sql = mysql_query("select `username` from `fake_usernames` order by rand() limit $users");
- $fake_usernames = array();
- $fake_user_ids = explode(',', trim(mysql_result(mysql_query("select `fake_user_ids` from `databases` where `id`='$id'"), 0), ','));
- $count = 0;
- while ($row = mysql_fetch_assoc($sql))
- $fake_usernames[] = $row['username'];
- mysql_connect($host, $username, $password);
- mysql_select_db($name);
- if ($type == 'vb3' || $type == 'vb4')
- {
- foreach ($fake_usernames as $k => $v)
- {
- $rand_time = (time() - 31536000 + mt_rand(0, 31536000));
- if (mysql_result(mysql_query("select count(*) from `".$prefix."user` where `username`='$v'"), 0) == 0)
- {
- mysql_query("insert into `".$prefix."user` (`username`, `usergroupid`, `joindate`) values ('$v', '2', '$rand_time')") or die(mysql_error());
- $mysql_insert_id = mysql_insert_id();
- $fake_user_ids[] = $mysql_insert_id;
- mysql_query("insert into `".$prefix."userfield` (`userid`) values ('$mysql_insert_id')") or die(mysql_error());
- mysql_query("insert into `".$prefix."usertextfield` (`userid`) values ('$mysql_insert_id')") or die(mysql_error());
- $count++;
- }
- }
- $data = mysql_result(mysql_query("select `data` from `".$prefix."datastore` where `title`='userstats'"), 0);
- $data = unserialize($data);
- $data['numbermembers'] = mysql_result(mysql_query("select count(*) from `".$prefix."user`"), 0);
- $data['newusername'] = mysql_result(mysql_query("select `username` from `".$prefix."user` order by `userid` desc limit 1"), 0);
- $data['newuserid'] = mysql_result(mysql_query("select `userid` from `".$prefix."user` order by `userid` desc limit 1"), 0);
- $data = serialize($data);
- mysql_query("update `".$prefix."datastore` set `data`='$data' where `title`='userstats'") or die(mysql_error());
- }
- $fake_user_ids = implode(',', $fake_user_ids);
- include 'inc-connect.php';
- mysql_query("update `databases` set `fake_users`=`fake_users`+$count, `fake_user_ids`='$fake_user_ids' where `id`='$id'");
- $success = urlencode(number_format($users).' fake users added to '.$name.' on '.$host);
- header('Location: databases.php?success='.$success);
- die();
- }
- else
- {
- include 'inc-connect.php';
- $error_type = 'users';
- }
- }
- include 'header.php';
- ?>
- <div class="basic-modal-content" id="add_database">
- <h1>add a database</h1>
- <?php
- if ($error_type == 'add')
- echo_errors($errors);
- ?>
- <form method="post" action="databases.php">
- <p>
- <label for="host">database host:</label>
- <input type="text" name="host" id="host" size="30" value="<?php echo $host; ?>" />
- </p>
- <p>
- <label for="name">database name:</label>
- <input type="text" name="name" id="name" size="30" value="<?php echo $name; ?>" />
- </p>
- <p>
- <label for="username">database username:</label>
- <input type="text" name="username" id="username" size="30" value="<?php echo $username; ?>" />
- </p>
- <p>
- <label for="password">database password:</label>
- <input type="password" name="password" id="password" size="30" value="<?php echo $password; ?>" />
- </p>
- <p>
- <label for="type">database type:</label>
- <select name="type" id="type">
- <option value=""></option>
- <?php
- $sql = mysql_query("select * from `types` order by `value` asc");
- while ($row = mysql_fetch_assoc($sql))
- echo '<option value="'.$row['value'].'"'.(($type == $row['value']) ? ' selected="selected"' : '').'>'.$row['name'].'</option>';
- ?>
- </select>
- </p>
- <p>
- <label for="prefix">database table prefix:</label>
- <input type="text" name="prefix" id="prefix" size="30" value="<?php echo $prefix; ?>" />
- </p>
- <p style="text-align: center;">
- <input type="submit" value="add database" />
- <img src="images/ajax-loader.gif" alt="loading" style="display: none;" />
- </p>
- </form>
- </div>
- <div class="basic-modal-content" id="add_users">
- <h1>add fake users to database</h1>
- <?php
- if ($error_type == 'users')
- echo_errors($errors);
- ?>
- <form method="post" action="databases.php">
- <p>
- <label for="id_database">select database:</label>
- <select name="id_database" id="id_database">
- <?php
- $sql = mysql_query("select * from `databases` order by `host`, `name` asc");
- while ($row = mysql_fetch_assoc($sql))
- echo '<option value="'.$row['id'].'"'.(($id_database == $row['id']) ? ' selected="selected"' : '').'>'.$row['name'].' on '.$row['host'].'</option>';
- ?>
- </select>
- </p>
- <p>
- <label for="users">number of users:</label>
- <input type="text" name="users" id="users" size="30" value="<?php echo $users; ?>" />
- </p>
- <p style="text-align: center;">
- <input type="submit" value="add users" />
- <img src="images/ajax-loader.gif" alt="loading" style="display: none;" />
- </p>
- </form>
- </div>
- <div class="button" id="button_add"><a href="#"><span>add a database</span></a></div>
- <h1><?php echo $page['title']; ?></h1>
- <?php
- echo_success(htmlspecialchars($_GET['success'], ENT_QUOTES));
- $sql = mysql_query("select * from `databases` order by `host`, `name` asc");
- if (mysql_num_rows($sql) == 0)
- echo_alert('you have not added any databases yet');
- if (mysql_num_rows($sql) != 0)
- {
- ?>
- <table cellpadding="10" cellspacing="1" border="0" width="100%">
- <tr>
- <th class="l">host</th>
- <th>name</th>
- <th>type</th>
- <th nowrap="nowrap">table prefix</th>
- <th nowrap="nowrap">fake users</th>
- <th class="r">functions</th>
- </tr>
- <?php
- $count = 0;
- while ($row = mysql_fetch_assoc($sql))
- {
- foreach ($row as $k => $v)
- $$k = htmlspecialchars($v, ENT_QUOTES);
- echo '<tr'.(($count % 2) ? ' class="alt"' : '').'>';
- echo '<td>'.$host.'</td>';
- echo '<td>'.$name.'</td>';
- echo '<td>'.$type.'</td>';
- echo '<td>'.$prefix.'</td>';
- echo '<td>'.number_format($fake_users).'</td>';
- echo '<td>';
- echo '<a href="#" title="add fake users" onclick="add_users(\''.$id.'\'); return false;"><img src="images/icon-user.png" alt="add fake users" /></a> ';
- echo '<a href="databases.php?delete='.$id.'" onclick="return confirm_delete(\''.$name.' on '.$host.'\');" title="delete"><img src="images/icon-trash.png" alt="delete" /></a>';
- echo '</td>';
- echo '</tr>';
- $count++;
- }
- ?>
- </table>
- <?php
- }
- ?>
- <script type="text/javascript">
- jQuery(function ($) {
- <?php
- if ($error_type == 'add')
- echo "$('#add_database').modal({ onShow: function(dlg) { $(dlg.container).css('height','auto') }});";
- else if ($error_type == 'users')
- echo "$('#add_users').modal({ onShow: function(dlg) { $(dlg.container).css('height','auto') }});";
- ?>
- $('form').submit(function () {
- $('input[type=submit]', this).hide();
- $('img', this).show();
- });
- $('#button_add').click(function (e) {
- e.preventDefault();
- $('.errors').hide();
- $('#add_database').find('input[type=text], input[type=password], select').val('');
- $('#add_database').modal({ onShow: function(dlg) { $(dlg.container).css('height','auto') }});
- });
- });
- function add_users (id_database)
- {
- $('#id_database').val(id_database);
- $('#add_users').modal({ onShow: function(dlg) { $(dlg.container).css('height','auto') }});
- }
- function confirm_delete (message)
- {
- var answer = confirm('delete '+message+'?');
- if (answer)
- return true;
- else
- return false;
- }
- </script>
- <?php
- include 'footer.php';
- ?>
Add Comment
Please, Sign In to add comment