Merge branch 'develop' into theme_bootstrap

This commit is contained in:
PheRum 2014-11-12 23:44:39 +03:00
commit bdcdceca1a
25 changed files with 161 additions and 153 deletions

2
.gitignore vendored
View file

@ -31,4 +31,4 @@ $RECYCLE.BIN/
.LSOverride .LSOverride
._* ._*
.Spotlight-V100 .Spotlight-V100
.Trashes .Trashes

View file

@ -68,7 +68,7 @@ TorrentPier II - движок торрент-трекера, написанны
## Папка install ## Папка install
В корне движка присутствует папка **install**, в которой находятся служебные файлы, необходимые для его установки (дамп базы, примеры конфигов) и обновления (дамперы, скрипты конвертации). Доступ к данной папке по-умолчанию закрыт, но если ее присутствие вам мешает - вы можете ее удалить. На файлы README.md и CONTRIBUTORS.md это также распространяется. В корне движка присутствует папка **install**, в которой находятся служебные файлы, необходимые для его установки (дамп базы, примеры конфигов) и обновления (дамперы, скрипты конвертации). Доступ к данной папке по-умолчанию закрыт, но если ее присутствие вам мешает - вы можете ее удалить. На файлы **README.md** и **CONTRIBUTORS.md** это также распространяется.
## Полезные ссылки ## Полезные ссылки

View file

@ -19,10 +19,9 @@ header('X-Frame-Options: SAMEORIGIN');
// Get initial config // Get initial config
require(BB_ROOT . 'library/config.php'); require(BB_ROOT . 'library/config.php');
$server_protocol = ($bb_cfg['cookie_secure']) ? 'https://' : 'http://'; $server_protocol = '//';
$server_port = ($bb_cfg['server_port'] != 80) ? ':'. $bb_cfg['server_port'] : '';
define('FORUM_PATH', $bb_cfg['script_path']); define('FORUM_PATH', $bb_cfg['script_path']);
define('FULL_URL', $server_protocol . $bb_cfg['server_name'] . $server_port . $bb_cfg['script_path']); define('FULL_URL', $server_protocol . $bb_cfg['server_name'] . $bb_cfg['script_path']);
unset($server_protocol, $server_port); unset($server_protocol, $server_port);
// Debug options // Debug options
@ -2087,15 +2086,15 @@ function log_request ($file = '', $prepend_str = false, $add_post = true)
if (!empty($user->data)) $str[] = $user->id ."\t". html_entity_decode($user->name); if (!empty($user->data)) $str[] = $user->id ."\t". html_entity_decode($user->name);
$str[] = sprintf('%-15s', $_SERVER['REMOTE_ADDR']); $str[] = sprintf('%-15s', $_SERVER['REMOTE_ADDR']);
if (isset($_SERVER['REQUEST_URI'])) { if (isset($_SERVER['REQUEST_URI'])) {
$str[] = $_SERVER['REQUEST_URI']; $str[] = $_SERVER['REQUEST_URI'];
} }
if (isset($_SERVER['HTTP_USER_AGENT'])) { if (isset($_SERVER['HTTP_USER_AGENT'])) {
$str[] = $_SERVER['HTTP_USER_AGENT']; $str[] = $_SERVER['HTTP_USER_AGENT'];
} }
if (isset($_SERVER['HTTP_REFERER'])) { if (isset($_SERVER['HTTP_REFERER'])) {
$str[] = $_SERVER['HTTP_REFERER']; $str[] = $_SERVER['HTTP_REFERER'];
} }
if (!empty($_POST) && $add_post) $str[] = "post: ". str_compact(urldecode(http_build_query($_POST))); if (!empty($_POST) && $add_post) $str[] = "post: ". str_compact(urldecode(http_build_query($_POST)));
$str = join("\t", $str) . "\n"; $str = join("\t", $str) . "\n";

2
dl.php
View file

@ -207,7 +207,7 @@ else
{ {
global $template; global $template;
$redirect_url = isset($_POST['redirect_url']) ? $_POST['redirect_url'] : (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '/' ); $redirect_url = isset($_POST['redirect_url']) ? $_POST['redirect_url'] : (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '/');
$message = '<form action="'. DOWNLOAD_URL . $attachment['attach_id'] .'" method="post">'; $message = '<form action="'. DOWNLOAD_URL . $attachment['attach_id'] .'" method="post">';
$message .= $lang['CONFIRM_CODE']; $message .= $lang['CONFIRM_CODE'];
$message .= '<div class="mrg_10">'. CAPTCHA()->get_html() .'</div>'; $message .= '<div class="mrg_10">'. CAPTCHA()->get_html() .'</div>';

View file

@ -88,10 +88,9 @@ if ($is_moderator)
'S_HIDDEN_FIELDS' => $s_hidden_fields, 'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_GROUP_CONFIG_ACTION' => "group_edit.php?" . POST_GROUPS_URL . "=$group_id", 'S_GROUP_CONFIG_ACTION' => "group_edit.php?" . POST_GROUPS_URL . "=$group_id",
'AVATAR_EXPLAIN' => sprintf($lang['AVATAR_EXPLAIN'], $bb_cfg['group_avatars']['max_width'], $bb_cfg['group_avatars']['max_height'], (round($bb_cfg['group_avatars']['max_size'] / 1024))), 'AVATAR_EXPLAIN' => sprintf($lang['AVATAR_EXPLAIN'], $bb_cfg['group_avatars']['max_width'], $bb_cfg['group_avatars']['max_height'], (round($bb_cfg['group_avatars']['max_size'] / 1024))),
'AVATAR_URL_PATH' => ($group_info['avatar_ext_id']) ? get_avatar_path(GROUP_AVATAR_MASK . $group_id, $group_info['avatar_ext_id']) : '', 'AVATAR_IMG' => get_avatar(GROUP_AVATAR_MASK . $group_id, $group_info['avatar_ext_id']),
'RELEASE_GROUP' => ($group_info['release_group']) ? true : false,
'RELEASE_GROUP' => ($group_info['release_group']) ? true : false,
)); ));
$template->set_filenames(array('body' => 'group_edit.tpl')); $template->set_filenames(array('body' => 'group_edit.tpl'));

