Skip to content
This repository has been archived by the owner on Apr 17, 2024. It is now read-only.

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; }