diff --git a/other/converter/TBDevYSE_pre6/ReadMe.txt b/other/converter/TBDevYSE_pre6/ReadMe.txt new file mode 100644 index 000000000..e83df7cb7 --- /dev/null +++ b/other/converter/TBDevYSE_pre6/ReadMe.txt @@ -0,0 +1,21 @@ +TBDev Yuna Scatari Edition pre6 to TorrentPier 1.0.x converter. + +Quick guide: +1. Install and configure TorrentPier 1.0.0 or higher. +2. Import your TBDevYSE database into TorrentPier database (concretely 'comments', 'categories', 'torrents' and 'users' tables). +3. Put the contents of folder 'root' into your TorrentPier root. +4. Configure 'converter/settings.php' for optimal settings. +5. Run convert.php. +6. See 'converter/passwords.php' for new password to login under admin account. +7. Resychronize statistics using admin panel. +8. Make your new tracker popular! +---- +9. If you need to notify users for new passwords (which are needed to login in TorrentPier) via TBDevYSE PM system, + copy two files: automatically generated 'converter/passwords.php' and 'for_tbdev/pass.php' to your TBDevYSE root and run pass.php + (Don't forget to remove these files after completion). + You allow to change message text, see $msg in pass.php for this. +10. If you want to redirect peers from older announce to new announce everytime, replace original TBDev's announce.php with + 'for_tbdev/announce.php' + +Cheers, RoadTrain. +http://torrentpier.info/ \ No newline at end of file diff --git a/other/converter/TBDevYSE_pre6/for_tbdev/announce.php b/other/converter/TBDevYSE_pre6/for_tbdev/announce.php new file mode 100644 index 000000000..284627d56 --- /dev/null +++ b/other/converter/TBDevYSE_pre6/for_tbdev/announce.php @@ -0,0 +1,64 @@ + \ No newline at end of file diff --git a/other/converter/TBDevYSE_pre6/for_tbdev/pass.php b/other/converter/TBDevYSE_pre6/for_tbdev/pass.php new file mode 100644 index 000000000..3fb39b32a --- /dev/null +++ b/other/converter/TBDevYSE_pre6/for_tbdev/pass.php @@ -0,0 +1,46 @@ + +
+
+ +
+
+ '; +} +else +{ + if(!file_exists('passwords.php')) stderr($tracker_lang['error'], 'passwords.php not exists'); + + include('passwords.php'); + stdhead(); + foreach ($passwords as $user) + { + $msg_sql = sprintf($msg, $user['username'], $user['new_passwd']); + sql_query("INSERT INTO messages (receiver, added, subject, msg) VALUES({$user['tb_user_id']}, NOW(), ".sqlesc($subject).", ".sqlesc($msg_sql).")"); + } + stdmsg('OK', 'Mass PM succesful'); +} + +stdfoot(); \ No newline at end of file diff --git a/other/converter/TBDevYSE_pre6/root/convert.php b/other/converter/TBDevYSE_pre6/root/convert.php new file mode 100644 index 000000000..b32deb8b4 --- /dev/null +++ b/other/converter/TBDevYSE_pre6/root/convert.php @@ -0,0 +1,265 @@ +session_start(); + +//if (!IS_ADMIN) die("Restricted access"); +while (@ob_end_flush()); +ob_implicit_flush(); + +error_reporting(E_ALL); +@ini_set('display_errors', 1); + +?> + + + + + + + + + +
+
+ +
+
+ + '; + + exit; +} +else +{ + +@ini_set('memory_limit', '512M'); +@ini_set('max_execution_time', @ini_get('max_execution_time') + 1200); + +// Step 1: Converting Users +if (CONVERT_USERS) +{ + if (CLEAN) + { + tp_users_cleanup(); + print_ok ("Users cleared"); + } + + $max_uid = (int) get_max_val(USERS_TABLE, 'user_id'); + $max_uid = ($max_uid > 1) ? $max_uid : 1; + + $users_count = (int) get_count(TB_USERS_TABLE, 'id'); + $loops = (int) ceil($users_count / C_USERS_PER_ONCE); + $pass = array(); + + switch(TR_TYPE) + { + case 'yse': + $_sql = 'avatar, '; + break; + + default: + $_sql = ''; + break; + } + + for ($i = 0; $i < $loops; $i++) + { + $start = $i * C_USERS_PER_ONCE; + $offset = C_USERS_PER_ONCE; + + $sql = " + SELECT + id, username, email, status, UNIX_TIMESTAMP(added) AS added, UNIX_TIMESTAMP(last_access) AS last_access, + class, icq, msn, aim, yahoo, website, $_sql + uploaded, downloaded, enabled, language + FROM ". TB_USERS_TABLE ." + ORDER BY id + LIMIT $start, $offset"; + + $users = $db->fetch_rowset($sql); + $db->sql_freeresult(); + + foreach ($users as $user) + { + $user['id'] += $max_uid; + $user['password'] = make_rand_str(15); + convert_user($user); + $pass[] = array( + 'tb_user_id' => $user['id'] - $max_uid, + 'username' => $user['username'], + 'new_passwd' => $user['password'], + ); + } + } + $passf = fopen('./converter/passwords.php', 'w'); + $to_write = " $tr_cat_id, + "cat_title" => 'Tracker', + ); + tp_add_category($tp_cat_data); + set_auto_increment(CATEGORIES_TABLE, 'cat_id'); + unset($tp_cat_data); + + $cats = $db->fetch_rowset("SELECT id, sort, name FROM ". TB_CATEGORIES_TABLE); + $db->sql_freeresult(); + + $max_forum_id = (int) get_max_val(FORUMS_TABLE, 'forum_id'); + + foreach ($cats as $cat) + { + $cat['id'] += $max_forum_id; + $cat['cat_id'] = $tr_cat_id; + convert_cat($cat); + } + set_auto_increment(FORUMS_TABLE, 'forum_id'); + print_ok ("Categories from TBDev converted"); + unset($cats); + + // Start of torrents converting + switch(TR_TYPE) + { + case 'yse': + $_sql = 'image1, image2, '; + break; + + case 'sky': + $_sql = 'poster, screenshot1, screenshot2, screenshot3, screenshot4, '; + break; + + default: + $_sql = ''; + break; + } + + $max_topic_id = (int) get_max_val(TOPICS_TABLE, 'topic_id'); + $max_post_id = (int) get_max_val(POSTS_TABLE, 'post_id'); + $max_attach_id = (int) get_max_val(ATTACHMENTS_TABLE, 'attach_id'); + + $torrents_count = (int) get_count(TB_TORRENTS_TABLE, 'id'); + $loops = (int) ceil($torrents_count / C_TORRENTS_PER_ONCE); + + for ($i = 0; $i < $loops; $i++) + { + $start = $i * C_TORRENTS_PER_ONCE; + $offset = C_TORRENTS_PER_ONCE; + $sql = " + SELECT + id, info_hash, name, filename, search_text, descr, $_sql + category, UNIX_TIMESTAMP(added) AS added, size, views, + UNIX_TIMESTAMP(last_action) AS lastseed, times_completed, owner, sticky + FROM ". TB_TORRENTS_TABLE ." + ORDER BY id + LIMIT $start, $offset"; + + $torrents = $db->fetch_rowset($sql); + $db->sql_freeresult(); + + foreach ($torrents as $torrent) + { + $torrent['topic_id'] = $torrent['id'] + $max_topic_id; + $torrent['post_id'] = $torrent['id'] + $max_post_id; + $torrent['attach_id'] = $torrent['id'] + $max_attach_id; + $torrent['owner'] += $max_uid; + $torrent['descr'] = append_images($torrent); + convert_torrent($torrent); + //print_r($torrent); + } + } + set_auto_increment(TOPICS_TABLE, 'topic_id'); + set_auto_increment(POSTS_TABLE, 'post_id'); + print_ok ("Total $torrents_count torrents from TBDev converted"); + unset($torrents); + + if (CONVERT_COMMENTS) + { + $max_post_id = (int) get_max_val(POSTS_TABLE, 'post_id'); + $max_topic_id = (int) get_max_val(TOPICS_TABLE, 'topic_id'); + $max_attach_id = (int) get_max_val(ATTACHMENTS_TABLE, 'attach_id'); + + $comments_count = (int) get_count(TB_COMMENTS_TABLE, 'id'); + $loops = (int) ceil($comments_count / C_COMMENTS_PER_ONCE); + + for ($i = 0; $i < $loops; $i++) + { + $start = $i * C_COMMENTS_PER_ONCE; + $offset = C_COMMENTS_PER_ONCE; + $sql = " + SELECT + c.id, c.user, c.torrent, c.text, tor.category, + UNIX_TIMESTAMP(c.added) AS added, UNIX_TIMESTAMP(c.editedat) AS editedat, c.ip + FROM ". TB_COMMENTS_TABLE ." c + LEFT JOIN ". TB_TORRENTS_TABLE ." tor ON(tor.id = c.torrent) + WHERE c.torrent <> 0 + ORDER BY c.id + LIMIT $start, $offset"; + + $comments = $db->fetch_rowset($sql); + $db->sql_freeresult(); + + foreach ($comments as $comment) + { + $comment['user'] += $max_uid; + $comment['id'] += $max_post_id; + convert_comment($comment); + } + } + unset($comments); + set_auto_increment(POSTS_TABLE, 'post_id'); + print_ok ("Total $comments_count comments from TBDev converted"); + } +} + +if (CONVERT_MYBB_FORUMS) +{ + +} + +?> + +
+Converting completed. + + + \ No newline at end of file diff --git a/other/converter/TBDevYSE_pre6/root/converter/constants.php b/other/converter/TBDevYSE_pre6/root/converter/constants.php new file mode 100644 index 000000000..a49badd5d --- /dev/null +++ b/other/converter/TBDevYSE_pre6/root/converter/constants.php @@ -0,0 +1,8 @@ +" : ''; + $err = ''; + + echo '
'; + echo "OK - $sql". str_repeat(' ', 256) ."\n
"; + echo '
'; +} + +function hex2bin($h) +{ + if (!is_string($h)) return null; + $r=''; + for ($a=0; $afetch_row("SELECT MAX($column) AS $column FROM $table_name LIMIT 1"); + return $row[$column]; +} + +function get_count($table_name, $column) +{ + global $db; + + $row = $db->fetch_row("SELECT COUNT($column) AS $column FROM $table_name LIMIT 1"); + return $row[$column]; +} + +function set_auto_increment($table_name, $column, $val = null) +{ + global $db; + + if (empty($val)) + { + $row = $db->fetch_row("SELECT MAX($column) AS val FROM $table_name LIMIT 1"); + $db->sql_freeresult(); + $val = (int) $row['val'] + 1; + } + $db->query("ALTER TABLE $table_name auto_increment = $val"); +} + +//Users functions +function tp_users_cleanup() +{ + global $db; + + /* + if (!function_exists('user_delete')) require_once('./includes/functions_admin.php'); + + if ($row = $db->fetch_row("SELECT user_id FROM ". USERS_TABLE ." WHERE user_id NOT IN(". EXCLUDED_USERS_CSV .');')) + { + foreach ($row as $user) + { + user_delete($user['user_id']); + } + }*/ + $db->query('DELETE FROM '. USERS_TABLE .' WHERE user_id NOT IN('. EXCLUDED_USERS_CSV .')'); + $db->query('TRUNCATE '. BT_USERS_TABLE); +} + +function tp_user_level($tb_class) +{ + switch($tb_class) + { + case 0: + case 1: + case 2: + case 3: + $level = 0; + break; + case 4: + $level = 2; + break; + case 5: + case 6: + case 7: + $level = 1; + break; + default: + $level = 0; + break; + } + return $level; +} + +function convert_user($user) +{ + global $db; + + $user_data = array( + "user_id" => $user['id'], + "user_active" => ($user['enabled'] == 'yes') ? true : false, + "username" => $user['username'], + "user_password" => md5($user['password']), + "user_lastvisit" => $user['last_access'], + "user_regdate" => $user['added'], + "user_level" => tp_user_level($user['class']), + "user_lang" => $user['language'], + "user_dateformat" => "Y-m-d H:i", + //"user_opt" => , + "user_avatar" => !empty($user['avatar']) ? $user['avatar'] : null, + "user_avatar_type" => !empty($user['avatar']) ? 2 : null, + "user_email" => $user['email'], + "user_website" => $user['website'], + "user_icq" => $user['icq'], + "user_aim" => $user['aim'], + "user_yim" => $user['yahoo'], + "user_msnm" => $user['msn'], + ); + + $columns = $values = array(); + + foreach ($user_data as $column => $value) + { + $columns[] = $column; + $values[] = "'". $db->escape($value) ."'"; + } + $sql_columns = implode(',', $columns); + $sql_values = implode(',', $values); + + $db->query("INSERT IGNORE INTO ". USERS_TABLE . " ($sql_columns) VALUES($sql_values);"); + + $bt_user_data = array( + "user_id" => $user['id'], + "auth_key" => make_rand_str(BT_AUTH_KEY_LENGTH), + "u_up_total" => $user['uploaded'], + "u_down_total" => $user['downloaded'], + ); + $columns = $values = array(); + + foreach ($bt_user_data as $column => $value) + { + $columns[] = $column; + $values[] = "'". $db->escape($value) ."'"; + } + $sql_bt_columns = implode(',', $columns); + $sql_bt_values = implode(',', $values); + + $db->query("INSERT IGNORE INTO ". BT_USERS_TABLE . " ($sql_bt_columns) VALUES($sql_bt_values);"); +} + +//Torrents and categories functions +function tp_categories_cleanup() +{ + global $db; + + $db->query('DELETE FROM '. CATEGORIES_TABLE); +} + +function tp_add_category_old($id, $cat_title) +{ + global $db; + + $db->query("INSERT IGNORE INTO ". CATEGORIES_TABLE ." (cat_id, cat_title) + VALUES ($id, '". $db->escape($cat_title) ."')"); + return; +} + +function tp_add_category($cat_data) +{ + global $db; + + $columns = $values = array(); + + foreach ($cat_data as $column => $value) + { + $columns[] = $column; + $values[] = "'". $db->escape($value) ."'"; + } + $sql_bt_columns = implode(',', $columns); + $sql_bt_values = implode(',', $values); + + $db->query("INSERT IGNORE INTO ". CATEGORIES_TABLE . " ($sql_bt_columns) VALUES($sql_bt_values);"); +} + +function tp_topics_cleanup() +{ + global $db; + + $db->query("TRUNCATE ". ATTACHMENTS_TABLE); + $db->query("TRUNCATE ". ATTACHMENTS_DESC_TABLE); + $db->query("TRUNCATE ". BT_TORRENTS_TABLE); + $db->query("TRUNCATE ". POSTS_TABLE); + $db->query("TRUNCATE ". POSTS_HTML_TABLE); + $db->query("TRUNCATE ". POSTS_SEARCH_TABLE); + $db->query("TRUNCATE ". POSTS_TEXT_TABLE); + $db->query("TRUNCATE ". TOPICS_TABLE); + /*if (!function_exists('topic_delete')) require_once('./includes/functions_admin.php'); + + if ($row = $db->fetch_row("SELECT topic_id FROM ". TOPICS_TABLE)) + { + foreach ($row as $topic) + { + topic_delete($topic['topic_id']); + } + }*/ + + return; +} + +function tp_add_topic($topic_data) +{ + global $db; + + $columns = $values = array(); + foreach ($topic_data as $column => $value) + { + $columns[] = $column; + $values[] = "'". $db->escape($value) ."'"; + } + $sql_columns = implode(',', $columns); + $sql_values = implode(',', $values); + + $db->query("INSERT IGNORE INTO ". TOPICS_TABLE . " ($sql_columns) VALUES($sql_values);"); + return; +} + +function tp_add_post($post_data) +{ + global $db; + + foreach ($post_data as $key => $data) + { + $columns = $values = array(); + foreach ($data as $column => $value) + { + $columns[] = $column; + $values[] = "'". $db->escape($value) ."'"; + } + $sql_columns = implode(',', $columns); + $sql_values = implode(',', $values); + + $db->query("INSERT IGNORE INTO bb_{$key} ($sql_columns) VALUES($sql_values);"); + } + return; +} + +function tp_add_attach($attach_data) +{ + global $db; + + foreach ($attach_data as $key => $data) + { + $columns = $values = array(); + foreach ($data as $column => $value) + { + $columns[] = $column; + $values[] = "'". $db->escape($value) ."'"; + } + $sql_columns = implode(',', $columns); + $sql_values = implode(',', $values); + + $db->query("INSERT IGNORE INTO bb_{$key} ($sql_columns) VALUES($sql_values);"); + } + return; +} + +function make_img_path ($name) +{ + global $bb_cfg; + + return make_url("files/images/" . $name); +} + +function append_images($tor) +{ + $poster = $screens = ''; + switch(TR_TYPE) + { + case 'yse': + if(!empty($tor['image1'])) + { + $poster = "[img=right]".make_img_path($tor['image1'])."[/img]"; + } + if(!empty($tor['image2'])) + { + $screens = '[spoiler="Скриншоты"][img]'.make_img_path($tor['image2'])."[/img][/spoiler]"; + } + break; + case 'sky': + if(!empty($tor['poster'])) + { + $poster = "[img=right]".make_img_path($tor['poster'])."[/img]"; + } + $has_screens = !empty($tor['screenshot1']) || !empty($tor['screenshot2']) || !empty($tor['screenshot3']) || !empty($tor['screenshot4']); + if ($has_screens) + { + $screens .= '[spoiler="Скриншоты"]'; + for ($i = 1; $i<=4; $i++) + { + if(!empty($tor['screenshot'.$i])) + { + $screens .= "[img]".make_img_path($tor['screenshot'.$i])."[/img] \n"; + } + } + $screens .= "[/spoiler]"; + } + break; + } + return ($poster . $tor['descr'] . $screens); +} + +function convert_torrent($torrent) +{ + global $db; + + $topic_data = array( + "topic_id" => $torrent['topic_id'], + "forum_id" => $torrent['category'], + "topic_title" => $torrent['name'], + "topic_poster" => $torrent['owner'], + "topic_time" => $torrent['added'], + "topic_views" => $torrent['views'], + "topic_type" => ($torrent['sticky'] == 'yes') ? 1 : 0, + "topic_first_post_id" => $torrent['id'], + "topic_last_post_id" => $torrent['id'], + "topic_attachment" => 1, + "topic_dl_type" => 1, + "topic_last_post_time" => $torrent['added'], + ); + tp_add_topic($topic_data); + + $bbcode_uid = make_bbcode_uid(); + //$post_text = prepare_message($torrent['descr'], true, true, $bbcode_uid); + $post_text = stripslashes(prepare_message(addslashes(unprepare_message($torrent['descr'])), true, true, $bbcode_uid)); + + $post_data = array( + "posts" => array( + "post_id" => $torrent['post_id'], + "topic_id" => $torrent['topic_id'], + "forum_id" => $torrent['category'], + "poster_id" => $torrent['owner'], + "post_time" => $torrent['added'], + "post_attachment" => 1, + ), + "posts_text" => array( + "post_id" => $torrent['post_id'], + "bbcode_uid" => $bbcode_uid, + "post_text" => $post_text, + ), + "posts_search" => array( + "post_id" => $torrent['post_id'], + "search_words" => $torrent['search_text'], + ), + ); + tp_add_post($post_data); + + $attach_data = array( + "attachments" => array( + "attach_id" => $torrent['attach_id'], + "post_id" => $torrent['post_id'], + "user_id_1" => $torrent['owner'], + ), + "attachments_desc" => array( + "attach_id" => $torrent['attach_id'], + "physical_filename" => $torrent['id'] . ".torrent", + "real_filename" => $torrent['filename'], + "extension" => "torrent", + "mimetype" => "application/x-bittorrent", + "filesize" => @filesize(get_attachments_dir() .'/'. $torrent['id'] .".torrent"), + "filetime" => $torrent['added'], + "tracker_status" => 1, + ), + ); + tp_add_attach($attach_data); + + //Torrents + if (BDECODE) + { + $filename = get_attachments_dir() .'/'. $torrent['id'] .".torrent"; + if (!file_exists($filename)) + { + return; + } + if (!function_exists('bdecode_file')) include_once('./includes/functions_torrent.php'); + $tor = bdecode_file($filename); + $info = ($tor['info']) ? $tor['info'] : array(); + $info_hash = pack('H*', sha1(bencode($info))); + $info_hash_sql = rtrim($db->escape($info_hash), ' '); + } + else + { + $info_hash_sql = hex2bin($torrent['info_hash']); + } + + $torrent_data = array( + "info_hash" => $info_hash_sql, + "post_id" => $torrent['post_id'], + "poster_id" => $torrent['owner'], + "topic_id" => $torrent['topic_id'], + "forum_id" => $torrent['category'], + "attach_id" => $torrent['attach_id'], + "size" => $torrent['size'], + "reg_time" => $torrent['added'], + "complete_count" => $torrent['times_completed'], + "seeder_last_seen" => $torrent['lastseed'], + ); + + $columns = $values = array(); + + foreach ($torrent_data as $column => $value) + { + $columns[] = $column; + $values[] = "'". $db->escape($value) ."'"; + } + $sql_columns = implode(', ', $columns); + $sql_values = implode(', ', $values); + + $db->query("INSERT IGNORE INTO ". BT_TORRENTS_TABLE . " ($sql_columns) VALUES($sql_values);"); + return; +} + +//Comments functions +function convert_comment($comment) +{ + global $db; + + $bbcode_uid = make_bbcode_uid(); + $post_text = prepare_message($comment['text'], true, true, $bbcode_uid); + + $post_data = array( + "posts" => array( + "post_id" => $comment['id'], + "topic_id" => $comment['torrent'], + "forum_id" => $comment['category'], + "poster_id" => $comment['user'], + "post_time" => $comment['added'], + "poster_ip" => encode_ip($comment['ip']), + "post_edit_time" => $comment['editedat'], + "post_edit_count" => $comment['editedat'] ? 1 : 0, + ), + "posts_text" => array( + "post_id" => $comment['id'], + "bbcode_uid" => $bbcode_uid, + "post_text" => $post_text, + ), + ); + tp_add_post($post_data); + //add_search_words($comment['id'], stripslashes($post_text)); + return; +} + +//Forums functions +function tp_forums_cleanup() +{ + global $db; + + $db->query('TRUNCATE '. FORUMS_TABLE); +} + +function convert_cat($forum, $allow_torrents = true) +{ + global $db; + + $forum_data = array( + "forum_id" => $forum['id'], + "cat_id" => $forum['cat_id'], + "forum_name" => $forum['name'], + "forum_order" => $forum['sort'], + "allow_reg_tracker" => $allow_torrents, + "allow_dl_topic" => $allow_torrents, + ); + + $columns = $values = array(); + + foreach ($forum_data as $column => $value) + { + $columns[] = $column; + $values[] = "'". $db->escape($value) ."'"; + } + $sql_columns = implode(',', $columns); + $sql_values = implode(',', $values); + + $db->query("INSERT IGNORE INTO ". FORUMS_TABLE . " ($sql_columns) VALUES($sql_values);"); + return; +} diff --git a/other/converter/TBDevYSE_pre6/root/converter/passwords.php b/other/converter/TBDevYSE_pre6/root/converter/passwords.php new file mode 100644 index 000000000..5f7aafe87 --- /dev/null +++ b/other/converter/TBDevYSE_pre6/root/converter/passwords.php @@ -0,0 +1,2 @@ +session_start(); + +while (@ob_end_flush()); +ob_implicit_flush(); + +?> + + + + + + + + + +
+
+ +
+
+ + '; + + exit; +} +else +{ + +@ini_set('memory_limit', '512M'); +@ini_set('max_execution_time', @ini_get('max_execution_time') + 1200); + +$torrents_count = (int) get_count(BT_TORRENTS_TABLE, 'attach_id'); +$loops = (int) ceil($torrents_count / C_TORRENTS_PER_ONCE); + +$not_exist = array(); + +$attach_dir = get_attachments_dir() .'/'; + +for ($i = 0; $i < $loops; $i++) +{ + $start = $i * C_TORRENTS_PER_ONCE; + $offset = C_TORRENTS_PER_ONCE; + + $sql = "SELECT + tor.attach_id, tor.topic_id, ad.physical_filename + FROM ". BT_TORRENTS_TABLE ." tor + LEFT JOIN ". ATTACHMENTS_DESC_TABLE ." ad ON(ad.attach_id = tor.attach_id) + ORDER BY tor.attach_id + LIMIT $start, $offset"; + + $torrents = $db->fetch_rowset($sql); + $db->sql_freeresult(); + + foreach ($torrents as $torrent) + { + $filename = $attach_dir . $torrent['physical_filename']; + if (!file_exists($filename)) + { + $not_exist[] = ''. $filename .''; + } + else + { + $tor = bdecode_file($filename); + $info = (!empty($tor['info'])) ? $tor['info'] : array(); + $info_hash = pack('H*', sha1(bencode($info))); + $info_hash_sql = rtrim($db->escape($info_hash), ' '); + + $db->query("UPDATE ". BT_TORRENTS_TABLE ." + SET info_hash = '$info_hash_sql' + WHERE attach_id = {$torrent['attach_id']}"); + } + } +} + +print_ok ("Completed"); + +if(!empty($not_exist)) +{ + print_ok ("These torrents doesn't exist in filesystem: ". implode(', ', array_unique($not_exist))); +} + +} diff --git a/upload/robots.txt b/upload/robots.txt new file mode 100644 index 000000000..9e8678f64 --- /dev/null +++ b/upload/robots.txt @@ -0,0 +1,17 @@ +User-agent: * +Disallow: /forum/download.php +Disallow: /forum/filelst.php +Disallow: /forum/groupcp.php +Disallow: /forum/login.php +Disallow: /forum/memberlist.php +Disallow: /forum/modcp.php +Disallow: /forum/posting.php +Disallow: /forum/privmsg.php +Disallow: /forum/profile.php +Disallow: /forum/release.php +Disallow: /forum/viewonline.php +Crawl-delay: 0.3 +Host: site.ru +Clean-param: sid /forum/*.php + +Sitemap: http://site.ru/sitemap.php \ No newline at end of file