1
0
mirror of https://github.com/torrentpier/torrentpier.git synced 2025-03-12 04:35:42 -07:00

TorrentPier Aurochs release preparation.

This commit is contained in:
Yuriy Pikhtarev 2017-06-12 15:15:04 +03:00
parent e9a76e6a5c
commit 3e8b494572
No known key found for this signature in database
GPG Key ID: 3A9B5A757B48ECC6
21 changed files with 709 additions and 502 deletions

@ -7,4 +7,4 @@ finder:
- "*Stub.php"
path:
- "src"
- "tests"
- "tests"

@ -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) {

@ -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

@ -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']) ? '<a class="txtb" href="' . (PM_URL . "?mode=post&amp;" . POST_USERS_URL . "=" . $row['user_id']) . '">' . $lang['SEND_PM_TXTB'] . '</a>' : '<a href="' . (PM_URL . "?mode=post&amp;" . POST_USERS_URL . "=" . $row['user_id']) . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['SEND_PRIVATE_MESSAGE'] . '" title="' . $lang['SEND_PRIVATE_MESSAGE'] . '" border="0" /></a>';
$posts = $row['user_posts'] ?: 0;
$pm = $bb_cfg['text_buttons'] ? '<a class="txtb" href="' . (PM_URL . "?mode=post&amp;" . POST_USERS_URL . "=" . $row['user_id']) . '">' . $lang['SEND_PM_TXTB'] . '</a>' : '<a href="' . (PM_URL . "?mode=post&amp;" . POST_USERS_URL . "=" . $row['user_id']) . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['SEND_PRIVATE_MESSAGE'] . '" title="' . $lang['SEND_PRIVATE_MESSAGE'] . '" border="0" /></a>';
$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']) ? '<a class="txtb" href="' . $row['user_website'] . '" target="_userwww">' . $lang['VISIT_WEBSITE_TXTB'] . '</a>' : '<a class="txtb" href="' . $row['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['VISIT_WEBSITE'] . '" title="' . $lang['VISIT_WEBSITE'] . '" border="0" /></a>';
$www = $bb_cfg['text_buttons'] ? '<a class="txtb" href="' . $row['user_website'] . '" target="_userwww">' . $lang['VISIT_WEBSITE_TXTB'] . '</a>' : '<a class="txtb" href="' . $row['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['VISIT_WEBSITE'] . '" title="' . $lang['VISIT_WEBSITE'] . '" border="0" /></a>';
} else {
$www = '';
}

@ -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']) {

@ -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) {

@ -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');
-- ----------------------------

@ -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
-- ----------------------------
-- ----------------------------

@ -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'];
}

@ -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

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

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

@ -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']) ? '<a class="txtb" href="' . (PM_URL . "?mode=post&amp;" . POST_USERS_URL . "=$user_id") . '">' . $lang['SEND_PM_TXTB'] . '</a>' : '<a href="' . (PM_URL . "?mode=post&amp;" . POST_USERS_URL . "=$user_id") . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['SEND_PRIVATE_MESSAGE'] . '" title="' . $lang['SEND_PRIVATE_MESSAGE'] . '" border="0" /></a>';
$pm = $bb_cfg['text_buttons'] ? '<a class="txtb" href="' . (PM_URL . "?mode=post&amp;" . POST_USERS_URL . "=$user_id") . '">' . $lang['SEND_PM_TXTB'] . '</a>' : '<a href="' . (PM_URL . "?mode=post&amp;" . POST_USERS_URL . "=$user_id") . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['SEND_PRIVATE_MESSAGE'] . '" title="' . $lang['SEND_PRIVATE_MESSAGE'] . '" border="0" /></a>';
if (bf($row['user_opt'], 'user_opt', 'user_viewemail') || IS_ADMIN) {
$email_uri = ($bb_cfg['board_email_form']) ? ("profile.php?mode=email&amp;" . POST_USERS_URL . "=$user_id") : 'mailto:' . $row['user_email'];
$email_uri = $bb_cfg['board_email_form'] ? ("profile.php?mode=email&amp;" . POST_USERS_URL . "=$user_id") : 'mailto:' . $row['user_email'];
$email = '<a class="editable" href="' . $email_uri . '">' . $row['user_email'] . '</a>';
} else {
$email = '';
}
if ($row['user_website']) {
$www = ($bb_cfg['text_buttons']) ? '<a class="txtb" href="' . $row['user_website'] . '" target="_userwww">' . $lang['VISIT_WEBSITE_TXTB'] . '</a>' : '<a class="txtb" href="' . $row['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['VISIT_WEBSITE'] . '" title="' . $lang['VISIT_WEBSITE'] . '" border="0" /></a>';
$www = $bb_cfg['text_buttons'] ? '<a class="txtb" href="' . $row['user_website'] . '" target="_userwww">' . $lang['VISIT_WEBSITE_TXTB'] . '</a>' : '<a class="txtb" href="' . $row['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['VISIT_WEBSITE'] . '" title="' . $lang['VISIT_WEBSITE'] . '" border="0" /></a>';
} else {
$www = '';
}

@ -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']);
}

@ -4,6 +4,5 @@
<Description>TorrentPier (Forum)</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image height="16" width="16" type="image/x-icon">http://torrentpier.me/favicon.png</Image>
<Url type="text/html"
template="http://torrentpier.me/search.php?mode=results&amp;show_results=topics&amp;search_keywords={searchTerms}"/>
<Url type="text/html" template="http://torrentpier.me/search.php?mode=results&amp;show_results=topics&amp;search_keywords={searchTerms}"/>
</OpenSearchDescription>

@ -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,

@ -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 = '';
}

File diff suppressed because it is too large Load Diff

@ -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'],

@ -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');

@ -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&amp;f=" . $forum_id;
$reply_topic_url = POSTING_URL . "?mode=reply&amp;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']) . '<br />';
$s_auth_can .= (($is_auth['auth_download']) ? $lang['RULES_DOWNLOAD_CAN'] : $lang['RULES_DOWNLOAD_CANNOT']) . '<br />';
// Moderator output
$topic_mod = '';
if ($is_auth['auth_mod']) {
$s_auth_can .= $lang['RULES_MODERATE'];
$topic_mod .= "<a href=\"modcp.php?" . POST_TOPIC_URL . "=$topic_id&amp;mode=delete&amp;sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_delete'] . '" alt="' . $lang['DELETE_TOPIC'] . '" title="' . $lang['DELETE_TOPIC'] . '" border="0" /></a>&nbsp;';
@ -442,9 +435,7 @@ if ($is_auth['auth_mod']) {
$topic_mod .= "<a href=\"modcp.php?" . POST_TOPIC_URL . "=$topic_id&amp;mode=move&amp;sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_move'] . '" alt="' . $lang['MOVE_TOPIC'] . '" title="' . $lang['MOVE_TOPIC'] . '" border="0" /></a>&nbsp;';
}
//
// 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']) ? "&amp;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']}&amp;t=$topic_id&amp;db=900",
'U_LOGS' => "admin/admin_log.php?t=$topic_id&amp;db=365",
));
}