View file

@ -381,7 +381,7 @@ if ($bb_cfg['birthday_check_day'] && $bb_cfg['birthday_enabled'])
continue; continue;
} }
$week_list[] = profile_url($week) .' <span class="small">('. birthday_age($week['user_birthday']) .')</span>'; $week_list[] = profile_url($week) .' <span class="small">('. birthday_age($week['user_birthday']-1) .')</span>';
} }
$week_all = ($week_all) ? '&nbsp;<a class="txtb" href="#" onclick="ajax.exec({action: \'index_data\', mode: \'birthday_week\'}); return false;" title="'. $lang['ALL'] .'">...</a>' : ''; $week_all = ($week_all) ? '&nbsp;<a class="txtb" href="#" onclick="ajax.exec({action: \'index_data\', mode: \'birthday_week\'}); return false;" title="'. $lang['ALL'] .'">...</a>' : '';
$week_list = sprintf($lang['BIRTHDAY_WEEK'], $bb_cfg['birthday_check_day'], join(', ', $week_list)) . $week_all; $week_list = sprintf($lang['BIRTHDAY_WEEK'], $bb_cfg['birthday_check_day'], join(', ', $week_list)) . $week_all;

View file

@ -465,7 +465,7 @@ INSERT INTO `bb_config` VALUES ('allow_namechange', '0');
INSERT INTO `bb_config` VALUES ('allow_sig', '1'); INSERT INTO `bb_config` VALUES ('allow_sig', '1');
INSERT INTO `bb_config` VALUES ('allow_smilies', '1'); INSERT INTO `bb_config` VALUES ('allow_smilies', '1');
INSERT INTO `bb_config` VALUES ('board_disable', '0'); INSERT INTO `bb_config` VALUES ('board_disable', '0');
INSERT INTO `bb_config` VALUES ('board_startdate', ''); INSERT INTO `bb_config` VALUES ('board_startdate', UNIX_TIMESTAMP());
INSERT INTO `bb_config` VALUES ('board_timezone', '0'); INSERT INTO `bb_config` VALUES ('board_timezone', '0');
INSERT INTO `bb_config` VALUES ('bonus_upload', ''); INSERT INTO `bb_config` VALUES ('bonus_upload', '');
INSERT INTO `bb_config` VALUES ('bonus_upload_price', ''); INSERT INTO `bb_config` VALUES ('bonus_upload_price', '');
@ -475,7 +475,7 @@ INSERT INTO `bb_config` VALUES ('birthday_min_age', '10');
INSERT INTO `bb_config` VALUES ('birthday_check_day', '7'); INSERT INTO `bb_config` VALUES ('birthday_check_day', '7');
INSERT INTO `bb_config` VALUES ('bt_add_auth_key', '1'); INSERT INTO `bb_config` VALUES ('bt_add_auth_key', '1');
INSERT INTO `bb_config` VALUES ('bt_allow_spmode_change', '1'); INSERT INTO `bb_config` VALUES ('bt_allow_spmode_change', '1');
INSERT INTO `bb_config` VALUES ('bt_announce_url', 'http://demo.torrentpier.me/bt/announce.php'); INSERT INTO `bb_config` VALUES ('bt_announce_url', 'https://demo.torrentpier.me/bt/announce.php');
INSERT INTO `bb_config` VALUES ('bt_disable_dht', '0'); INSERT INTO `bb_config` VALUES ('bt_disable_dht', '0');
INSERT INTO `bb_config` VALUES ('bt_check_announce_url', '0'); INSERT INTO `bb_config` VALUES ('bt_check_announce_url', '0');
INSERT INTO `bb_config` VALUES ('bt_del_addit_ann_urls', '1'); INSERT INTO `bb_config` VALUES ('bt_del_addit_ann_urls', '1');
@ -510,8 +510,8 @@ INSERT INTO `bb_config` VALUES ('max_poll_options', '6');
INSERT INTO `bb_config` VALUES ('max_sig_chars', '255'); INSERT INTO `bb_config` VALUES ('max_sig_chars', '255');
INSERT INTO `bb_config` VALUES ('posts_per_page', '15'); INSERT INTO `bb_config` VALUES ('posts_per_page', '15');
INSERT INTO `bb_config` VALUES ('prune_enable', '1'); INSERT INTO `bb_config` VALUES ('prune_enable', '1');
INSERT INTO `bb_config` VALUES ('record_online_date', '1211477508'); INSERT INTO `bb_config` VALUES ('record_online_date', UNIX_TIMESTAMP());
INSERT INTO `bb_config` VALUES ('record_online_users', '2'); INSERT INTO `bb_config` VALUES ('record_online_users', '0');
INSERT INTO `bb_config` VALUES ('seed_bonus_enabled', '1'); INSERT INTO `bb_config` VALUES ('seed_bonus_enabled', '1');
INSERT INTO `bb_config` VALUES ('seed_bonus_release', ''); INSERT INTO `bb_config` VALUES ('seed_bonus_release', '');
INSERT INTO `bb_config` VALUES ('seed_bonus_points', ''); INSERT INTO `bb_config` VALUES ('seed_bonus_points', '');
@ -884,7 +884,7 @@ CREATE TABLE IF NOT EXISTS `bb_posts_text` (
-- ---------------------------- -- ----------------------------
-- Records of bb_posts_text -- Records of bb_posts_text
-- ---------------------------- -- ----------------------------
INSERT INTO `bb_posts_text` VALUES ('1', 'Благодарим вас за установку новой версии TorrentPier II!\n\nЧто делать дальше? Сперва настройте ваш сайт в администраторском разделе. Измените базовые опции: заголовок сайта, число сообщений на страницу, часовой пояс, язык по-умолчанию, настройки сидбонусов, дней рождения и т.д. Создайте несколько форумов, а также не забудьте переименовать или удалить этот. Обязательно настройте возможность создания релизов в созданных вами разделах и добавьте [url=http://torrentpier.me/threads/25867/]шаблоны оформления раздач[/url] для них. Если у вас возникнут вопросы или потребность в дополнительных модификациях, [url=http://torrentpier.me/]посетите наш форум[/url].\n\nТакже напоминаем, что у проекта TorrentPier II есть несколько сайтов, которые могут оказаться полезны для вас:\n[list]\n[*]Форум: http://torrentpier.me/\n[*]Демо-версия: http://demo.torrentpier.me/\n[*]Инструкция: http://faq.torrentpier.me/\n[*]Центр загрузки: http://get.torrentpier.me/\n[*]Перевод на другие языки: http://translate.torrentpier.me/\n[/list]\nНе забудьте добавить их себе в закладки и регулярно проверять наличие новых версий движка на нашем форуме, для своевременного обновления.\n\nНе сомневаемся, вам под силу создать самый лучший трекер. Удачи!'); INSERT INTO `bb_posts_text` VALUES ('1', 'Благодарим вас за установку новой версии TorrentPier II!\n\nЧто делать дальше? Сперва настройте ваш сайт в администраторском разделе. Измените базовые опции: заголовок сайта, число сообщений на страницу, часовой пояс, язык по-умолчанию, настройки сидбонусов, дней рождения и т.д. Создайте несколько форумов, а также не забудьте переименовать или удалить этот. Обязательно настройте возможность создания релизов в созданных вами разделах и добавьте [url=https://torrentpier.me/threads/25867/]шаблоны оформления раздач[/url] для них. Если у вас возникнут вопросы или потребность в дополнительных модификациях, [url=https://torrentpier.me/]посетите наш форум[/url].\n\nТакже напоминаем, что у проекта TorrentPier II есть несколько сайтов, которые могут оказаться полезны для вас:\n[list]\n[*]Форум: https://torrentpier.me/\n[*]Демо-версия: https://demo.torrentpier.me/\n[*]Инструкция: https://faq.torrentpier.me/\n[*]Центр загрузки: https://get.torrentpier.me/\n[*]Перевод на другие языки: http://translate.torrentpier.me/\n[/list]\nНе забудьте добавить их себе в закладки и регулярно проверять наличие новых версий движка на нашем форуме, для своевременного обновления.\n\nНе сомневаемся, вам под силу создать самый лучший трекер. Удачи!');
-- ---------------------------- -- ----------------------------
-- Table structure for `bb_privmsgs` -- Table structure for `bb_privmsgs`
@ -1212,9 +1212,9 @@ CREATE TABLE IF NOT EXISTS `bb_users` (
-- ---------------------------- -- ----------------------------
-- Records of bb_users -- Records of bb_users
-- ---------------------------- -- ----------------------------
INSERT INTO `bb_users` VALUES ('-1', '0', 'Guest', 'd41d8cd98f00b204e9800998ecf8427e', '0', '0', '0', UNIX_TIMESTAMP(), '0', '0', '0', '3.00', '', '0', '0', '0', '0', '0', '0', '0', '0000-00-00', '', '', '', '', '', '', '', '', '', '', '', '', '0', '0.00', 'default'); INSERT INTO `bb_users` VALUES ('-1', '0', 'Guest', 'd41d8cd98f00b204e9800998ecf8427e', '0', '0', '0', UNIX_TIMESTAMP(), '0', '0', '0', '', '', '0', '0', '0', '0', '0', '0', '0', '0000-00-00', '', '', '', '', '', '', '', '', '', '', '', '', '0', '0.00', 'default');
INSERT INTO `bb_users` VALUES ('2', '1', 'admin', 'c3284d0f94606de1fd2af172aba15bf3', '0', '0', '0', UNIX_TIMESTAMP(), '0', '1', '1', '3.00', '', '0', '0', '0', '304', '1', '0', '0', '0000-00-00', 'admin@torrentpier.me', '', '', '', '', '', '', '', '', '', '', '', '0', '0.00', 'default'); INSERT INTO `bb_users` VALUES ('-746', '0', 'bot', 'd41d8cd98f00b204e9800998ecf8427e', '0', '0', '0', UNIX_TIMESTAMP(), '0', '0', '0', '', '', '0', '0', '0', '144', '0', '0', '0', '0000-00-00', 'bot@torrentpier.me', '', '', '', '', '', '', '', '', '', '', '', '0', '0.00', 'default');
INSERT INTO `bb_users` VALUES ('-746', '0', 'bot', 'd41d8cd98f00b204e9800998ecf8427e', '0', '0', '0', UNIX_TIMESTAMP(), '0', '0', '0', '3.00', '', '0', '0', '0', '144', '0', '0', '0', '0000-00-00', 'bot@torrentpier.me', '', '', '', '', '', '', '', '', '', '', '', '0', '0.00', 'default'); INSERT INTO `bb_users` VALUES ('2', '1', 'admin', 'c3284d0f94606de1fd2af172aba15bf3', '0', '0', '0', UNIX_TIMESTAMP(), '0', '1', '1', '', '', '0', '0', '0', '304', '1', '0', '0', '0000-00-00', 'admin@torrentpier.me', '', '', '', '', '', '', '', '', '', '', '', '0', '0.00', 'default');
-- ---------------------------- -- ----------------------------
-- Table structure for `bb_user_group` -- Table structure for `bb_user_group`
@ -1274,4 +1274,4 @@ CREATE TABLE IF NOT EXISTS `buf_topic_view` (
-- ---------------------------- -- ----------------------------
-- Records of buf_topic_view -- Records of buf_topic_view
-- ---------------------------- -- ----------------------------

View file

@ -1,16 +1,9 @@
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; SET SQL_MODE = "";
--
-- Удаление старых таблиц
--
-- ----------------------------
-- Table structure for `bb_bt_tracker`
-- ----------------------------
DROP TABLE IF EXISTS `bb_bt_tracker`; DROP TABLE IF EXISTS `bb_bt_tracker`;
DROP TABLE IF EXISTS `bb_bt_tracker_snap`;
--
-- Структура таблицы `bb_bt_tracker`
--
CREATE TABLE IF NOT EXISTS `bb_bt_tracker` ( CREATE TABLE IF NOT EXISTS `bb_bt_tracker` (
`peer_hash` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `peer_hash` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`topic_id` mediumint(8) unsigned NOT NULL DEFAULT '0', `topic_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
@ -37,12 +30,14 @@ CREATE TABLE IF NOT EXISTS `bb_bt_tracker` (
KEY `user_id` (`user_id`) KEY `user_id` (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- -------------------------------------------------------- -- ----------------------------
-- Records of bb_bt_tracker
-- -- ----------------------------
-- Структура таблицы `bb_bt_tracker_snap`
--
-- ----------------------------
-- Table structure for `bb_bt_tracker_snap`
-- ----------------------------
DROP TABLE IF EXISTS `bb_bt_tracker_snap`;
CREATE TABLE IF NOT EXISTS `bb_bt_tracker_snap` ( CREATE TABLE IF NOT EXISTS `bb_bt_tracker_snap` (
`topic_id` mediumint(8) unsigned NOT NULL DEFAULT '0', `topic_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
`seeders` mediumint(8) unsigned NOT NULL DEFAULT '0', `seeders` mediumint(8) unsigned NOT NULL DEFAULT '0',
@ -51,4 +46,8 @@ CREATE TABLE IF NOT EXISTS `bb_bt_tracker_snap` (
`speed_down` int(10) unsigned NOT NULL DEFAULT '0', `speed_down` int(10) unsigned NOT NULL DEFAULT '0',
`complete` int(11) NOT NULL DEFAULT '0', `complete` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`topic_id`) PRIMARY KEY (`topic_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of bb_bt_tracker_snap
-- ----------------------------

View file

@ -73,8 +73,8 @@ $domain_name = 'torrentpier.me'; // enter here your primary domain name of your
$domain_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $domain_name; $domain_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $domain_name;
// Version info // Version info
$bb_cfg['tp_version'] = '2.1.3'; $bb_cfg['tp_version'] = '2.1.4';
$bb_cfg['tp_release_date'] = '24-10-2014'; $bb_cfg['tp_release_date'] = '**-11-2014';
$bb_cfg['tp_release_state'] = 'ALPHA'; $bb_cfg['tp_release_state'] = 'ALPHA';
// Database // Database
@ -456,17 +456,17 @@ $bb_cfg['sf_on_first_page_only'] = true;
$bb_cfg['allowed_topics_per_page'] = array(50, 100, 150, 200, 250, 300); $bb_cfg['allowed_topics_per_page'] = array(50, 100, 150, 200, 250, 300);
// Topics // Topics
$bb_cfg['show_quick_reply'] = true; $bb_cfg['show_quick_reply'] = true;
$bb_cfg['show_rank_text'] = false; $bb_cfg['show_rank_text'] = false;
$bb_cfg['show_rank_image'] = true; $bb_cfg['show_rank_image'] = true;
$bb_cfg['show_poster_joined'] = true; $bb_cfg['show_poster_joined'] = true;
$bb_cfg['show_poster_posts'] = true; $bb_cfg['show_poster_posts'] = true;
$bb_cfg['show_poster_from'] = true; $bb_cfg['show_poster_from'] = true;
$bb_cfg['show_bot_nick'] = false; $bb_cfg['show_bot_nick'] = false;
$bb_cfg['text_buttons'] = false; // replace EDIT, QUOTE... images with text links $bb_cfg['text_buttons'] = false; // replace EDIT, QUOTE... images with text links
$bb_cfg['parse_ed2k_links'] = true; // make ed2k links clickable $bb_cfg['parse_ed2k_links'] = true; // make ed2k links clickable
$bb_cfg['post_date_format'] = 'd-M-Y H:i'; $bb_cfg['post_date_format'] = 'd-M-Y H:i';
$bb_cfg['ext_link_new_win'] = true; // open external links in new window $bb_cfg['ext_link_new_win'] = true; // open external links in new window
$bb_cfg['topic_moved_days_keep'] = 7; // remove topic moved links after xx days (or FALSE to disable) $bb_cfg['topic_moved_days_keep'] = 7; // remove topic moved links after xx days (or FALSE to disable)
@ -538,50 +538,6 @@ $bb_cfg['ad_blocks'] = array(
), ),
); );
// Attachments
$bb_cfg['attach'] = array(
'upload_path' => DATA_DIR . 'torrent_files', // without '/'
'max_size' => 250*1024, // bytes
);
$bb_cfg['file_id_ext'] = array(
1 => 'gif',
2 => 'gz',
3 => 'jpg',
4 => 'png',
5 => 'rar',
6 => 'tar',
7 => 'tiff',
8 => 'torrent',
9 => 'zip',
);
$bb_cfg['tor_forums_allowed_ext'] = array('torrent', 'zip', 'rar'); // для разделов с раздачами
$bb_cfg['gen_forums_allowed_ext'] = array('zip', 'rar'); // для обычных разделов
// Avatars
$bb_cfg['avatars'] = array(
'allowed_ext' => array('gif','jpg','jpeg','png'), // разрешенные форматы файлов
'bot_avatar' => 'gallery/bot.gif', // аватара бота
'max_size' => 100*1024, // размер аватары в байтах
'max_height' => 100, // высота аватара в px
'max_width' => 100, // ширина аватара в px
'no_avatar' => 'gallery/noavatar.png', // дефолтная аватара
'upload_path' => BB_ROOT . 'data/avatars/', // путь к директории с аватарами
'up_allowed' => true, // разрешить загрузку аватар
);
// Group avatars
$bb_cfg['group_avatars'] = array(
'allowed_ext' => array('gif','jpg','jpeg','png'), // разрешенные форматы файлов
'max_size' => 300*1024, // размер аватары в байтах
'max_height' => 300, // высота аватара в px
'max_width' => 300, // ширина аватара в px
'no_avatar' => 'gallery/noavatar.png', // дефолтная аватара
'upload_path' => BB_ROOT . 'data/avatars/', // путь к директории с аватарами
'up_allowed' => true, // разрешить загрузку аватар
);
// Misc // Misc
define('MEM_USAGE', function_exists('memory_get_usage')); define('MEM_USAGE', function_exists('memory_get_usage'));
@ -618,24 +574,68 @@ $bb_cfg['user_agreement_url'] = 'info.php?show=user_agreement';
$bb_cfg['copyright_holders_url'] = 'info.php?show=copyright_holders'; $bb_cfg['copyright_holders_url'] = 'info.php?show=copyright_holders';
$bb_cfg['advert_url'] = 'info.php?show=advert'; $bb_cfg['advert_url'] = 'info.php?show=advert';
$bb_cfg['file_id_ext'] = array(
1 => 'gif',
2 => 'gz',
3 => 'jpg',
4 => 'png',
5 => 'rar',
6 => 'tar',
7 => 'tiff',
8 => 'torrent',
9 => 'zip',
);
$bb_cfg['tor_forums_allowed_ext'] = array('torrent', 'zip', 'rar'); // для разделов с раздачами
$bb_cfg['gen_forums_allowed_ext'] = array('zip', 'rar'); // для обычных разделов
// Attachments
$bb_cfg['attach'] = array(
'upload_path' => DATA_DIR . 'torrent_files', // путь к директории с torrent файлами
'max_size' => 250*1024, // размер аватары в байтах
);
// Avatars
$bb_cfg['avatars'] = array(
'allowed_ext' => array('gif','jpg','jpeg','png'), // разрешенные форматы файлов
'bot_avatar' => 'gallery/bot.gif', // аватара бота
'max_size' => 100*1024, // размер аватары в байтах
'max_height' => 100, // высота аватара в px
'max_width' => 100, // ширина аватара в px
'no_avatar' => 'gallery/noavatar.png', // дефолтная аватара
'upload_path' => BB_ROOT . 'data/avatars/', // путь к директории с аватарами
'up_allowed' => true, // разрешить загрузку аватар
);
// Group avatars
$bb_cfg['group_avatars'] = array(
'allowed_ext' => array('gif','jpg','jpeg','png'), // разрешенные форматы файлов
'max_size' => 300*1024, // размер аватары в байтах
'max_height' => 300, // высота аватара в px
'max_width' => 300, // ширина аватара в px
'no_avatar' => 'gallery/noavatar.png', // дефолтная аватара
'upload_path' => BB_ROOT . 'data/avatars/', // путь к директории с аватарами
'up_allowed' => true, // разрешить загрузку аватар
);
// Captcha // Captcha
$bb_cfg['captcha'] = array( $bb_cfg['captcha'] = array(
'disabled' => false, 'disabled' => false,
'secret_key' => 'secret_key', 'secret_key' => 'secret_key',
'img_path' => INT_DATA_DIR .'captcha/', # with '/' 'img_path' => INT_DATA_DIR .'captcha/', // with '/'
'img_url' => './internal_data/captcha/', # with '/' 'img_url' => './internal_data/captcha/', // with '/'
); );
// Atom feed // Atom feed
$bb_cfg['atom'] = array( $bb_cfg['atom'] = array(
'path' => INT_DATA_DIR .'atom', # without '/' 'path' => INT_DATA_DIR .'atom', // without '/'
'url' => './internal_data/atom', # without '/' 'url' => './internal_data/atom', // without '/'
); );
// Nofollow // Nofollow
$bb_cfg['nofollow'] = array( $bb_cfg['nofollow'] = array(
'disabled' => false, 'disabled' => false,
'allowed_url' => array($domain_name), // 'allowed.site', 'www.allowed.site' 'allowed_url' => array($domain_name), // 'allowed.site', 'www.allowed.site'
); );
// Local config // Local config

View file

@ -1,5 +1,7 @@
<?php <?php
if (!defined('BB_ROOT')) die(basename(__FILE__));
// //
// $Id: sphinxapi.php 2055 2009-11-06 23:09:58Z shodan $ // $Id: sphinxapi.php 2055 2009-11-06 23:09:58Z shodan $
// //

View file

@ -1,5 +1,7 @@
<?php <?php
if (!defined('BB_ROOT')) die(basename(__FILE__));
/** /**
* Captcha * Captcha
*/ */

View file

@ -1,4 +1,7 @@
<?php <?php
if (!defined('BB_ROOT')) die(basename(__FILE__));
/** /**
* Automatic correction of the language for words in the text because of the wrong keyboard layout * Automatic correction of the language for words in the text because of the wrong keyboard layout
* Автоматическое исправление языка для слов в тексте из-за неправильной раскладки клавиатуры * Автоматическое исправление языка для слов в тексте из-за неправильной раскладки клавиатуры

View file

@ -1,4 +1,7 @@
<?php <?php
if (!defined('BB_ROOT')) die(basename(__FILE__));
/** /**
* A class for validating method parameters to allowed types via reflection. * A class for validating method parameters to allowed types via reflection.
* *

View file

@ -1,5 +1,7 @@
<?php <?php
if (!defined('BB_ROOT')) die(basename(__FILE__));
class sitemap class sitemap
{ {
var $home = ''; var $home = '';

View file

@ -1,4 +1,7 @@
<?php <?php
if (!defined('BB_ROOT')) die(basename(__FILE__));
/** /**
* PHP5 UTF-8 is a UTF-8 aware library of functions mirroring PHP's own string functions. * PHP5 UTF-8 is a UTF-8 aware library of functions mirroring PHP's own string functions.
* *

View file

@ -9,22 +9,25 @@ function get_path_from_id ($id, $ext_id, $base_path, $first_div, $sec_div)
return ($base_path ? "$base_path/" : '') . floor($id/$first_div) .'/'. ($id % $sec_div) .'/'. $id . ($ext ? ".$ext" : ''); return ($base_path ? "$base_path/" : '') . floor($id/$first_div) .'/'. ($id % $sec_div) .'/'. $id . ($ext ? ".$ext" : '');
} }
function get_avatar_path ($id, $ext_id, $base_path = '')
{
return get_path_from_id($id, $ext_id, $base_path, 5000, 100);
}
function delete_avatar ($user_id, $avatar_ext_id) function delete_avatar ($user_id, $avatar_ext_id)
{ {
global $bb_cfg; global $bb_cfg;
$avatar_file = ($avatar_ext_id) ? get_avatar_path($user_id, $avatar_ext_id, $bb_cfg['avatars']['upload_path']) : ''; $avatar_file = ($avatar_ext_id) ? get_avatar_path($user_id, $avatar_ext_id) : '';
return ($avatar_file && file_exists($avatar_file)) ? @unlink($avatar_file) : false; return ($avatar_file && file_exists($avatar_file)) ? @unlink($avatar_file) : false;
} }
function get_attach_path ($id) function get_avatar_path ($id, $ext_id, $base_path = null, $first_div = 10000, $sec_div = 100)
{ {
global $bb_cfg; global $bb_cfg;
return get_path_from_id($id, '', $bb_cfg['attach']['upload_path'], 1000, 100); $base_path = isset($base_path) ? $base_path : $bb_cfg['avatars']['upload_path'];
return get_path_from_id($id, $ext_id, $base_path, $first_div, $sec_div);
}
function get_attach_path ($id, $ext_id = '', $base_path = null, $first_div = 10000, $sec_div = 100)
{
global $bb_cfg;
$base_path = isset($base_path) ? $base_path : $bb_cfg['attach']['upload_path'];
return get_path_from_id($id, $ext_id, $base_path, $first_div, $sec_div);
} }
function get_tracks ($type) function get_tracks ($type)
@ -1868,7 +1871,7 @@ function bb_realpath ($path)
function login_redirect ($url = '') function login_redirect ($url = '')
{ {
redirect(LOGIN_URL . '?redirect='. (($url) ? $url : (isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/'))); redirect(LOGIN_URL . '?redirect='. (($url) ? $url : (isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/')));
} }
function meta_refresh ($url, $time = 5) function meta_refresh ($url, $time = 5)
@ -2755,17 +2758,17 @@ function get_avatar ($user_id, $ext_id, $allow_avatar = true, $size = true, $hei
$height = ($height != '') ? 'height="'. $height .'"' : ''; $height = ($height != '') ? 'height="'. $height .'"' : '';
$width = ($width != '') ? 'width="'. $width .'"' : ''; $width = ($width != '') ? 'width="'. $width .'"' : '';
$user_avatar = '<img src="'. $bb_cfg['avatars']['upload_path'] . $bb_cfg['avatars']['no_avatar'] .'" alt="'. $user_id .'" '. $height .' '. $width .' />'; $user_avatar = '<img src="'. make_url($bb_cfg['avatars']['upload_path'] . $bb_cfg['avatars']['no_avatar']) .'" alt="'. $user_id .'" '. $height .' '. $width .' />';
if ($user_id == BOT_UID && $bb_cfg['avatars']['bot_avatar']) if ($user_id == BOT_UID && $bb_cfg['avatars']['bot_avatar'])
{ {
$user_avatar = '<img src="'. $bb_cfg['avatars']['upload_path'] . $bb_cfg['avatars']['bot_avatar'] .'" alt="'. $user_id .'" '. $height .' '. $width .' />'; $user_avatar = '<img src="'. make_url($bb_cfg['avatars']['upload_path'] . $bb_cfg['avatars']['bot_avatar']) .'" alt="'. $user_id .'" '. $height .' '. $width .' />';
} }
elseif ($allow_avatar && $ext_id) else if ($allow_avatar && $ext_id)
{ {
if (file_exists($bb_cfg['avatars']['upload_path'] . get_avatar_path($user_id, $ext_id))) if (file_exists(get_avatar_path($user_id, $ext_id)))
{ {
$user_avatar = '<img src="'. $bb_cfg['avatars']['upload_path'] . get_avatar_path($user_id, $ext_id) .'" alt="'. $user_id .'" '. $height .' '. $width .' />'; $user_avatar = '<img src="'. make_url(get_avatar_path($user_id, $ext_id)) .'" alt="'. $user_id .'" '. $height .' '. $width .' />';
} }
} }

View file

@ -1,5 +1,7 @@
<?php <?php
if (!defined('BB_ROOT')) die(basename(__FILE__));
class upload_common class upload_common
{ {
var $cfg = array( var $cfg = array(
@ -121,7 +123,7 @@ class upload_common
if ($mode == 'avatar') if ($mode == 'avatar')
{ {
delete_avatar($params['user_id'], $params['avatar_ext_id']); delete_avatar($params['user_id'], $params['avatar_ext_id']);
$file_path = get_avatar_path($params['user_id'], $this->file_ext_id, $bb_cfg['avatars']['upload_path']); $file_path = get_avatar_path($params['user_id'], $this->file_ext_id);
return $this->_move($file_path); return $this->_move($file_path);
} }
else if ($mode == 'attach') else if ($mode == 'attach')

View file

@ -766,14 +766,13 @@ $template->assign_vars(array(
'AVATAR_EXPLAIN' => sprintf($lang['AVATAR_EXPLAIN'], $bb_cfg['avatars']['max_width'], $bb_cfg['avatars']['max_height'], (round($bb_cfg['avatars']['max_size'] / 1024))), 'AVATAR_EXPLAIN' => sprintf($lang['AVATAR_EXPLAIN'], $bb_cfg['avatars']['max_width'], $bb_cfg['avatars']['max_height'], (round($bb_cfg['avatars']['max_size'] / 1024))),
'AVATAR_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'dis_avatar'), 'AVATAR_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'dis_avatar'),
'AVATAR_DIS_EXPLAIN' => sprintf($lang['AVATAR_DISABLE'], $bb_cfg['terms_and_conditions_url']), 'AVATAR_DIS_EXPLAIN' => sprintf($lang['AVATAR_DISABLE'], $bb_cfg['terms_and_conditions_url']),
'AVATAR_IMG' => get_avatar($pr_data['user_id'], $pr_data['avatar_ext_id'], !bf($pr_data['user_opt'], 'user_opt', 'dis_avatar')),
'SIGNATURE_EXPLAIN' => sprintf($lang['SIGNATURE_EXPLAIN'], $bb_cfg['max_sig_chars']), 'SIGNATURE_EXPLAIN' => sprintf($lang['SIGNATURE_EXPLAIN'], $bb_cfg['max_sig_chars']),
'SIG_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'dis_sig'), 'SIG_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'dis_sig'),
'PR_USER_ID' => $pr_data['user_id'], 'PR_USER_ID' => $pr_data['user_id'],
'U_RESET_AUTOLOGIN' => LOGIN_URL . "?logout=1&amp;reset_autologin=1&amp;sid={$userdata['session_id']}", 'U_RESET_AUTOLOGIN' => LOGIN_URL . "?logout=1&amp;reset_autologin=1&amp;sid={$userdata['session_id']}",
'AVATAR_URL_PATH' => ($pr_data['avatar_ext_id']) ? get_avatar_path($pr_data['user_id'], $pr_data['avatar_ext_id']) : '',
)); ));
print_page('usercp_register.tpl'); print_page('usercp_register.tpl');

View file

@ -1,9 +1,9 @@
<div> <div>
<h3>BitTorrent clients</h3> <h3>BitTorrent clients</h3>
<ul> <ul>
<li><a rel="nofollow" href="http://www.utorrent.com/" class="med"><b>uTorrent</b></a> <span class="med nowrap">(recommended: <b>3.4</b>)</span></li> <li><a rel="nofollow" href="http://www.utorrent.com/" class="med"><b>uTorrent</b></a></li>
<li><a rel="nofollow" href="http://www.bittorrent.com/" class="med"><b>BitTorrent</b></a> <span class="med nowrap">(recommended: <b>7.9</b>)</span></li> <li><a rel="nofollow" href="http://www.bittorrent.com/" class="med"><b>BitTorrent</b></a></li>
<li><a rel="nofollow" href="http://www.transmissionbt.com/" class="med"><b>Transmission</b></a> <span class="med nowrap">(recommended: <b>2.82</b>)</span></li> <li><a rel="nofollow" href="http://www.transmissionbt.com/" class="med"><b>Transmission</b></a></li>
</ul> </ul>
</div> </div>

View file

@ -1,9 +1,9 @@
<div> <div>
<h3>BitTorrent клиенты</h3> <h3>BitTorrent клиенты</h3>
<ul> <ul>
<li><a rel="nofollow" href="http://www.utorrent.com/" class="med"><b>uTorrent</b></a> <span class="med nowrap">(рекомендуемый: <b>3.4</b>)</span></li> <li><a rel="nofollow" href="http://www.utorrent.com/" class="med"><b>uTorrent</b></a></li>
<li><a rel="nofollow" href="http://www.bittorrent.com/" class="med"><b>BitTorrent</b></a> <span class="med nowrap">(рекомендуемый: <b>7.9</b>)</span></li> <li><a rel="nofollow" href="http://www.bittorrent.com/" class="med"><b>BitTorrent</b></a></li>
<li><a rel="nofollow" href="http://www.transmissionbt.com/" class="med"><b>Transmission</b></a> <span class="med nowrap">(рекомендуемый: <b>2.82</b>)</span></li> <li><a rel="nofollow" href="http://www.transmissionbt.com/" class="med"><b>Transmission</b></a></li>
</ul> </ul>
</div> </div>

View file

@ -1,9 +1,9 @@
<div> <div>
<h3>BitTorrent клієнти</h3> <h3>BitTorrent клієнти</h3>
<ul> <ul>
<li><a rel="nofollow" href="http://www.utorrent.com/intl/ru/" class="med"><b>uTorrent</b></a> <span class="med nowrap">(рекомендований: <b>3.4</b>)</span></li> <li><a rel="nofollow" href="http://www.utorrent.com/" class="med"><b>uTorrent</b></a></li>
<li><a rel="nofollow" href="http://www.bittorrent.com/intl/ru/" class="med"><b>BitTorrent</b></a> <span class="med nowrap">(рекомендований: <b>7.9</b>)</span></li> <li><a rel="nofollow" href="http://www.bittorrent.com/" class="med"><b>BitTorrent</b></a></li>
<li><a rel="nofollow" href="http://www.transmissionbt.com/" class="med"><b>Transmission</b></a> <span class="med nowrap">(рекомендований: <b>2.82</b>)</span></li> <li><a rel="nofollow" href="http://www.transmissionbt.com/" class="med"><b>Transmission</b></a></li>
</ul> </ul>
</div> </div>

View file

@ -62,10 +62,10 @@ $login_password = isset($_POST['login_password']) ? $_POST['login_password'] : '
// Проверка на неверную комбинацию логин/пароль // Проверка на неверную комбинацию логин/пароль
$need_captcha = false; $need_captcha = false;
if(!$mod_admin_login) if (!$mod_admin_login)
{ {
$need_captcha = CACHE('bb_login_err')->get('l_err_'. USER_IP); $need_captcha = CACHE('bb_login_err')->get('l_err_'. USER_IP);
if($need_captcha < $bb_cfg['invalid_logins']) $need_captcha = false; if ($need_captcha < $bb_cfg['invalid_logins']) $need_captcha = false;
} }
// login // login

View file

@ -64,10 +64,10 @@ function validate_topics ($forum_id, &$req_topics, &$topic_titles)
* @return bool * @return bool
*/ */
function validate_mode_condition($request_index, $mod_action='') { function validate_mode_condition($request_index, $mod_action='') {
if (!$mod_action) { if (!$mod_action) {
$mod_action = $request_index; $mod_action = $request_index;
} }
return (isset($_REQUEST[$request_index]) || (isset($_POST['mod_action']) && $_POST['mod_action'] === $mod_action)); return (isset($_REQUEST[$request_index]) || (isset($_POST['mod_action']) && $_POST['mod_action'] === $mod_action));
} }
// Obtain initial vars // Obtain initial vars

View file

@ -68,19 +68,11 @@ function manage_group(mode, value) {
</tr> </tr>
<tr> <tr>
<td> <td>
{L_AVATAR}: {L_AVATAR}: <br /><br />
<!-- IF AVATAR_URL_PATH -->
<br /><br />
<div id="avatar" align="center"> <div id="avatar" align="center">
<p> <p>{AVATAR_IMG}</p><br />
<img src="{AVATARS_URL}/{AVATAR_URL_PATH}" alt="avatar" /> <p><input type="button" name="delete_avatar" value="{L_DELETE_IMAGE}" onclick="manage_group(this.name,this.value)" /></p>
</p>
<br />
<p>
<input type="button" name="delete_avatar" value="{L_DELETE_IMAGE}" onclick="manage_group(this.name,this.value)" />
</p>
</div> </div>
<!-- ENDIF -->
</td> </td>
<td valign="top"> <td valign="top">
<div id="avatar_explain" class="med">{AVATAR_EXPLAIN}</div> <div id="avatar_explain" class="med">{AVATAR_EXPLAIN}</div>

View file

@ -288,8 +288,8 @@ ajax.callback.posts = function(data){
<!-- ENDIF --> <!-- ENDIF -->
</td> </td>
<td class="tCenter nowrap"> <td class="tCenter nowrap">
<p class="mrg_6"><!-- IF AVATAR_URL_PATH --><img src="{AVATARS_URL}/{AVATAR_URL_PATH}" alt="avatar" /><!-- ELSE -->--<!-- ENDIF --></p> <p class="mrg_6">{AVATAR_IMG}</p>
<p><label><input type="checkbox" name="delete_avatar" <!-- IF not AVATAR_URL_PATH -->disabled="disabled"<!-- ENDIF --> /> {L_DELETE_IMAGE}</label></p> <p><label><input type="checkbox" name="delete_avatar" /> {L_DELETE_IMAGE}</label></p>
</td> </td>
</tr> </tr>
</table> </table>