This repository has been archived by the owner on Apr 17, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 19
Import from U 232
darkalchemy edited this page Jun 3, 2018
·
3 revisions
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo->setAttribute(PDO::ATTR_PERSISTENT, true);
$sql = "SET FOREIGN_KEY_CHECKS = 0;";
$pdo->query($sql)->execute();
$tables = [
'users',
'torrents',
'files',
'requests',
'request_votes',
'friends',
'messages',
'staffmessages',
'forum_config',
'forum_poll',
'forum_poll_votes',
'forums',
'topics',
'posts',
'achievements',
'usersachiev',
'snatched',
'polls',
'funds',
'comments',
'thanks',
'thankyou',
'rating',
'wiki',
'subscriptions',
'reputation',
'categories',
'freeleech',
'freeslots',
'bookmarks',
];
foreach ($tables as $table) {
echo "Truncating '{$pu239_db}.{$table}' table\n";
$sql = "TRUNCATE TABLE {$pu239_db}.{$table}";
$pdo->query($sql)->execute();
}
echo "Populating '{$pu239_db}.users' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.users ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = ['secret', 'editsecret', 'passkey', 'show_shout', 'show_staffshout', 'shoutboxbg', 'support_lang', 'hash1', 'uclass', 'view_uclass'];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$values['passhash'] = bin2hex(random_bytes(32));
$values['torrent_pass'] = bin2hex(random_bytes(32));
$values['auth'] = bin2hex(random_bytes(32));
$values['apikey'] = bin2hex(random_bytes(32));
$values['ip'] = '';
if(filter_var($row['ip'], FILTER_VALIDATE_IP) !== false) {
$values['ip'] = inet_pton($row['ip']);
}
$sql = "INSERT INTO {$pu239_db}.users SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.torrents' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.torrents ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = ['username', 'type', 'motw', 'seedbox'];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.torrents SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.requests' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.requests ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.requests SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.request_votes' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.request_votes ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.request_votes SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.friends' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.friends ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.friends SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.messages' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.messages ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.messages SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.staffmessages' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.staffmessages ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.staffmessages SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.forum_config' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.forum_config ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.forum_config SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.forum_poll' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.forum_poll ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.forum_poll SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.forum_poll_votes' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.forum_poll_votes ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.forum_poll_votes SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.forums' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.forums ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.forums SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.topics' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.topics ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.topics SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.posts' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.posts ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.posts SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.achievements' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.achievements ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.achievements SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.usersachiev' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.usersachiev ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = ['username'];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
if ($key === 'id') {
$key = 'userid';
}
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.usersachiev SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.snatched' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.snatched ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.snatched SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.files' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.files ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.files SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.polls' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.polls ORDER BY pid $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = ['starter_name'];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.polls SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.funds' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.funds ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.funds SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.comments' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.comments ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.comments SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.thanks' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.thanks ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.thanks SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.thankyou' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.thankyou ORDER BY tid $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.thankyou SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.rating' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.rating ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.rating SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.wiki' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.wiki ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.wiki SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.subscriptions' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.subscriptions ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.subscriptions SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.reputation' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.reputation ORDER BY reputationid $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.reputation SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.categories' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.categories ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = ['parent_id', 'tabletype'];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.categories SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.freeleech' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.freeleech ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.freeleech SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.freeslots' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.freeslots ORDER BY torrentid $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.freeslots SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
echo "Populating '{$pu239_db}.bookmarks' table\n";
$values = [];
$sql = "SELECT * FROM {$old_db}.bookmarks ORDER BY id $limit";
foreach ($pdo->query($sql) as $row) {
$ignore = [];
foreach ($row as $key => $value) {
if (!in_array($key, $ignore)) {
$values[$key] = $value;
}
}
$sql = "INSERT INTO {$pu239_db}.bookmarks SET" . bindFields($values);
$result = $pdo->prepare($sql);
$result->execute($values);
}
$sql = "SET FOREIGN_KEY_CHECKS = 1;";
$pdo->query($sql)->execute();
$end = (microtime(true) - $start);
echo "Completed in " . gmdate("H:i:s", $end) . "\n\n";
function bindFields($fields){
end($fields); $lastField = key($fields);
$bindString = ' ';
foreach($fields as $field => $data){
$bindString .= $field . '=:' . $field;
$bindString .= ($field === $lastField ? ' ' : ',');
}
return $bindString;
}