From 3e8b494572a38bf9daf96b11eefc1641e9039caf Mon Sep 17 00:00:00 2001 From: Yuriy Pikhtarev Date: Mon, 12 Jun 2017 15:15:04 +0300 Subject: [PATCH] TorrentPier Aurochs release preparation. --- .styleci.yml | 2 +- common.php | 4 +- dl_list.php | 4 +- group.php | 6 +- group_edit.php | 2 - index.php | 35 +- install/sql/mysql.sql | 8 +- install/sql/ocelot.sql | 4 +- library/ajax/view_torrent.php | 4 +- library/config.php | 2 +- library/includes/functions_torrent.php | 103 +-- login.php | 3 - memberlist.php | 8 +- modcp.php | 2 +- opensearch_desc.xml | 3 +- posting.php | 21 +- privmsg.php | 17 +- styles/templates/posting_tpl.tpl | 941 +++++++++++++++++-------- tracker.php | 10 +- viewforum.php | 7 +- viewtopic.php | 25 +- 21 files changed, 709 insertions(+), 502 deletions(-) diff --git a/.styleci.yml b/.styleci.yml index 9a1c54393..64c6be3ca 100644 --- a/.styleci.yml +++ b/.styleci.yml @@ -7,4 +7,4 @@ finder: - "*Stub.php" path: - "src" - - "tests" \ No newline at end of file + - "tests" diff --git a/common.php b/common.php index b6ff62b1c..7bed15a72 100644 --- a/common.php +++ b/common.php @@ -305,7 +305,7 @@ function mkdir_rec($path, $mode) return ($path !== '.' && $path !== '..') ? is_writable($path) : false; } - return mkdir_rec(dirname($path), $mode) ? @mkdir($path, $mode) : false; + return mkdir_rec(dirname($path), $mode) ? mkdir($path, $mode) : false; } function verify_id($id, $length) @@ -442,7 +442,7 @@ function log_request($file = '', $prepend_str = false, $add_post = true) { global $user; - $file = ($file) ?: 'req/' . date('m-d'); + $file = $file ?: 'req/' . date('m-d'); $str = array(); $str[] = date('m-d H:i:s'); if ($prepend_str !== false) { diff --git a/dl_list.php b/dl_list.php index 8a06777e3..34be99349 100644 --- a/dl_list.php +++ b/dl_list.php @@ -56,10 +56,10 @@ $full_url = isset($_POST['full_url']) ? str_replace('&', '&', htmlspecialcha if (isset($_POST['redirect_type']) && $_POST['redirect_type'] == 'search') { $redirect_type = "search.php"; - $redirect = ($full_url) ?: "$dl_key=1"; + $redirect = $full_url ?: "$dl_key=1"; } else { $redirect_type = (!$topic_id) ? "viewforum.php" : "viewtopic.php"; - $redirect = ($full_url) ?: ((!$topic_id) ? POST_FORUM_URL . "=$forum_id" : POST_TOPIC_URL . "=$topic_id"); + $redirect = $full_url ?: ((!$topic_id) ? POST_FORUM_URL . "=$forum_id" : POST_TOPIC_URL . "=$topic_id"); } // Start session management diff --git a/group.php b/group.php index cdb6772c5..6b1b3abb7 100644 --- a/group.php +++ b/group.php @@ -41,8 +41,8 @@ function generate_user_info(&$row, $date_format, $group_mod, &$from, &$posts, &$ $from = (!empty($row['user_from'])) ? $row['user_from'] : ''; $joined = bb_date($row['user_regdate']); $user_time = (!empty($row['user_time'])) ? bb_date($row['user_time']) : $lang['NONE']; - $posts = ($row['user_posts']) ?: 0; - $pm = ($bb_cfg['text_buttons']) ? '' . $lang['SEND_PM_TXTB'] . '' : '' . $lang['SEND_PRIVATE_MESSAGE'] . ''; + $posts = $row['user_posts'] ?: 0; + $pm = $bb_cfg['text_buttons'] ? '' . $lang['SEND_PM_TXTB'] . '' : '' . $lang['SEND_PRIVATE_MESSAGE'] . ''; $avatar = get_avatar($row['user_id'], $row['avatar_ext_id'], !bf($row['user_opt'], 'user_opt', 'dis_avatar'), '', 50, 50); if (bf($row['user_opt'], 'user_opt', 'user_viewemail') || $group_mod) { @@ -53,7 +53,7 @@ function generate_user_info(&$row, $date_format, $group_mod, &$from, &$posts, &$ } if ($row['user_website']) { - $www = ($bb_cfg['text_buttons']) ? '' . $lang['VISIT_WEBSITE_TXTB'] . '' : '' . $lang['VISIT_WEBSITE'] . ''; + $www = $bb_cfg['text_buttons'] ? '' . $lang['VISIT_WEBSITE_TXTB'] . '' : '' . $lang['VISIT_WEBSITE'] . ''; } else { $www = ''; } diff --git a/group_edit.php b/group_edit.php index 085eead41..0e6cac066 100644 --- a/group_edit.php +++ b/group_edit.php @@ -50,8 +50,6 @@ if ($group_id) { } if ($is_moderator) { - // TODO Admin panel, some tasty features - // Avatar if ($submit) { if (!empty($_FILES['avatar']['name']) && $bb_cfg['group_avatars']['up_allowed']) { diff --git a/index.php b/index.php index b594fda76..bca2b3e6a 100644 --- a/index.php +++ b/index.php @@ -89,7 +89,7 @@ $excluded_forums_csv = $user->get_excluded_forums(AUTH_VIEW); $only_new = $user->opt_js['only_new']; // Validate requested category id -if ($viewcat and !$viewcat =& $forums['c'][$viewcat]['cat_id']) { +if ($viewcat && !($viewcat =& $forums['c'][$viewcat]['cat_id'])) { redirect("index.php"); } @@ -144,9 +144,9 @@ $replace_in_parent = array( $cache_name = 'index_sql_' . md5($sql); if (!$cat_forums = CACHE('bb_cache')->get($cache_name)) { - $cat_forums = array(); + $cat_forums = []; foreach (DB()->fetch_rowset($sql) as $row) { - if (!$cat_id = $row['cat_id'] or !$forum_id = $row['forum_id']) { + if (!($cat_id = $row['cat_id']) || !($forum_id = $row['forum_id'])) { continue; } @@ -280,13 +280,30 @@ $template->assign_vars(array( 'TOTAL_TOPICS' => sprintf($lang['POSTED_TOPICS_TOTAL'], $stats['topiccount']), 'TOTAL_POSTS' => sprintf($lang['POSTED_ARTICLES_TOTAL'], $stats['postcount']), 'TOTAL_USERS' => sprintf($lang['REGISTERED_USERS_TOTAL'], $stats['usercount']), - 'TOTAL_GENDER' => ($bb_cfg['gender']) ? sprintf($lang['USERS_TOTAL_GENDER'], $stats['male'], $stats['female'], $stats['unselect']) : '', + 'TOTAL_GENDER' => $bb_cfg['gender'] ? sprintf( + $lang['USERS_TOTAL_GENDER'], + $stats['male'], + $stats['female'], + $stats['unselect'] + ) : '', 'NEWEST_USER' => sprintf($lang['NEWEST_USER'], profile_url($stats['newestuser'])), // Tracker stats - 'TORRENTS_STAT' => ($bb_cfg['tor_stats']) ? sprintf($lang['TORRENTS_STAT'], $stats['torrentcount'], humn_size($stats['size'])) : '', - 'PEERS_STAT' => ($bb_cfg['tor_stats']) ? sprintf($lang['PEERS_STAT'], $stats['peers'], $stats['seeders'], $stats['leechers']) : '', - 'SPEED_STAT' => ($bb_cfg['tor_stats']) ? sprintf($lang['SPEED_STAT'], humn_size($stats['speed']) . '/s') : '', + 'TORRENTS_STAT' => $bb_cfg['tor_stats'] ? sprintf( + $lang['TORRENTS_STAT'], + $stats['torrentcount'], + humn_size($stats['size']) + ) : '', + 'PEERS_STAT' => $bb_cfg['tor_stats'] ? sprintf( + $lang['PEERS_STAT'], + $stats['peers'], + $stats['seeders'], + $stats['leechers'] + ) : '', + 'SPEED_STAT' => $bb_cfg['tor_stats'] ? sprintf( + $lang['SPEED_STAT'], + humn_size($stats['speed']) . '/s' + ) : '', 'SHOW_MOD_INDEX' => $bb_cfg['show_mod_index'], 'FORUM_IMG' => $images['forum'], 'FORUM_NEW_IMG' => $images['forum_new'], @@ -355,7 +372,7 @@ if ($bb_cfg['birthday_check_day'] && $bb_cfg['birthday_enabled']) { $week_list = $today_list = array(); $week_all = $today_all = false; - if ($stats['birthday_week_list']) { + if (isset($stats['birthday_week_list'])) { shuffle($stats['birthday_week_list']); foreach ($stats['birthday_week_list'] as $i => $week) { if ($i >= 5) { @@ -370,7 +387,7 @@ if ($bb_cfg['birthday_check_day'] && $bb_cfg['birthday_enabled']) { $week_list = sprintf($lang['NOBIRTHDAY_WEEK'], $bb_cfg['birthday_check_day']); } - if ($stats['birthday_today_list']) { + if (isset($stats['birthday_today_list'])) { shuffle($stats['birthday_today_list']); foreach ($stats['birthday_today_list'] as $i => $today) { if ($i >= 5) { diff --git a/install/sql/mysql.sql b/install/sql/mysql.sql index 0ef41f70d..39b141e05 100644 --- a/install/sql/mysql.sql +++ b/install/sql/mysql.sql @@ -32,7 +32,7 @@ CREATE TABLE IF NOT EXISTS `bb_attachments_config` ( -- ---------------------------- -- Records of bb_attachments_config -- ---------------------------- -INSERT INTO `bb_attachments_config` VALUES ('upload_dir', 'data/old_files'); +INSERT INTO `bb_attachments_config` VALUES ('upload_dir', 'data/torrent_files'); INSERT INTO `bb_attachments_config` VALUES ('upload_img', 'styles/images/icon_clip.gif'); INSERT INTO `bb_attachments_config` VALUES ('topic_icon', 'styles/images/icon_clip.gif'); INSERT INTO `bb_attachments_config` VALUES ('display_order', '0'); @@ -531,7 +531,7 @@ INSERT INTO `bb_config` VALUES ('seed_bonus_tor_size', '0'); INSERT INTO `bb_config` VALUES ('seed_bonus_user_regdate', '0'); INSERT INTO `bb_config` VALUES ('site_desc', 'A little text to describe your forum'); INSERT INTO `bb_config` VALUES ('sitemap_time', ''); -INSERT INTO `bb_config` VALUES ('sitename', 'TorrentPier - Bittorrent-tracker engine'); +INSERT INTO `bb_config` VALUES ('sitename', 'TorrentPier - Bull-powered BitTorrent tracker engine'); INSERT INTO `bb_config` VALUES ('smilies_path', 'styles/images/smiles'); INSERT INTO `bb_config` VALUES ('static_sitemap', ''); INSERT INTO `bb_config` VALUES ('topics_per_page', '50'); @@ -964,7 +964,7 @@ CREATE TABLE IF NOT EXISTS `bb_posts_text` ( -- Records of bb_posts_text -- ---------------------------- INSERT INTO `bb_posts_text` VALUES ('1', - 'Благодарим вас за установку новой версии TorrentPier!\n\nЧто делать дальше? Сперва настройте ваш сайт в администраторском разделе. Измените базовые опции: заголовок сайта, число сообщений на страницу, часовой пояс, язык по-умолчанию, настройки сидбонусов, дней рождения и т.д. Создайте несколько форумов, а также не забудьте переименовать или удалить этот. Обязательно настройте возможность создания релизов в созданных вами разделах и добавьте [url=https://torrentpier.me/threads/25867/]шаблоны оформления раздач[/url] для них. Если у вас возникнут вопросы или потребность в дополнительных модификациях, [url=https://torrentpier.me/]посетите наш форум[/url].\n\nТакже напоминаем, что у проекта TorrentPier есть несколько сайтов, которые могут оказаться полезны для вас:\n[list]\n[*]Форум: https://torrentpier.me/\n[*]Демо-версия: https://demo.torrentpier.me/\n[*]Инструкция: https://docs.torrentpier.me/\n[*]Центр загрузки: https://get.torrentpier.me/\n[*]Перевод на другие языки: http://translate.torrentpier.me/\n[/list]\nНе забудьте добавить их себе в закладки и регулярно проверять наличие новых версий движка на нашем форуме, для своевременного обновления.\n\nНе сомневаемся, вам под силу создать самый лучший трекер. Удачи!'); + 'Благодарим вас за установку новой версии TorrentPier Aurochs!\n\nЧто делать дальше? Сперва настройте ваш сайт в администраторском разделе. Измените базовые опции: заголовок сайта, число сообщений на страницу, часовой пояс, язык по-умолчанию, настройки сидбонусов, дней рождения и т.д. Создайте несколько форумов, а также не забудьте переименовать или удалить этот. Обязательно настройте возможность создания релизов в созданных вами разделах и добавьте [url=https://torrentpier.me/threads/25867/]шаблоны оформления раздач[/url] для них. Если у вас возникнут вопросы или потребность в дополнительных модификациях, [url=https://torrentpier.me/forum/]посетите наш форум[/url].\n\nТакже напоминаем, что у проекта TorrentPier есть несколько сайтов, которые могут оказаться полезны для вас:\n[list]\n[*]Форум: https://torrentpier.me/forum/\n[*]Демо-версия: https://demo.torrentpier.me/\n[*]Инструкция: https://docs.torrentpier.me/\n[*]Центр загрузки: https://get.torrentpier.me/\n[*]Перевод на другие языки: https://crowdin.com/project/torrentpier\n[/list]\nНе забудьте добавить их себе в закладки и регулярно проверять наличие новых версий движка на нашем форуме, для своевременного обновления.\n\nНе сомневаемся, вам под силу создать самый лучший трекер. Удачи!'); -- ---------------------------- -- Table structure for `bb_privmsgs` @@ -1226,7 +1226,7 @@ CREATE TABLE IF NOT EXISTS `bb_topics` ( -- Records of bb_topics -- ---------------------------- INSERT INTO `bb_topics` VALUES - ('1', '1', 'Добро пожаловать в TorrentPier', '2', UNIX_TIMESTAMP(), '2', '0', '0', '0', '0', '1', '1', '0', '0', + ('1', '1', 'Добро пожаловать в TorrentPier Aurochs', '2', UNIX_TIMESTAMP(), '2', '0', '0', '0', '0', '1', '1', '0', '0', '0', '1414658247', '0'); -- ---------------------------- diff --git a/install/sql/ocelot.sql b/install/sql/ocelot.sql index b7d35c6e9..aebdc585e 100644 --- a/install/sql/ocelot.sql +++ b/install/sql/ocelot.sql @@ -9,7 +9,7 @@ CREATE TABLE IF NOT EXISTS `bb_bt_tracker` ( `topic_id` mediumint(8) unsigned NOT NULL DEFAULT '0', `peer_id` varchar(20) NOT NULL, `user_id` mediumint(9) NOT NULL DEFAULT '0', - `ip` varchar(15) NOT NULL DEFAULT '0', + `ip` varchar(42) NOT NULL DEFAULT '0', `ipv6` varchar(32) DEFAULT NULL, `port` smallint(5) unsigned NOT NULL DEFAULT '0', `client` varchar(51) NOT NULL DEFAULT 'Unknown', @@ -50,4 +50,4 @@ CREATE TABLE IF NOT EXISTS `bb_bt_tracker_snap` ( -- ---------------------------- -- Records of bb_bt_tracker_snap --- ---------------------------- \ No newline at end of file +-- ---------------------------- diff --git a/library/ajax/view_torrent.php b/library/ajax/view_torrent.php index 6e41e0b06..b681c3967 100644 --- a/library/ajax/view_torrent.php +++ b/library/ajax/view_torrent.php @@ -40,7 +40,7 @@ if (!$torrent) { } $filename = get_attachments_dir() . '/' . $torrent['physical_filename']; -if (!$file_contents = file_get_contents($filename)) { +if (file_exists($filename) && !$file_contents = file_get_contents($filename)) { if (IS_AM) { $this->ajax_die($lang['ERROR_NO_ATTACHMENT'] . "\n\n" . htmlCHR($filename)); } else { @@ -48,7 +48,7 @@ if (!$file_contents = file_get_contents($filename)) { } } -if (!$tor = bdecode($file_contents)) { +if (!$tor = \Rych\Bencode\Bencode::decode($file_contents)) { return $lang['TORFILE_INVALID']; } diff --git a/library/config.php b/library/config.php index d11d34ce1..f64b32232 100644 --- a/library/config.php +++ b/library/config.php @@ -37,7 +37,7 @@ $bb_cfg['js_ver'] = $bb_cfg['css_ver'] = 1; // Version info $bb_cfg['tp_version'] = '2.1.6'; -$bb_cfg['tp_release_date'] = '12-07-2017'; +$bb_cfg['tp_release_date'] = '12-06-2017'; $bb_cfg['tp_release_codename'] = 'Aurochs'; // Database diff --git a/library/includes/functions_torrent.php b/library/includes/functions_torrent.php index c04c3154f..3f932411f 100644 --- a/library/includes/functions_torrent.php +++ b/library/includes/functions_torrent.php @@ -273,6 +273,7 @@ function tracker_register($attach_id, $mode = '', $tor_status = TOR_NOT_APPROVED torrent_auth_check($forum_id, $torrent['poster_id']); $filename = get_attachments_dir() . '/' . $torrent['physical_filename']; + $file_contents = file_get_contents($filename); if (!is_file($filename)) { return torrent_error_exit('File name error'); @@ -280,7 +281,7 @@ function tracker_register($attach_id, $mode = '', $tor_status = TOR_NOT_APPROVED if (!file_exists($filename)) { return torrent_error_exit('File not exists'); } - if (!$tor = bdecode_file($filename)) { + if (!$tor = \Rych\Bencode\Bencode::decode($file_contents)) { return torrent_error_exit('This is not a bencoded file'); } @@ -458,7 +459,8 @@ function send_torrent_with_passkey($filename) // Announce URL $ann_url = $bb_cfg['bt_announce_url']; - if (!$tor = bdecode_file($filename)) { + $file_contents = file_get_contents($filename); + if (!$tor = \Rych\Bencode\Bencode::decode($file_contents)) { bb_die('This is not a bencoded file'); } @@ -668,100 +670,3 @@ function ocelot_send_request($get, $max_attempts = 1, &$err = false) return $success; } - -// bdecode: based on OpenTracker -function bdecode_file($filename) -{ - $file_contents = file_get_contents($filename); - return bdecode($file_contents); -} - -function bdecode($str) -{ - $pos = 0; - return bdecode_r($str, $pos); -} - -function bdecode_r($str, &$pos) -{ - $strlen = strlen($str); - - if (($pos < 0) || ($pos >= $strlen)) { - return null; - } elseif ($str[$pos] == 'i') { - $pos++; - $numlen = strspn($str, '-0123456789', $pos); - $spos = $pos; - $pos += $numlen; - - if (($pos >= $strlen) || ($str[$pos] != 'e')) { - return null; - } else { - $pos++; - return (float)substr($str, $spos, $numlen); - } - } elseif ($str[$pos] == 'd') { - $pos++; - $ret = array(); - - while ($pos < $strlen) { - if ($str[$pos] == 'e') { - $pos++; - return $ret; - } else { - $key = bdecode_r($str, $pos); - - if ($key === null) { - return null; - } else { - $val = bdecode_r($str, $pos); - - if ($val === null) { - return null; - } elseif (!is_array($key)) { - $ret[$key] = $val; - } - } - } - } - return null; - } elseif ($str[$pos] == 'l') { - $pos++; - $ret = array(); - - while ($pos < $strlen) { - if ($str[$pos] == 'e') { - $pos++; - return $ret; - } else { - $val = bdecode_r($str, $pos); - - if ($val === null) { - return null; - } else { - $ret[] = $val; - } - } - } - return null; - } else { - $numlen = strspn($str, '0123456789', $pos); - $spos = $pos; - $pos += $numlen; - - if (($pos >= $strlen) || ($str[$pos] != ':')) { - return null; - } else { - $vallen = (int)substr($str, $spos, $numlen); - $pos++; - $val = substr($str, $pos, $vallen); - - if (strlen($val) != $vallen) { - return null; - } else { - $pos += $vallen; - return $val; - } - } - } -} diff --git a/login.php b/login.php index a4b9771ca..f714fcf64 100644 --- a/login.php +++ b/login.php @@ -119,9 +119,6 @@ if (isset($_POST['login'])) { if ($login_err > $bb_cfg['invalid_logins']) { $need_captcha = true; } - if ($login_err > 50) { - // TODO temp ban ip - } CACHE('bb_login_err')->set('l_err_' . USER_IP, ($login_err + 1), 3600); } else { $need_captcha = false; diff --git a/memberlist.php b/memberlist.php index 4d2dcadcf..e8318773e 100644 --- a/memberlist.php +++ b/memberlist.php @@ -134,7 +134,7 @@ if ($by_letter_req) { } elseif ($by_letter_req === 'others') { $by_letter = 'others'; $letter_sql = "username REGEXP '^[!-@\\[-`].*$'"; - } elseif ($letter_req = preg_replace("#[^$letters_range]#ui", '', iconv('windows-1251', 'UTF-8', reset($by_letter_req)))) { + } elseif ($letter_req = preg_replace("#[^$letters_range]#ui", '', iconv('windows-1251', 'UTF-8', $by_letter_req))) { $by_letter = DB()->escape($letter_req); $letter_sql = "LOWER(username) LIKE '$by_letter%'"; } @@ -175,17 +175,17 @@ if ($result = DB()->fetch_rowset($sql)) { $from = $row['user_from']; $joined = bb_date($row['user_regdate'], $bb_cfg['date_format']); $posts = $row['user_posts']; - $pm = ($bb_cfg['text_buttons']) ? '' . $lang['SEND_PM_TXTB'] . '' : '' . $lang['SEND_PRIVATE_MESSAGE'] . ''; + $pm = $bb_cfg['text_buttons'] ? '' . $lang['SEND_PM_TXTB'] . '' : '' . $lang['SEND_PRIVATE_MESSAGE'] . ''; if (bf($row['user_opt'], 'user_opt', 'user_viewemail') || IS_ADMIN) { - $email_uri = ($bb_cfg['board_email_form']) ? ("profile.php?mode=email&" . POST_USERS_URL . "=$user_id") : 'mailto:' . $row['user_email']; + $email_uri = $bb_cfg['board_email_form'] ? ("profile.php?mode=email&" . POST_USERS_URL . "=$user_id") : 'mailto:' . $row['user_email']; $email = '' . $row['user_email'] . ''; } else { $email = ''; } if ($row['user_website']) { - $www = ($bb_cfg['text_buttons']) ? '' . $lang['VISIT_WEBSITE_TXTB'] . '' : '' . $lang['VISIT_WEBSITE'] . ''; + $www = $bb_cfg['text_buttons'] ? '' . $lang['VISIT_WEBSITE_TXTB'] . '' : '' . $lang['VISIT_WEBSITE'] . ''; } else { $www = ''; } diff --git a/modcp.php b/modcp.php index 5b29f9535..b7517d85b 100644 --- a/modcp.php +++ b/modcp.php @@ -210,7 +210,7 @@ switch ($mode) { $req_topics = isset($_POST['topic_id_list']) ? $_POST['topic_id_list'] : $topic_id; validate_topics($forum_id, $req_topics, $topic_titles); - if (!$req_topics or !$topic_csv = get_id_csv($req_topics)) { + if (!$req_topics || !($topic_csv = get_id_csv($req_topics))) { bb_die($lang['NONE_SELECTED']); } diff --git a/opensearch_desc.xml b/opensearch_desc.xml index 9a2eeb5b1..52d3d4d47 100644 --- a/opensearch_desc.xml +++ b/opensearch_desc.xml @@ -4,6 +4,5 @@ TorrentPier (Forum) UTF-8 http://torrentpier.me/favicon.png - + diff --git a/posting.php b/posting.php index cca42ee34..0410d3404 100644 --- a/posting.php +++ b/posting.php @@ -105,19 +105,18 @@ switch ($mode) { break; default: - bb_die($lang['NO_POST_MODE']); + bb_simple_die($lang['NO_POST_MODE']); break; } -// Here we do various lookups to find topic_id, forum_id, post_id etc. -// Doing it here prevents spoofing (eg. faking forum_id, topic_id or post_id +// Various lookups to find topic_id, forum_id, post_id etc $error_msg = ''; $post_data = array(); switch ($mode) { case 'newtopic': case 'new_rel': if (!$forum_id) { - bb_die($lang['FORUM_NOT_EXIST']); + bb_simple_die($lang['FORUM_NOT_EXIST']); } $sql = "SELECT * FROM " . BB_FORUMS . " WHERE forum_id = $forum_id LIMIT 1"; break; @@ -137,7 +136,7 @@ switch ($mode) { case 'editpost': case 'delete': if (!$post_id) { - bb_die($lang['NO_POST_ID']); + bb_simple_die($lang['NO_POST_ID']); } $select_sql = 'SELECT f.*, t.*, p.*'; @@ -160,13 +159,15 @@ switch ($mode) { break; default: - bb_die($lang['NO_VALID_MODE']); + bb_simple_die($lang['NO_VALID_MODE']); } if ($post_info = DB()->fetch_row($sql)) { $forum_id = $post_info['forum_id']; $forum_name = $post_info['forum_name']; + set_die_append_msg($forum_id); + $is_auth = auth(AUTH_ALL, $forum_id, $userdata, $post_info); if ($post_info['forum_status'] == FORUM_LOCKED && !$is_auth['auth_mod']) { @@ -312,21 +313,15 @@ if (!IS_GUEST && $mode != 'newtopic' && ($submit || $preview || $mode == 'quote' } } -// -------------------- -// What shall we do? -// +// Confirm deletion if (($delete || $mode == 'delete') && !$confirm) { if (isset($_POST['cancel'])) { redirect(POST_URL . "$post_id#$post_id"); } - // - // Confirm deletion - // $hidden_fields = array( 'p' => $post_id, 'mode' => 'delete', ); - print_confirmation(array( 'QUESTION' => $lang['CONFIRM_DELETE'], 'FORM_ACTION' => POSTING_URL, diff --git a/privmsg.php b/privmsg.php index 985952e28..48056a46b 100644 --- a/privmsg.php +++ b/privmsg.php @@ -47,8 +47,7 @@ if ($bb_cfg['privmsg_disable']) { // // Parameters // -//$submit = ( isset($_POST['post']) ) ? TRUE : 0; -$submit = (bool)request_var('post', false); //test it! +$submit = (bool)request_var('post', false); $submit_search = (isset($_POST['usersubmit'])) ? true : 0; $submit_msgdays = (isset($_POST['submit_msgdays'])) ? true : 0; $cancel = (isset($_POST['cancel'])) ? true : 0; @@ -74,19 +73,9 @@ if ($folder =& $_REQUEST['folder']) { // Start session management $user->session_start(array('req_login' => true)); -if (IS_AM) { - $bb_cfg['max_inbox_privmsgs'] += 1000; - $bb_cfg['max_sentbox_privmsgs'] += 1000; - $bb_cfg['max_savebox_privmsgs'] += 1000; -} elseif (IS_GROUP_MEMBER) { - $bb_cfg['max_inbox_privmsgs'] += 200; - $bb_cfg['max_sentbox_privmsgs'] += 200; - $bb_cfg['max_savebox_privmsgs'] += 200; -} - $template->assign_vars(array( 'IN_PM' => true, - 'QUICK_REPLY' => ($bb_cfg['show_quick_reply'] && $folder == 'inbox' && $mode == 'read'), + 'QUICK_REPLY' => $bb_cfg['show_quick_reply'] && $folder == 'inbox' && $mode == 'read', )); // @@ -102,7 +91,7 @@ if ($cancel) { $start = isset($_REQUEST['start']) ? abs((int)$_REQUEST['start']) : 0; if (isset($_POST[POST_POST_URL]) || isset($_GET[POST_POST_URL])) { - $privmsg_id = (isset($_POST[POST_POST_URL])) ? (int)$_POST[POST_POST_URL] : (int)$_GET[POST_POST_URL]; + $privmsg_id = isset($_POST[POST_POST_URL]) ? (int)$_POST[POST_POST_URL] : (int)$_GET[POST_POST_URL]; } else { $privmsg_id = ''; } diff --git a/styles/templates/posting_tpl.tpl b/styles/templates/posting_tpl.tpl index da172bb56..67eeb9e2e 100644 --- a/styles/templates/posting_tpl.tpl +++ b/styles/templates/posting_tpl.tpl @@ -119,7 +119,7 @@ var TPL = { // значения для автозаполнителя формы. если не определено, то заполняется названием year : 2011, - poster : 'http://torrentpier2.googlecode.com/svn/trunk/upload/images/logo/logo.png', + poster : 'https://demo.torrentpier.me/styles/images/logo/logo.pngs', screenshots : 'http://img462.imageshack.us/img462/8360/snapshot20070911141251ee8.png\n[img]http://img513.imageshack.us/img513/7226/snapshot20070911141324ey9.png[/img]\nhttp://img513.imageshack.us/img513/2809/snapshot20070911141335tt2.png\n[img]http://img211.imageshack.us/img211/2936/snapshot20070911141603ew2.png[/img]', // dummy @@ -1013,7 +1013,8 @@ TPL.selects = { 'Субтитры', 'Не требуется', 'Отсутствует' - ], + ], + translation_abr: [ '', 'Dub', @@ -1028,7 +1029,8 @@ TPL.selects = { '', '', '' - ], + ], + translation2: [ '', 'Профессиональный (дублированный)', @@ -1043,7 +1045,8 @@ TPL.selects = { 'Субтитры', 'Не требуется', 'Отсутствует' - ], + ], + translation2_abr: [ '', 'Dub', @@ -1058,7 +1061,8 @@ TPL.selects = { '', '', '' - ], + ], + translation3: [ '', 'Профессиональный (дублированный)', @@ -1073,7 +1077,8 @@ TPL.selects = { 'Субтитры', 'Не требуется', 'Отсутствует' - ], + ], + translation3_abr: [ '', 'Dub', @@ -1088,7 +1093,8 @@ TPL.selects = { '', '', '' - ], + ], + translation4: [ '', 'Профессиональный (дублированный)', @@ -1103,7 +1109,8 @@ TPL.selects = { 'Субтитры', 'Не требуется', 'Отсутствует' - ], + ], + translation4_abr: [ '', 'Dub', @@ -1118,7 +1125,8 @@ TPL.selects = { '', '', '' - ], + ], + book_lang: [ '', 'Русский', @@ -1136,7 +1144,8 @@ TPL.selects = { 'Японский', 'Болгарский', 'Другой' - ], + ], + book_lang_abr: [ '', 'RUS', @@ -1154,7 +1163,8 @@ TPL.selects = { 'JPN', 'BGR', '' - ], + ], + flang_lang: [ '', 'Русский', @@ -1171,7 +1181,8 @@ TPL.selects = { 'Японский', 'Арабский', 'Другой' - ], + ], + flang_lang_abr: [ '', 'RUS', @@ -1188,18 +1199,35 @@ TPL.selects = { 'JPN', 'ARA', '' - ], + ], + sub_format: [ '', 'softsub (SRT)', 'softsub (SSA/ASS)', 'prerendered (IDX+SUB)', 'hardsub (неотключаемые)' - ], + ], + //видео iphone - rus_sub: ['', 'есть', 'нет'], - rus_sub_abr: ['', 'rus sub', ''], - sub_all: ['', 'русские', 'английские'], + rus_sub: [ + '', + 'есть', + 'нет' + ], + + rus_sub_abr: [ + '', + 'rus sub', + '' + ], + + sub_all: [ + '', + 'русские', + 'английские' + ], + //видео для PSP psp_video_type: [ '', @@ -1216,7 +1244,8 @@ TPL.selects = { 'Документальный фильм', 'Дорама', 'Онгоинг (аниме)' - ], + ], + psp_video_type_abr: [ '', '[FILM]', @@ -1232,9 +1261,20 @@ TPL.selects = { '[DOC]', '[DORAMA]', '[ONG][ANIME]' - ], - orig_audio_serial: ['', 'есть', 'нет'], - orig_audio_serial_abr: ['', 'Original', ''], + ], + + orig_audio_serial: [ + '', + 'есть', + 'нет' + ], + + orig_audio_serial_abr: [ + '', + 'Original', + '' + ], + //фильмы зарубежка, наше и т.д. orig_audio: [ 'нет', @@ -1261,7 +1301,8 @@ TPL.selects = { 'молдавский', 'португальский', 'Другой' - ], + ], + orig_audio_abr: [ '', 'Original Rus', @@ -1287,7 +1328,8 @@ TPL.selects = { 'Original Mol', 'Original Por', '' - ], + ], + video_quality: [ '» Качество видео', 'DVDRip', @@ -1307,7 +1349,8 @@ TPL.selects = { 'HDRip', 'DtheaterRip', 'DVDScreener' - ], + ], + //фильмы зарубежка, наше и т.д. video_quality_new: [ '» Выберите качество', @@ -1331,7 +1374,8 @@ TPL.selects = { 'DVD5', 'DVD9', 'DVB' - ], + ], + video_format: [ '» Формат видео', 'AVI', @@ -1345,7 +1389,8 @@ TPL.selects = { 'TS', 'M2TS', 'VOB' - ], + ], + video_codec: [ '» Видео кодек', 'DivX', @@ -1358,7 +1403,8 @@ TPL.selects = { 'QuickTime', 'H.264', 'Flash' - ], + ], + video_codec_2: [ '» Видео кодек', 'DivX', @@ -1371,7 +1417,8 @@ TPL.selects = { 'QuickTime', 'H.264', 'Flash' - ], + ], + audio_codec: [ '» Аудио кодек', 'MP3', @@ -1387,7 +1434,8 @@ TPL.selects = { 'AC3', 'M4A', 'M4B' - ], + ], + audio_codec_2: [ '» Аудио кодек', 'MP3', @@ -1403,7 +1451,8 @@ TPL.selects = { 'AC3', 'M4A', 'M4B' - ], + ], + audio_bitrate: [ '» Битрейт аудио', 'lossless', @@ -1416,29 +1465,34 @@ TPL.selects = { '320 kbps', 'VBR 128-192 kbps', 'VBR 192-320 kbps' - ], + ], + abook_type: [ '» Тип', 'аудиокнига', 'аудиоспектакль', 'модель для сборки' - ], + ], + publishing_type: [ '» Тип издания', 'лицензия', 'пиратка' - ], + ], + publishing_type_abr: [ '', 'L', 'P' - ], + ], + crack_exists: [ '» Таблэтка', 'не требуется', 'присутствует', 'отсутствует' - ], + ], + gui_lang: [ '', 'английский + русский', @@ -1446,36 +1500,42 @@ TPL.selects = { 'только русский', 'немецкий', 'Другой' - ], + ], + game_platform: [ '', 'PS', 'PS2' - ], + ], + game_region_def: [ '» Регион', 'PAL', 'NTSC', 'Другой' - ], + ], + game_region: [ '» Регион', 'Europe', 'US', 'Japan' - ], + ], + //psp-psx game_version: [ '', 'FULL', 'RIP', 'Другой' - ], + ], + game_firmware: [ '', 'iXtreme Compatible', 'Xtreme' - ], + ], + game_age: [ '» Возраст', 'EC - Для детей младшего возраста', @@ -1486,27 +1546,31 @@ TPL.selects = { 'AO - Только для взрослых', 'RP - Рейтинг ожидается', 'Другой' - ], + ], + game_multiplay: [ '', 'нет', '2х', '4х', 'более 4x' - ], + ], + game_lang_psp: [ '» Язык интерфейса', 'JAP', 'ENG', 'RUS', 'Multi5' - ], + ], + game_trans_type: [ '» Тип перевода', 'текст', 'текст + звук', 'нет' - ], + ], + book_format: [ '', 'PDF', @@ -1527,7 +1591,8 @@ TPL.selects = { 'PDF/DjVu', 'FB2/RTF/PDF', 'Другой' - ], + ], + book_quality: [ '', 'Отсканированные страницы', @@ -1536,19 +1601,22 @@ TPL.selects = { 'Распознанный текст без ошибок (OCR)', 'Изначально компьютерное (eBook)', 'Сфотографированные страницы' - ], + ], + vista_compat: [ '» Совместимость с Vista', 'полная', 'да', 'нет', 'неизвестно' - ], + ], + game_plat_wii: [ '', 'Nintendo Wii', 'GameCube' - ], + ], + maps_lang: [ '', 'Английский + Русский', @@ -1558,7 +1626,8 @@ TPL.selects = { 'Мультиязычный (русский присутствует)', 'Мультиязычный (русский отсутствует)', 'Другой' - ], + ], + maps_lang_abr: [ '', 'ENG + RUS', // Английский + Русский @@ -1568,7 +1637,8 @@ TPL.selects = { 'MULTILANG +RUS', // Мультиязычный (русский присутствует) 'MULTILANG -RUS', // Мультиязычный (русский отсутствует) '' - ], + ], + gui_lang_new: [ '', 'Английский + Русский', @@ -1579,7 +1649,8 @@ TPL.selects = { 'Немецкий', 'Японский', 'Другой' - ], + ], + gui_lang_new_abr: [ '', 'ENG + RUS', @@ -1590,26 +1661,30 @@ TPL.selects = { 'DEU', 'JAP', '' - ], + ], + tabletka_new: [ '', 'Присутствует', 'Отсутствует', 'Вылечено', 'Не требуется' - ], + ], + cpu_bits: [ '', '32bit', '64bit', '32bit+64bit' - ], + ], + cpu_bits_abr: [ '', 'x86', 'x64', 'x86+x64' - ], + ], + vista_compat_new: [ '» Совместимость с Vista', 'полная', @@ -1617,7 +1692,8 @@ TPL.selects = { 'только с х64 (64-бит)', 'нет', 'неизвестно' - ], + ], + windows7_compat: [ '» Совместимость с Windows 7', 'полная', @@ -1625,7 +1701,8 @@ TPL.selects = { 'только с х64 (64-бит)', 'нет', 'неизвестно' - ], + ], + maps_format: [ '', 'jpg, jpeg', @@ -1640,7 +1717,8 @@ TPL.selects = { 'ai', 'map', 'img' - ], + ], + maps_format_abr: [ '', 'JPEG', @@ -1655,13 +1733,15 @@ TPL.selects = { 'AI', 'MAP', 'IMG' - ], + ], + atlas_type: [ '', 'Атлас', 'Топографические карты', 'Карты' - ], + ], + lang_book_avto: [ '', 'Русский', @@ -1669,7 +1749,8 @@ TPL.selects = { 'Немецкий', 'Японский', 'Другой' - ], + ], + lang_book_avto_abr: [ '', 'RUS', @@ -1677,7 +1758,8 @@ TPL.selects = { 'Deu', 'Jap', '' - ], + ], + lang_book_med: [ '', 'Русский', @@ -1686,7 +1768,8 @@ TPL.selects = { 'Немецкий', 'Французский', 'Другой' - ], + ], + lang_book_med_abr: [ '', 'RUS', @@ -1694,19 +1777,22 @@ TPL.selects = { 'ENG', 'DEU', 'FRA' - ], + ], + product_milestone: [ '', 'Release', 'Pre-Beta', 'Beta', 'RC' - ], + ], + avto_mm_type: [ '', 'ММ', 'EWD' - ], + ], + manga_type: [ '', 'manga', @@ -1715,26 +1801,30 @@ TPL.selects = { 'one-shot', 'manhwa', 'manhua' - ], + ], + manga_completeness_with_header: [ '» Завершенность', 'complete', 'incomplete' - ], + ], + video_format_new: [ '» Выберите формат видео', 'AVI', 'MKV', 'MP4', 'DVD Video' - ], + ], + video_format_new_abr: [ '', '', 'AVC', 'AVC', '' - ], + ], + sub_all_new: [ '', 'нет', @@ -1761,7 +1851,8 @@ TPL.selects = { 'молдавские', 'португальские', 'Другие' - ], + ], + sub_all_new_abr: [ // Перевод языков для субтитров и оригинальной дорожки в тэги для заголовка '', '', @@ -1788,23 +1879,27 @@ TPL.selects = { 'Sub Mol', 'Sub Por', '' - ], + ], + anime_release_type: [ '» Тип релиза', 'Хардсаб', 'Без хардсаба', 'Полухардсаб' - ], + ], + anime_hwp: [ '» Совместимость с бытовыми плеерами', 'Да', - 'Нет', - ], + 'Нет' + ], + anime_hwp_abr: [ '', 'HWP', - '', - ], + '' + ], + transl_dorama: [ '', 'Русские субтитры', @@ -1813,13 +1908,15 @@ TPL.selects = { 'Многоголосая озвучка', 'Дубляж', 'Отсутствует' - ], + ], + sub_dorama: [ '', 'Хардсаб', 'Полухардсаб', 'Без хардсаба' - ], + ], + lang_dorama: [ '» Язык', 'Русский (внешним файлом)', @@ -1829,7 +1926,8 @@ TPL.selects = { 'Корейский', 'Тайваньский', 'Английский' - ], + ], + lang_dorama_2: [ '» Язык', 'Русский (внешним файлом)', @@ -1839,7 +1937,8 @@ TPL.selects = { 'Корейский', 'Тайваньский', 'Английский' - ], + ], + lang_dorama_abr: [ '', 'RUS(ext)', @@ -1849,7 +1948,8 @@ TPL.selects = { 'KOR', 'TW', 'ENG' - ], + ], + lang_dorama_2_abr: [ '', 'RUS(ext)', @@ -1859,7 +1959,8 @@ TPL.selects = { 'KOR', 'TW', 'ENG' - ], + ], + game_type_edition: [ '', 'Лицензия', @@ -1868,7 +1969,8 @@ TPL.selects = { 'RiP', 'Демо-версия', 'Trial' - ], + ], + game_type_edition_abr: [ '', 'L', @@ -1877,7 +1979,8 @@ TPL.selects = { 'RiP', 'Demo', 'Trial' - ], + ], + game_lang: [ '', 'русский', @@ -1887,7 +1990,8 @@ TPL.selects = { 'многоязычный', 'отсутствует / не требуется', 'Другой' - ], + ], + game_lang_abr: [ '', 'RUS', @@ -1897,7 +2001,8 @@ TPL.selects = { 'Multi', '', '' - ], + ], + game_lang_sound: [ '', 'русский', @@ -1906,7 +2011,8 @@ TPL.selects = { 'немецкий', 'отсутствует/не требуется', 'Другая' - ], + ], + game_lang_sound_abr: [ '', 'RUS', @@ -1915,14 +2021,16 @@ TPL.selects = { 'DEU', '', '' - ], + ], + game_tabletka: [ '', 'Присутствует', 'Отсутствует', 'Эмуляция образа', 'Не требуется' - ], + ], + lang_psp: [ '', 'Японский', @@ -1933,7 +2041,8 @@ TPL.selects = { 'Multi4', 'Multi5', 'Другой' - ], + ], + lang_psp_abr: [ '', 'JAP', @@ -1944,7 +2053,8 @@ TPL.selects = { 'Multi4', 'Multi5', '' - ], + ], + lang_sound_psp: [ '', 'Отсутствует', @@ -1952,7 +2062,8 @@ TPL.selects = { 'Английская', 'Русская', 'Другая' - ], + ], + sub_psp: [ '', 'Отсутствуют', @@ -1960,18 +2071,21 @@ TPL.selects = { 'Английские', 'Русские', 'Другие' - ], + ], + funct_psp: [ '', 'Да', 'Нет' - ], + ], + multiplayer_psp: [ '', '2x', '4x', 'Нет' - ], + ], + popsloader_psp: [ '', '3.00', @@ -1992,7 +2106,8 @@ TPL.selects = { '5.00 - original from flash', 'PSN', 'Другой' - ], + ], + //для кпк, мобильных и т.п. lang_mob: [ '» Язык интерфейса', @@ -2000,14 +2115,16 @@ TPL.selects = { 'Русский', 'Русский + Английский ', 'Многоязычный' - ], + ], + lang_mob_abr: [ '', 'ENG', 'RUS', 'RUS + ENG', 'Multi' - ], + ], + //формат файлов для клипартов, футажей и иже с ними. format_clipart: [ '', @@ -2015,7 +2132,8 @@ TPL.selects = { 'PSD', 'PNG', 'TIFF' - ], + ], + //photostocks format_photostocks: [ '', @@ -2024,14 +2142,16 @@ TPL.selects = { 'PSD', 'EPS', 'PCD' - ], + ], + //Костюмы для фотомонтажа format_photo: [ '', 'PSD', 'PNG', 'TIFF' - ], + ], + //Костюмы для фотомонтажа suit_type: [ '', @@ -2039,21 +2159,24 @@ TPL.selects = { 'Мужские костюмы', 'Детские костюмы', 'Групповые костюмы' - ], + ], + //векторные клипарты format_vector_clipart: [ '', 'AI', 'EPS', 'CDR' - ], + ], + format_3d_model: [ '', '3D Studio Max', 'Cinema4D', 'Poser', 'Другое' - ], + ], + format_3d: [ '', 'max', @@ -2062,27 +2185,32 @@ TPL.selects = { 'pos', 'obj', 'Другое' - ], + ], + material: [ '', 'Да', 'Нет' - ], + ], + texture: [ '', 'Да', 'Нет' - ], + ], + light_source: [ '', 'Да', 'Нет' - ], + ], + folder_pdf: [ '', 'Да', 'Нет' - ], + ], + //футажи video_footage: [ '', @@ -2090,27 +2218,31 @@ TPL.selects = { 'NTSC', 'HD', 'Другой' - ], + ], + def_footage: [ '', '720x480', '720x576', '1280x720', 'Другой' - ], + ], + frame_rate: [ '', '25', '30', '60', 'Другой' - ], + ], + video_format_footage: [ '', 'MOV', 'AVI', 'Другой' - ], + ], + lang_anime: [ '» Язык', 'Русский (внешним файлом)', @@ -2123,7 +2255,8 @@ TPL.selects = { 'Итальянский', 'Немецкий', 'Другой' - ], + ], + lang_anime_abr: [ '', 'RUS(ext)', @@ -2136,7 +2269,8 @@ TPL.selects = { 'ITA', 'GER', '' - ], + ], + lang_anime_2: [ '» Язык', 'Русский (внешним файлом)', @@ -2149,7 +2283,8 @@ TPL.selects = { 'Итальянский', 'Немецкий', 'Другой' - ], + ], + lang_anime_2_abr: [ '» Язык', 'RUS(ext)', @@ -2162,7 +2297,8 @@ TPL.selects = { 'ITA', 'GER', '' - ], + ], + lang_anime_3: [ '» Язык', 'Русский (внешним файлом)', @@ -2175,7 +2311,8 @@ TPL.selects = { 'Итальянский', 'Немецкий', 'Другой' - ], + ], + lang_anime_3_abr: [ '', 'RUS(ext)', @@ -2188,7 +2325,8 @@ TPL.selects = { 'ITA', 'GER', '' - ], + ], + //psp-psx disk_number_psn: [ '', @@ -2196,18 +2334,21 @@ TPL.selects = { '2', '3', '4' - ], + ], + //psp=psx change_disk_psn: [ '» Выбрать/ Диск всего один', 'Есть', 'Нет' - ], + ], + genre_game_dvd: [ '', 'Interactive Movie ', 'Adventure' - ], + ], + platform_game_dvd: [ '', 'DVD players', @@ -2217,23 +2358,27 @@ TPL.selects = { 'PS2', 'PS3', 'Другой' - ], + ], + tabletka_game_dvd: [ 'Не требуется' - ], + ], + format_disk_game_dvd: [ '', 'HD DVD', 'DVD9', 'DVD5', 'CD' - ], + ], + format_video_game_dvd: [ '', 'HD Video', 'DVD Video', 'MPEG 2' - ], + ], + sub_game_video: [ '', 'русские', @@ -2241,7 +2386,8 @@ TPL.selects = { 'немецкие', 'нет', 'Другие' - ], + ], + sub_game_video_abr: [ '', 'Sub-RUS', @@ -2249,7 +2395,8 @@ TPL.selects = { 'Sub-DEU', '', '' - ], + ], + lang_game_video: [ '', 'русский', @@ -2257,7 +2404,8 @@ TPL.selects = { 'немецкий', 'нет', 'Другой' - ], + ], + lang_game_video_abr: [ '', 'RUS', @@ -2265,7 +2413,8 @@ TPL.selects = { 'DEU', '', '' - ], + ], + format_game_video: [ '', 'AVI', @@ -2278,7 +2427,8 @@ TPL.selects = { '3GP', 'TS', 'Другой' - ], + ], + material_trailer: [ '', 'трейлер', @@ -2288,7 +2438,8 @@ TPL.selects = { 'интервью с актерами', 'сюжет из фильма', 'удаленные сцены' - ], + ], + //для трейлеров, видео (разное) и спорта!!! transl_trailer: [ '', @@ -2299,7 +2450,8 @@ TPL.selects = { 'Полное дублированние', 'Субтитры', 'Не требуется' - ], + ], + //для трейлеров, видео (разное) и спорта!!! video_quality_trailer: [ '» Качество видео', @@ -2314,7 +2466,8 @@ TPL.selects = { 'DVD5', 'DVD9', 'BluRay' - ], + ], + //для трейлеров, видео (разное) и спорта!!! video_format_trailer: [ '', @@ -2324,7 +2477,8 @@ TPL.selects = { 'MKV', 'MP4', 'DVD Video' - ], + ], + //для трейлеров, видео (разное) и спорта!!! video_codec_trailer: [ '', @@ -2332,7 +2486,8 @@ TPL.selects = { 'XviD', 'H264', 'MPEG2' - ], + ], + //для трейлеров, видео (разное) и спорта!!! audio_codec_trailer: [ '', @@ -2341,7 +2496,8 @@ TPL.selects = { 'AAC', 'WMA', 'DTS' - ], + ], + lang_old_game: [ '» Язык интерфейса', 'только английский', @@ -2350,7 +2506,8 @@ TPL.selects = { 'английский + русский', 'многоязычный', 'Другой' - ], + ], + lang_old_game_abr: [ '', '[ENG]', @@ -2359,7 +2516,8 @@ TPL.selects = { '[ENG + RUS]', '[Multi]', '' - ], + ], + //apple edition_type_iphone: [ '', @@ -2369,14 +2527,16 @@ TPL.selects = { 'ремикс', 'сборник', 'сингл' - ], + ], + words_iphone: [ '', 'вшиты', 'вшиты частично', 'отсутствуют', 'не требуются' - ], + ], + rip_prog_iphone: [ '', 'iTunes (диск)', @@ -2384,12 +2544,14 @@ TPL.selects = { 'foobar2000 + iTunes (lossless)', 'Сторонняя программа (lossless)', 'XLD (lossless)' - ], + ], + audio_bitrate_iphone_los: [ '» Битрейт аудио', 'lossless', 'lossless CBR (1411)' - ], + ], + transl_iphone: [ '', 'Любительский одноголосый', @@ -2403,53 +2565,62 @@ TPL.selects = { 'Субтитры', 'Отсутствует', 'Не требуется' - ], + ], + video_format_iphone: [ '', '*.mp4', '*.m4v', '*.mov' - ], + ], + video_codec_iphone: [ '» Видео кодек', 'H.264', 'XviD', 'Другой MPEG4' - ], + ], + audio_codec_iphone: [ '» Аудио кодек', 'ААС', 'ALAC', 'AAC + AC3' - ], + ], + cover_iphone: [ '', 'есть', 'нет' - ], + ], + tag_iphone: [ '', 'прописаны', 'нет', 'частично' - ], + ], + show_iphone: [ '', 'прописан', 'нет', 'не требуется' - ], + ], + chapter_iphone: [ '', 'прописаны', 'нет' - ], + ], + series_iphone: [ '', 'прописан', 'нет', 'не требуется' - ], + ], + audio_bitrate_iphone: [ '» Битрейт', '16 kbps', @@ -2473,17 +2644,20 @@ TPL.selects = { 'VBR 256 kbps', 'VBR 320 kbps', 'Другой' - ], + ], + audio_chapters_iphone: [ '', 'есть', 'нет' - ], + ], + audiobook_label: [ 'Официальное издание (заполнить соседнее поле)', 'Аудиокнига своими руками', 'Нигде не купишь' - ], + ], + // -apple platform_mob: [ '', @@ -2498,31 +2672,36 @@ TPL.selects = { 'Symbian UIQ 2', 'Symbian UIQ 3', 'N-Gage2' - ], + ], + platform_mac_prog: [ '', 'PPC only', 'Intel only', 'PPC/Intel Universal' - ], + ], + platform_mac_prog_abr: [ '', 'PPC', 'Intel', 'Universal' - ], + ], + lang_mac_prog: [ '', 'русский + английский', 'английский', 'немецкий' - ], + ], + lang_mac_prog_abr: [ '', 'RUS', '', '' - ], + ], + tablet_mac_prog: [ '', 'Серийный номер', @@ -2531,7 +2710,8 @@ TPL.selects = { 'Кейген', 'Кейген (требуется эмулятор Windows)', 'Нет таблетки' - ], + ], + tablet_mac_prog_abr: [ '', 'SN', @@ -2540,7 +2720,8 @@ TPL.selects = { 'K-Gen', 'WIN K-Gen', 'Demo' - ], + ], + video_format_dorama: [ '» Формат видео', 'AVI', @@ -2555,7 +2736,8 @@ TPL.selects = { 'M2TS', 'VOB', 'RM/RMVB' - ], + ], + video_quality_sport: [ '» Качество видео', 'DVDRip', @@ -2576,7 +2758,8 @@ TPL.selects = { 'DtheaterRip', 'DVDScreener', 'Stream' - ], + ], + audio_codec_music_lib: [ '» аудио кодек', 'WAV', @@ -2586,19 +2769,22 @@ TPL.selects = { 'FLAC', 'WMA', 'OGG Vorbis' - ], + ], + mus_loss_performer: [ '', 'Исполнитель (группа)', 'Сборник композиций разных исполнителей', - 'Саундтрек', - ], + 'Саундтрек' + ], + mus_loss_performer_abr: [ '', '', 'VA', - '', - ], + '' + ], + //Библиотеки сэмплов bit_music_lib: [ '» битность', @@ -2606,7 +2792,8 @@ TPL.selects = { '16 bit', '24 bit', 'Другой' - ], + ], + bitrate_music_lib: [ '» Битрейт', '64 kbps', @@ -2622,31 +2809,36 @@ TPL.selects = { '705 kbps', '1411 kbps', 'Другой' - ], + ], + rate_music_lib: [ '» Частота', '22 kHz', '44.1 kHz', '48 kHz', '96 kHz' - ], + ], + canales_music_lib: [ '» Каналы', 'mono', 'stereo', '5.1' - ], + ], + channel_sound: [ '» Каналы', 'mono', 'stereo' - ], + ], + //Ноты mus_edit: [ 'Фамилия редактора (заполнить соседнее поле)', 'Уртекст', 'Не известно/не указано.' - ], + ], + mus_lang: [ '', 'Русский', @@ -2658,8 +2850,9 @@ TPL.selects = { 'Испанский', 'Китайский', 'Японский', - 'Другой', - ], + 'Другой' + ], + mus_lang_abr: [ '', 'RUS', @@ -2671,8 +2864,9 @@ TPL.selects = { 'ESP', 'CHI', 'JPN', - '', - ], + '' + ], + transl_cartoons_0: [ '» Перевод', 'Полное дублирование', @@ -2685,7 +2879,8 @@ TPL.selects = { 'Авторский одноголосый закадровый (автор)', 'Не требуется', 'Отсутствует' - ], + ], + transl_cartoons_1: [ '» Перевод 2', 'Полное дублирование', @@ -2697,7 +2892,8 @@ TPL.selects = { 'Любительский одноголосый закадровый (автор)', 'Авторский одноголосый закадровый (автор)', 'Не требуется' - ], + ], + transl_cartoons_2: [ '» Перевод 3', 'Полное дублирование', @@ -2709,7 +2905,8 @@ TPL.selects = { 'Любительский одноголосый закадровый (автор)', 'Авторский одноголосый закадровый (автор)', 'Не требуется' - ], + ], + transl_cartoons_0_abr: [ '', 'DUB', @@ -2722,7 +2919,8 @@ TPL.selects = { 'AVO', '', '' - ], + ], + transl_cartoons_1_abr: [ '', 'DUB', @@ -2734,7 +2932,8 @@ TPL.selects = { 'VO', 'AVO', '' - ], + ], + transl_cartoons_2_abr: [ '', 'DUB', @@ -2746,11 +2945,13 @@ TPL.selects = { 'VO', 'AVO', '' - ], + ], + format_cartoons_dvd: [ '» Формат', 'DVD-video' - ], + ], + type_cartoons: [ '» Качество', 'DVD5', @@ -2759,12 +2960,14 @@ TPL.selects = { 'DVD5 (сжатый)', 'DVD9 (Custom)', 'DVD9 (Сжатый)' - ], + ], + screen_cartoons: [ '» Формат экрана', '16:9', '4:3' - ], + ], + def_cartoons: [ '» Система / Разрешение', 'PAL (720х576)', @@ -2775,7 +2978,8 @@ TPL.selects = { 'NTSC (352x480)', 'PAL (352x288)', 'NTSC (352x288)' - ], + ], + video_quality_cartoons: [ '» Качество', 'DVDRip', @@ -2801,14 +3005,16 @@ TPL.selects = { 'DVD5 (Сжатый)', 'DVD9 (Custom)', 'DVD9 (Сжатый)' - ], + ], + format_cartoons: [ '» Формат', 'AVI', 'MKV', 'MP4', 'DVD-Video' - ], + ], + video_quality_cartoons_hd: [ '» Качество', 'BDRip 720p', @@ -2819,7 +3025,8 @@ TPL.selects = { 'HDTVRip 720p', 'HDTVRip 1080p', 'HDTV 1080i' - ], + ], + format_cartoons_hd: [ '» Формат', 'MKV', @@ -2827,7 +3034,8 @@ TPL.selects = { 'M2TS', 'BDAV', 'BDMV' - ], + ], + video_quality_cart_serial: [ '» Качество', 'DVDRip', @@ -2862,7 +3070,8 @@ TPL.selects = { 'HDTVRip 720p', 'HDTVRip 1080p', 'HDTV 1080i' - ], + ], + video_quality_serial: [ '» Качество', 'DVDRip', @@ -2888,7 +3097,8 @@ TPL.selects = { 'Blu-Ray', 'DVB', 'Другое' - ], + ], + format_cart_serial: [ '» Формат', 'AVI', @@ -2901,7 +3111,8 @@ TPL.selects = { 'M2TS', 'BDMV', 'BDAV' - ], + ], + //apple >> iOS apple_ios_sysreq: [ '', @@ -2917,7 +3128,8 @@ TPL.selects = { 'iOS 5.0 и выше', 'iOS 5.1 и выше', 'Другое' - ], + ], + apple_ios_sysreq_abr: [ '', 'iOS 3.0', @@ -2932,7 +3144,8 @@ TPL.selects = { 'iOS 5.0', 'iOS 5.1', '' - ], + ], + apple_ios_lang: [ '', 'русский', @@ -2942,8 +3155,9 @@ TPL.selects = { 'немецкий', 'французский', 'испанский', - 'другой', - ], + 'другой' + ], + apple_ios_lang_abr: [ '', 'RUS', @@ -2953,8 +3167,9 @@ TPL.selects = { 'GER', 'FR', 'ESP', - '', - ], + '' + ], + apple_ios_dev: [ '', 'iPhone, iPod Touch, iPad (все поколения)', @@ -2962,8 +3177,8 @@ TPL.selects = { 'SD версия для iPhone, iPod Touch + HD версия для iPad', 'iPhone 3Gs, 4, 4s; iPod Touch 3-го и 4-го поколения; iPad (все поколения)', 'iPhone 4s, iPad 2, iPad new', - 'Другое', - ], + 'Другое' + ], apple_ios_def: [ '', @@ -2974,7 +3189,7 @@ TPL.selects = { '1024x768', '1024x768, 2048х1536', '480x320, 960x640 (SD) + 1024x768 (HD)', - '480x320, 960x640 (SD) + 1024x768, 2048х1536 (HD)', + '480x320, 960x640 (SD) + 1024x768, 2048х1536 (HD)' ], apple_ios_def_abr: [ @@ -2986,7 +3201,7 @@ TPL.selects = { 'HD', 'HD', 'HD+SD', - 'HD+SD', + 'HD+SD' ], apple_ios_format: [ @@ -3001,8 +3216,9 @@ TPL.selects = { '.jpg', '.png', 'разные (темы)', - 'другой', - ], + 'другой' + ], + apple_ios_format_abr: [ '', '', @@ -3015,8 +3231,9 @@ TPL.selects = { 'Обои', 'Обои', 'Темы', - '', - ], + '' + ], + //фильмы, сериалы. video_codec_serials: [ '» Видео кодек', @@ -3025,25 +3242,29 @@ TPL.selects = { 'H.264', 'MPEG2', 'Другой' - ], + ], + audio_codec_serials: [ '» Аудио кодек', 'MP3', 'AC3', 'Другой' - ], + ], + type_avatar: [ '', 'Avatars', 'Icons', 'Smiles', 'Userbars' - ], + ], + type_theme_kpk: [ '', 'Wall', 'Themes' - ], + ], + //3D модели, сцены и материалы type_3d_model: [ '» Количество', @@ -3053,7 +3274,8 @@ TPL.selects = { 'HDRI', 'материалов', 'Другое' - ], + ], + video_quality_vlesson: [ '» Качество', 'DVDRip', @@ -3071,7 +3293,8 @@ TPL.selects = { 'WEBRip', 'VCD', 'PDTVRip' - ], + ], + format_vlesson: [ '» Формат', 'AVI', @@ -3084,7 +3307,8 @@ TPL.selects = { 'TS/M2TS', 'FLV', 'MOV' - ], + ], + video_codec_vlesson: [ '» Видео кодек', 'XviD', @@ -3096,7 +3320,8 @@ TPL.selects = { 'H.264', 'VPx', 'FLVx' - ], + ], + audio_codec_vlesson: [ '» Аудио кодек', 'MP3', @@ -3108,7 +3333,8 @@ TPL.selects = { 'MP2', 'FLAC', 'ogg' - ], + ], + transl_doc_film: [ '', 'Любительcкий (одноголосый)', @@ -3121,12 +3347,14 @@ TPL.selects = { 'Субтитры', 'Не требуется', 'Отсутствует' - ], + ], + chapters_music_dvd: [ '» Главы (разбивка по трекам)', 'есть', 'нет' - ], + ], + video_quality_music_dvd: [ '» Качество', 'DVD5', @@ -3142,72 +3370,84 @@ TPL.selects = { 'VHSRip', 'CAMRip', 'Screener' - ], + ], + format_music_dvd: [ '» Формат', 'DVD video' - ], + ], + video_codec_music_dvd: [ '» Видео кодек', 'MPEG2' - ], + ], + audio_codec_music_dvd: [ '» Аудио кодек', 'AC3', 'PCM', 'DTS', 'MP2' - ], + ], + audio_codec_mus_loss: [ '» Аудио кодек', 'FLAC (*.flac) ', 'APE (*.ape)', 'WavPack (*.wv)' - ], + ], + audio_codec_mus_loss_abr: [ '', 'FLAC', 'APE', 'WavPack' - ], + ], + rip_type_mus_loss: [ '', 'image+.cue', 'tracks+.cue', 'tracks', 'iso.wv' - ], + ], + scan_mus_loss_apple: [ '', 'есть', 'нет', 'Digital Booklet' - ], + ], + source_mus_loss: [ '', 'собственный рип', 'скачано с', 'релизер', 'Другое' - ], + ], + genre_soundtrack_mus: [ '', 'Score', 'Soundtrack' - ], + ], + audio_codec_digit_mus: [ '', 'APE', 'FLAC', 'WavPack ', 'Другое' - ], + ], + source_digit_mus: [ '', 'автором раздачи ', 'третьим лицом', 'Другое' - ], + ], + vinyl_digit_mus: [ '', 'Mint', @@ -3218,17 +3458,20 @@ TPL.selects = { 'G', 'F', 'P' - ], + ], + perfotmer_mus_lossy: [ '', 'Исполнитель (группа)', 'сборник композиций разных исполнителей' - ], + ], + perfotmer_mus_lossy_abr: [ '', '', 'VA' - ], + ], + audio_codec_mus_lossy: [ '', 'MP3', @@ -3238,13 +3481,15 @@ TPL.selects = { 'MP+', 'M4A', 'AAC' - ], + ], + rip_type_mus_lossy: [ '» Тип рипа', 'tracks', 'image+.cue', 'image' - ], + ], + bitrate_mus_lossy: [ '» Битрейт аудио', '64 kbps', @@ -3260,23 +3505,27 @@ TPL.selects = { 'V4', '128-320 kbps', '192-320 kbps' - ], + ], + source_mus_lossy: [ '', 'CD', 'WEB', 'Vinyl' - ], + ], + scan_mus_loss: [ '', 'да', 'нет' - ], + ], + tag_mus_lossy: [ '', 'да', 'нет' - ], + ], + //программы - тестовые диски rip_type_test: [ '» Тип рипа', @@ -3287,7 +3536,8 @@ TPL.selects = { 'DVD', 'BluRay-Rip', 'BluRay' - ], + ], + audio_codec_test: [ '» Аудио кодек', 'WAV', @@ -3304,7 +3554,8 @@ TPL.selects = { 'AC3', 'M4A', 'M4B' - ], + ], + video_codec_test: [ '» Видео кодек', 'DivX', @@ -3318,7 +3569,8 @@ TPL.selects = { 'H.264', 'Flash', 'Другой' - ], + ], + arch_linux: [ '', 'x86', @@ -3326,20 +3578,23 @@ TPL.selects = { 'x86, amd64', 'Другая' ], + lang_game_dvd_pleer: [ '', 'английский', 'японский', 'русский', 'multi' - ], + ], + lang_game_dvd_pleer_abr: [ '', 'ENG', 'JAP', 'RUS', 'multi' - ], + ], + audio_codec_film: [ '» Выберите кодек аудио', 'MP3', @@ -3348,7 +3603,8 @@ TPL.selects = { 'AAC', 'FLAC', 'OGG' - ], + ], + video_quality_serials: [ '» Качество', 'DVDRip', @@ -3370,11 +3626,13 @@ TPL.selects = { 'BDRemux', 'Blu-Ray', 'Другое' - ], + ], + loss_bit: [ '', 'lossless' - ], + ], + type_homebrewe: [ '', 'Прошивка', @@ -3390,7 +3648,8 @@ TPL.selects = { 'Сохранение игры', 'Обои', 'Прочее' - ], + ], + type_homebrewe_abr: [ '', '[CFW4PSP]', @@ -3406,7 +3665,8 @@ TPL.selects = { '[SAVE4PSP]', '[WLPR4PSP]', '[MIST4PSP]' - ], + ], + console_type: [ '', 'Nintendo/Dendy', @@ -3426,7 +3686,8 @@ TPL.selects = { 'PC Engine', 'Neo-Geo', 'Другая' - ], + ], + console_type_abr: [ '', '[NES]', @@ -3446,7 +3707,8 @@ TPL.selects = { '[PCE]', '[Neo-Geo]', '' - ], + ], + anime_type: [ '', 'TV', @@ -3454,7 +3716,8 @@ TPL.selects = { 'OVA', 'ONA', 'Special' - ], + ], + sub_all_anime: [ '» Язык', 'русский', @@ -3463,7 +3726,8 @@ TPL.selects = { 'французский', 'китайский', 'Другой' - ], + ], + sub_all_anime_abr: [ '', 'SUB', @@ -3472,7 +3736,8 @@ TPL.selects = { '', '', '' - ], + ], + sub_all_anime_2: [ '» Язык', 'русский', @@ -3481,7 +3746,8 @@ TPL.selects = { 'французский', 'китайский', 'Другой' - ], + ], + sub_all_anime_2_abr: [ '', 'SUB', @@ -3490,7 +3756,8 @@ TPL.selects = { '', '', '' - ], + ], + sub_all_anime_3: [ '» Язык', 'русский', @@ -3499,7 +3766,8 @@ TPL.selects = { 'французский', 'китайский', 'Другой' - ], + ], + sub_all_anime_3_abr: [ '', 'SUB', @@ -3508,7 +3776,8 @@ TPL.selects = { '', '', '' - ], + ], + transl_lat_setial: [ '» Перевод 1', 'полное дублирование', @@ -3521,7 +3790,8 @@ TPL.selects = { 'не требуется', 'отсутствует', 'Другой' - ], + ], + transl_lat_setial_1: [ '» Перевод 2', 'полное дублирование', @@ -3533,7 +3803,8 @@ TPL.selects = { 'авторский одноголосый закадровый (автор)', 'не требуется', 'Другой' - ], + ], + transl_lat_setial_2: [ '» Перевод 3', 'полное дублирование', @@ -3545,7 +3816,8 @@ TPL.selects = { 'авторский одноголосый закадровый (автор)', 'не требуется', 'Другой' - ], + ], + format_lat_serial: [ '» Формат', 'AVI', @@ -3559,42 +3831,48 @@ TPL.selects = { 'BDMV', 'BDAV', 'Другой' - ], + ], + game_lang_nds: [ '» Язык', 'JAP', 'ENG', 'RUS', 'Multi5' - ], + ], + lang_comp_vlesson: [ '', 'Русский', 'Английский', 'Немецкий', 'Другой' - ], + ], + lang_comp_vlesson_abr: [ '', 'RUS', 'ENG', 'DEU', '' - ], + ], + type_comp_vlesson: [ '', 'Видеоурок', 'Мультимедийный диск', 'Интерактивный диск', 'Видеоклипы' - ], + ], + type_comp_vlesson_abr: [ '', '', 'ММ', '', '' - ], + ], + lang_notes: [ '', 'Русский', @@ -3604,7 +3882,8 @@ TPL.selects = { 'Китайский', 'Украинский', 'Другой' - ], + ], + lang_notes_abr: [ '', 'RUS', @@ -3614,12 +3893,14 @@ TPL.selects = { 'CHN', 'UKR', '' - ], + ], + licence_old_game: [ '', 'да', 'нет' - ], + ], + lang_video_les: [ '', 'Русский', @@ -3628,7 +3909,8 @@ TPL.selects = { 'Немецкий', 'Украинский', 'Другой' - ], + ], + lang_video_les_abr: [ '', 'RUS', @@ -3637,19 +3919,22 @@ TPL.selects = { 'DEU', 'UKR', '' - ], + ], + type_vlesson: [ '', 'Видеоурок', 'Мультимедийный диск', 'Другой' - ], + ], + type_vlesson_abr: [ '', 'Видеоурок', 'ММ', '' - ], + ], + type_game: [ '', 'Patch', @@ -3663,7 +3948,8 @@ TPL.selects = { 'Save', 'Trainer', 'Other' - ], + ], + lang_other_game: [ '', 'русский', @@ -3672,14 +3958,16 @@ TPL.selects = { 'немецкий', 'не важно', 'Другой' - ], + ], + format_smart: [ '', 'AVI', 'MP4', 'MKV', 'wmv' - ], + ], + def_smart: [ '', '320x', @@ -3688,7 +3976,8 @@ TPL.selects = { '480x', '640x', '800x' - ], + ], + video_quality_smart: [ '', 'DVDRip', @@ -3703,7 +3992,8 @@ TPL.selects = { 'CamRip', 'TS', 'DVDScr' - ], + ], + video_codec_smart: [ '', 'DivX', @@ -3713,12 +4003,14 @@ TPL.selects = { 'H.264', 'Flash', 'QuickTime' - ], + ], + audio_codec_smart: [ '', 'MP3', 'AAC' - ], + ], + prefix_kpk: [ '', 'VIDEO', @@ -3728,30 +4020,35 @@ TPL.selects = { 'MC', 'DOC', 'SPORT' - ], + ], + format_mob: [ '', '3GP' - ], + ], + def_mob: [ '', '176x', '320x' - ], + ], + publishing_type_mob: [ '', 'Пиратка', 'Лицензия', 'Demo', 'Trial' - ], + ], + publishing_type_mob_abr: [ '', 'P', 'L', 'Demo', 'Trial' - ], + ], + platform_symb: [ '', 'Symbian 6-8', @@ -3765,19 +4062,21 @@ TPL.selects = { 'Symbian UIQ 2', 'Symbian UIQ 3', 'N-Gage2' - ], + ], + launch_xbox: [ '» Возможность запуска на xbox 360', 'Да', 'Нет', 'Не знаю, проверьте, пожалуйста, сами и напишите о результате в теме' - ], + ], + launch_pc: [ '» Возможность запуска на PC', 'Нет, запуск на PC невозможен.', 'Ищите порт этой игры в разделе *Игры для PC*' + ], - ], video_codec_3d: [ '» Видео кодек', 'Divx', @@ -3786,7 +4085,8 @@ TPL.selects = { 'x264', 'h.264', 'MVC' - ], + ], + audio_codec_3d: [ '» Аудио кодек', 'MP3', @@ -3797,7 +4097,8 @@ TPL.selects = { 'DTS', 'DTS-HD', 'TRUE-HD' - ], + ], + video_quality_3d_1: [ '» Качество', 'DVD5', @@ -3815,7 +4116,8 @@ TPL.selects = { 'TVrip', 'VHSrip', 'CAMrip' - ], + ], + video_quality_3d_2: [ '» Качество', '720p', @@ -3823,7 +4125,8 @@ TPL.selects = { '1080i', '(Custom)', '(Сжатый)' - ], + ], + container_3d: [ '» Контейнер', 'DVD-Video', @@ -3834,7 +4137,8 @@ TPL.selects = { 'M2TS', 'BDMV', 'ISO' - ], + ], + format_3d: [ '» Формат 3D', 'Blu-ray 3D', @@ -3847,7 +4151,8 @@ TPL.selects = { 'SideBySide / Горизонтальная стереопара', 'Half SideBySide / Горизонтальная анаморфная стереопара', 'SeparateFiles / Раздельная стереопара' - ], + ], + format_3d_abr: [ '', 'BD3D', @@ -3860,17 +4165,20 @@ TPL.selects = { 'SideBySide / Горизонтальная стереопара', 'Half SideBySide / Горизонтальная анаморфная стереопара', 'SeparateFiles / Раздельная стереопара' - ], + ], + angle_3d: [ '» Порядок ракурсов', 'левый ракурс первый', 'правый ракурс первый' - ], + ], + update_game: [ '', 'Да', 'Нет' - ], + ], + audio_codec_anime_loss: [ '» Аудио кодек', 'FLAC (*.flac) ', @@ -3878,7 +4186,8 @@ TPL.selects = { 'WavPack (*.wv)', 'TAK (*.tak)', 'TTA (*.tta)' - ], + ], + audio_codec_anime_loss_abr: [ '', 'FLAC', @@ -3886,7 +4195,8 @@ TPL.selects = { 'WavPack', 'TAK', 'TTA' - ], + ], + lang_anime_transl: [ '» Язык', 'Русский', @@ -3898,7 +4208,8 @@ TPL.selects = { 'Итальянский', 'Немецкий', 'Другой' - ], + ], + lang_anime_transl_abr: [ '', 'RUS', @@ -3910,7 +4221,8 @@ TPL.selects = { 'ITA', 'GER', '' - ], + ], + lang_anime_transl_2: [ '» Язык', 'Русский', @@ -3922,7 +4234,8 @@ TPL.selects = { 'Итальянский', 'Немецкий', 'Другой' - ], + ], + lang_anime_transl_2_abr: [ '', 'RUS', @@ -3934,7 +4247,8 @@ TPL.selects = { 'ITA', 'GER', '' - ], + ], + lang_anime_transl_3: [ '» Язык', 'Русский', @@ -3946,7 +4260,8 @@ TPL.selects = { 'Итальянский', 'Немецкий', 'Другой' - ], + ], + lang_anime_transl_3_abr: [ '', 'RUS', @@ -3958,7 +4273,8 @@ TPL.selects = { 'ITA', 'GER', '' - ], + ], + country_anime: [ '', 'Япония', @@ -3966,7 +4282,8 @@ TPL.selects = { 'Корея', 'Китай', 'Другая' - ], + ], + // dummy dummy: [''] }; diff --git a/tracker.php b/tracker.php index 0a45d2f38..37ddd8fa3 100644 --- a/tracker.php +++ b/tracker.php @@ -414,7 +414,7 @@ if (!$set_default) { } } elseif ($search_id && $previous_settings[$poster_id_key]) { $poster_id_val = (int)$previous_settings[$poster_id_key]; - $poster_name_val = ($previous_settings[$poster_name_key]) ?: ''; + $poster_name_val = $previous_settings[$poster_name_key] ?: ''; } if ($req_poster_id) { @@ -432,7 +432,7 @@ if (!$set_default) { hash_search($_REQUEST[$hash_key]); } - if ($tm =& $_REQUEST[$title_match_key] and is_string($tm)) { + if (($tm =& $_REQUEST[$title_match_key]) && is_string($tm)) { if ($tmp = mb_substr(trim($tm), 0, $title_match_max_len)) { $title_match_val = $tmp; $title_match_sql = clean_text_match($title_match_val, true, false); @@ -755,10 +755,10 @@ if ($allowed_forums) { 'TOR_SIZE' => humn_size($size), 'UL_SPEED' => $ul_sp, 'DL_SPEED' => $dl_sp, - 'SEEDS' => ($seeds) ?: 0, + 'SEEDS' => $seeds ?: 0, 'SEEDS_TITLE' => ($seeds) ? $lang['SEEDERS'] : ($lang['SEED_NOT_SEEN'] . ":\n " . (($s_last) ? bb_date($s_last, $date_format) : $lang['NEVER'])), - 'LEECHS' => ($leechs) ?: 0, - 'COMPLETED' => ($compl) ?: 0, + 'LEECHS' => $leechs ?: 0, + 'COMPLETED' => $compl ?: 0, 'REPLIES' => $tor['topic_replies'], 'VIEWS' => $tor['topic_views'], 'ADDED_RAW' => $tor['reg_time'], diff --git a/viewforum.php b/viewforum.php index b58060987..2ba55fa18 100644 --- a/viewforum.php +++ b/viewforum.php @@ -98,7 +98,7 @@ $mod_redirect_url = ''; $tor_status = -1; // all by default if ($is_auth['auth_mod']) { - $redirect = isset($_POST['redirect']) ? $_POST['redirect'] : @$_SERVER['REQUEST_URI']; + $redirect = isset($_POST['redirect']) ? $_POST['redirect'] : $_SERVER['REQUEST_URI']; $redirect = url_arg($redirect, 'mod', 1, '&'); $mod_redirect_url = LOGIN_URL . "?redirect=$redirect&admin=1"; @@ -129,12 +129,11 @@ if ($mark_read && !IS_GUEST) { set_tracks(COOKIE_FORUM, $tracking_forums, $forum_id); set_die_append_msg($forum_id); - $message = $lang['TOPICS_MARKED_READ']; - bb_die($message); + bb_die($lang['TOPICS_MARKED_READ']); } // Subforums -$show_subforums = ($bb_cfg['sf_on_first_page_only']) ? !$start : true; +$show_subforums = $bb_cfg['sf_on_first_page_only'] ? !$start : true; if (!$forums = $datastore->get('cat_forums')) { $datastore->update('cat_forums'); diff --git a/viewtopic.php b/viewtopic.php index d95c5369f..50d185711 100644 --- a/viewtopic.php +++ b/viewtopic.php @@ -144,6 +144,8 @@ if ($topic_attachment) { )); } +set_die_append_msg($forum_id); + // Find newest post if (($next_topic_id || @$_GET['view'] === 'newest') && !IS_GUEST && $topic_id) { $post_time = 'post_time >= ' . get_last_read($topic_id, $forum_id); @@ -239,9 +241,7 @@ if ($post_id && !empty($t_data['prev_posts'])) { $start = floor(($t_data['prev_posts'] - 1) / $posts_per_page) * $posts_per_page; } -// // Is user watching this thread? -// $can_watch_topic = $is_watching_topic = false; if ($bb_cfg['topic_notify_enabled']) { @@ -382,23 +382,16 @@ if (!$ranks = $datastore->get('ranks')) { $ranks = $datastore->get('ranks'); } -// // Define censored word matches -// $orig_word = $replacement_word = array(); obtain_word_list($orig_word, $replacement_word); -// // Censor topic title -// if (count($orig_word)) { $topic_title = preg_replace($orig_word, $replacement_word, $topic_title); } -// -// Post, reply and other URL generation for -// templating vars -// +// Post, reply and other URL generation for templating vars $new_topic_url = POSTING_URL . "?mode=newtopic&f=" . $forum_id; $reply_topic_url = POSTING_URL . "?mode=reply&t=" . $topic_id; $view_forum_url = FORUM_URL . $forum_id; @@ -422,8 +415,8 @@ $s_auth_can .= (($is_auth['auth_vote']) ? $lang['RULES_VOTE_CAN'] : $lang['RULES $s_auth_can .= (($is_auth['auth_attachments']) ? $lang['RULES_ATTACH_CAN'] : $lang['RULES_ATTACH_CANNOT']) . '
'; $s_auth_can .= (($is_auth['auth_download']) ? $lang['RULES_DOWNLOAD_CAN'] : $lang['RULES_DOWNLOAD_CANNOT']) . '
'; +// Moderator output $topic_mod = ''; - if ($is_auth['auth_mod']) { $s_auth_can .= $lang['RULES_MODERATE']; $topic_mod .= "' . $lang['DELETE_TOPIC'] . ' '; @@ -442,9 +435,7 @@ if ($is_auth['auth_mod']) { $topic_mod .= "' . $lang['MOVE_TOPIC'] . ' '; } -// // Topic watch information -// $s_watching_topic = $s_watching_topic_img = ''; if ($can_watch_topic) { if ($is_watching_topic) { @@ -466,9 +457,7 @@ $pg_url .= ($posts_per_page != $bb_cfg['posts_per_page']) ? "&ppp=$posts_per generate_pagination($pg_url, $total_replies, $posts_per_page, $start); -// // Selects -// $sel_previous_days = array( 0 => $lang['ALL_POSTS'], 1 => $lang['1_DAY'], @@ -717,6 +706,8 @@ for ($i = 0; $i < $total_posts; $i++) { $mc_select_type[$key] = $value['type']; } + $is_first_post = ($post_id == $t_data['topic_first_post_id']); + $template->assign_block_vars('postrow', array( 'ROW_CLASS' => !($i % 2) ? 'row1' : 'row2', 'POST_ID' => $post_id, @@ -736,7 +727,7 @@ for ($i = 0; $i < $total_posts; $i++) { 'POSTER_GENDER' => ($bb_cfg['gender']) ? gender_image($postrow[$i]['user_gender']) : '', 'POSTED_AFTER' => ($prev_post_time) ? delta_time($postrow[$i]['post_time'], $prev_post_time) : '', 'IS_UNREAD' => is_unread($postrow[$i]['post_time'], $topic_id, $forum_id), - 'IS_FIRST_POST' => (!$start && ($post_id == $t_data['topic_first_post_id'])), + 'IS_FIRST_POST' => (!$start && $is_first_post), 'MOD_CHECKBOX' => ($moderation && ($start || defined('SPLIT_FORM_START'))), 'POSTER_AVATAR' => $poster_avatar, 'POST_NUMBER' => ($i + $start + 1), @@ -824,7 +815,7 @@ $template->assign_vars(array( if (IS_ADMIN) { $template->assign_vars(array( - 'U_LOGS' => "admin/admin_log.php?sid={$userdata['session_id']}&t=$topic_id&db=900", + 'U_LOGS' => "admin/admin_log.php?t=$topic_id&db=365", )); }