From 63aa7ea2d070f00d8333a7e8419cbe2fc18ee36c Mon Sep 17 00:00:00 2001
From: Yuriy Pikhtarev
($bb_cfg[\'use_word_censor\'] in config.php)');
+ bb_die('Word censor disabled');
}
$mode = request_var('mode', '');
diff --git a/admin/index.php b/admin/index.php
index 301ea5292..2166d5b7e 100644
--- a/admin/index.php
+++ b/admin/index.php
@@ -65,7 +65,7 @@ elseif (isset($_GET['pane']) && $_GET['pane'] == 'right')
{
$template->assign_vars(array(
'TPL_ADMIN_MAIN' => true,
- 'ADMIN_LOCK' => ($bb_cfg['board_disable']) ? true : false,
+ 'ADMIN_LOCK' => ($di->config->get('board_disable')) ? true : false,
'ADMIN_LOCK_CRON' => (file_exists(BB_DISABLED)) ? true :false,
));
@@ -73,8 +73,8 @@ elseif (isset($_GET['pane']) && $_GET['pane'] == 'right')
$total_posts = get_db_stat('postcount');
$total_users = get_db_stat('usercount');
$total_topics = get_db_stat('topiccount');
- $start_date = bb_date($bb_cfg['board_startdate']);
- $boarddays = (TIMENOW - $bb_cfg['board_startdate']) / 86400;
+ $start_date = bb_date($di->config->get('board_startdate'));
+ $boarddays = (TIMENOW - $di->config->get('board_startdate')) / 86400;
$posts_per_day = sprintf('%.2f', $total_posts / $boarddays);
$topics_per_day = sprintf('%.2f', $total_topics / $boarddays);
@@ -82,13 +82,13 @@ elseif (isset($_GET['pane']) && $_GET['pane'] == 'right')
$avatar_dir_size = 0;
- if ($avatar_dir = opendir(BB_ROOT . $bb_cfg['avatar_path']))
+ if ($avatar_dir = opendir(BB_ROOT . $di->config->get('avatar_path')))
{
while( $file = readdir($avatar_dir) )
{
if( $file != '.' && $file != '..' )
{
- $avatar_dir_size += filesize(BB_ROOT . $bb_cfg['avatar_path'] . '/' . $file);
+ $avatar_dir_size += filesize(BB_ROOT . $di->config->get('avatar_path') . '/' . $file);
}
}
closedir($avatar_dir);
@@ -125,7 +125,7 @@ elseif (isset($_GET['pane']) && $_GET['pane'] == 'right')
if (preg_match('/^(3\.23|4\.|5\.|10\.)/', $version))
{
$dblist = array();
- foreach ($bb_cfg['db'] as $name => $row)
+ foreach ($di->config->get('db') as $name => $row)
{
$sql = "SHOW TABLE STATUS FROM {$row[1]}";
if ($result = DB()->sql_query($sql))
@@ -165,9 +165,9 @@ elseif (isset($_GET['pane']) && $_GET['pane'] == 'right')
'USERS_PER_DAY' => $users_per_day,
'AVATAR_DIR_SIZE' => $avatar_dir_size,
'DB_SIZE' => $dbsize,
- 'GZIP_COMPRESSION' => ($bb_cfg['gzip_compress']) ? $lang['ON'] : $lang['OFF'],
- 'TP_VERSION' => $bb_cfg['tp_version'] . (!empty($bb_cfg['tp_release_state']) ? ' :: ' . $bb_cfg['tp_release_state'] : ''),
- 'TP_RELEASE_DATE' => $bb_cfg['tp_release_date'],
+ 'GZIP_COMPRESSION' => ($di->config->get('gzip_compress')) ? $lang['ON'] : $lang['OFF'],
+ 'TP_VERSION' => $di->config->get('tp_version') . (!empty($di->config->get('tp_release_state')) ? ' :: ' . $di->config->get('tp_release_state') : ''),
+ 'TP_RELEASE_DATE' => $di->config->get('tp_release_date'),
'ZF_VERSION' => Zend\Version\Version::VERSION,
));
@@ -237,7 +237,7 @@ elseif (isset($_GET['pane']) && $_GET['pane'] == 'right')
'STARTED' => bb_date($onlinerow_reg[$i]['session_start'], 'H:i', false),
'LASTUPDATE' => bb_date($onlinerow_reg[$i]['user_session_time'], 'H:i', false),
'IP_ADDRESS' => $reg_ip,
- 'U_WHOIS_IP' => $bb_cfg['whois_info'] . $reg_ip,
+ 'U_WHOIS_IP' => $di->config->get('whois_info') . $reg_ip,
));
}
}
@@ -262,7 +262,7 @@ elseif (isset($_GET['pane']) && $_GET['pane'] == 'right')
'STARTED' => bb_date($onlinerow_guest[$i]['session_start'], 'H:i', false),
'LASTUPDATE' => bb_date($onlinerow_guest[$i]['session_time'], 'H:i' , false),
'IP_ADDRESS' => $guest_ip,
- 'U_WHOIS_IP' => $bb_cfg['whois_info'] . $guest_ip,
+ 'U_WHOIS_IP' => $di->config->get('whois_info') . $guest_ip,
));
}
}
@@ -278,7 +278,7 @@ else
{
// Generate frameset
$template->assign_vars(array(
- 'CONTENT_ENCODING' => $bb_cfg['lang'][$userdata['user_lang']]['encoding'],
+ 'CONTENT_ENCODING' => $di->config->get('lang.' . $userdata['user_lang'] . '.encoding'),
'TPL_ADMIN_FRAMESET' => true,
));
send_no_cache_headers();
diff --git a/admin/stats/tracker.php b/admin/stats/tracker.php
index 69d9922d8..a709bf72a 100644
--- a/admin/stats/tracker.php
+++ b/admin/stats/tracker.php
@@ -4,6 +4,9 @@ define('IN_ADMIN', true);
define('BB_ROOT', './../../');
require(BB_ROOT .'common.php');
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
+
$user->session_start();
if (!IS_ADMIN) bb_die($lang['NOT_AUTHORISED']);
@@ -11,7 +14,7 @@ if (!IS_ADMIN) bb_die($lang['NOT_AUTHORISED']);
$peers_in_last_minutes = array(30, 15, 5, 1);
$peers_in_last_sec_limit = 300;
-$announce_interval = intval($bb_cfg['announce_interval']);
+$announce_interval = intval($di->config->get('announce_interval'));
$stat = array();
define('TMP_TRACKER_TABLE', 'tmp_tracker');
diff --git a/bt/announce.php b/bt/announce.php
index 7fc2bdf92..269955a25 100644
--- a/bt/announce.php
+++ b/bt/announce.php
@@ -23,8 +23,8 @@ if (isset($_GET['event']) && $_GET['event'] === 'completed')
dummy_exit(mt_rand(600, 1200));
}
-$announce_interval = $bb_cfg['announce_interval'];
-$passkey_key = $bb_cfg['passkey_key'];
+$announce_interval = $di->config->get('announce_interval');
+$passkey_key = $di->config->get('passkey_key');
$max_left_val = 536870912000; // 500 GB
$max_up_down_val = 5497558138880; // 5 TB
$max_up_add_val = 85899345920; // 80 GB
@@ -112,9 +112,9 @@ if (!verify_id($passkey, BT_AUTH_KEY_LENGTH))
// IP
$ip = $_SERVER['REMOTE_ADDR'];
-if (!$bb_cfg['ignore_reported_ip'] && isset($_GET['ip']) && $ip !== $_GET['ip'])
+if (!$di->config->get('ignore_reported_ip') && isset($_GET['ip']) && $ip !== $_GET['ip'])
{
- if (!$bb_cfg['verify_reported_ip'])
+ if (!$di->config->get('verify_reported_ip'))
{
$ip = $_GET['ip'];
}
@@ -124,7 +124,7 @@ if (!$bb_cfg['ignore_reported_ip'] && isset($_GET['ip']) && $ip !== $_GET['ip'])
{
if ($x_ip === $_GET['ip'])
{
- if (!$bb_cfg['allow_internal_ip'] && preg_match("#^(10|172\.16|192\.168)\.#", $x_ip))
+ if (!$di->config->get('allow_internal_ip') && preg_match("#^(10|172\.16|192\.168)\.#", $x_ip))
{
break;
}
@@ -278,7 +278,7 @@ else
}
// Limit active torrents
- if (!isset($bb_cfg['unlimited_users'][$user_id]) && $tr_cfg['limit_active_tor'] && (($tr_cfg['limit_seed_count'] && $seeder) || ($tr_cfg['limit_leech_count'] && !$seeder)))
+ if (!$di->config->get('unlimited_users.' . $user_id) && $tr_cfg['limit_active_tor'] && (($tr_cfg['limit_seed_count'] && $seeder) || ($tr_cfg['limit_leech_count'] && !$seeder)))
{
$sql = "SELECT COUNT(DISTINCT topic_id) AS active_torrents
FROM ". BB_BT_TRACKER ."
diff --git a/common.php b/common.php
index 26919184a..df2efb604 100644
--- a/common.php
+++ b/common.php
@@ -52,7 +52,6 @@ $di->register(new \TorrentPier\ServiceProviders\TranslationServiceProvider());
$di->register(new \TorrentPier\ServiceProviders\TwigServiceProvider());
$di->register(new \TorrentPier\ServiceProviders\CaptchaServiceProvider());
-$bb_cfg = $di->config->toArray();
$page_cfg = $di->config->page->toArray();
$tr_cfg = $di->config->tracker->toArray();
$rating_limits = $di->config->rating->toArray();
@@ -63,10 +62,10 @@ use Zend\Loader\StandardAutoloader;
$loader = new StandardAutoloader(array('autoregister_zf' => true));
$loader->register();
-$server_protocol = ($bb_cfg['cookie_secure']) ? 'https://' : 'http://';
-$server_port = (in_array($bb_cfg['server_port'], array(80, 443))) ? '' : ':' . $bb_cfg['server_port'];
-define('FORUM_PATH', $bb_cfg['script_path']);
-define('FULL_URL', $server_protocol . $bb_cfg['server_name'] . $server_port . $bb_cfg['script_path']);
+$server_protocol = ($di->config->get('cookie_secure')) ? 'https://' : 'http://';
+$server_port = (in_array($di->config->get('server_port'), array(80, 443))) ? '' : ':' . $di->config->get('server_port');
+define('FORUM_PATH', $di->config->get('script_path'));
+define('FULL_URL', $server_protocol . $di->config->get('server_name') . $server_port . $di->config->get('script_path'));
unset($server_protocol, $server_port);
// Debug options
@@ -82,8 +81,8 @@ define('BT_AUTH_KEY_LENGTH', 10);
define('PEER_HASH_PREFIX', 'peer_');
define('PEERS_LIST_PREFIX', 'peers_list_');
-define('PEER_HASH_EXPIRE', round($bb_cfg['announce_interval'] * (0.85 * $tr_cfg['expire_factor']))); // sec
-define('PEERS_LIST_EXPIRE', round($bb_cfg['announce_interval'] * 0.7)); // sec
+define('PEER_HASH_EXPIRE', round($di->config->get('announce_interval') * (0.85 * $tr_cfg['expire_factor']))); // sec
+define('PEERS_LIST_EXPIRE', round($di->config->get('announce_interval') * 0.7)); // sec
define('DL_STATUS_RELEASER', -1);
define('DL_STATUS_DOWN', 0);
@@ -115,7 +114,7 @@ $DBS = new DBS([
false
]
],
- 'db_alias' => $bb_cfg['db_alias']
+ 'db_alias' => $di->config->get('db_alias')
]);
/**
@@ -140,35 +139,35 @@ require(INC_DIR . 'datastore/xcache.php');
require(INC_DIR . 'datastore/file.php');
// Initialize datastore
-switch ($bb_cfg['datastore_type'])
+switch ($di->config->get('datastore_type'))
{
case 'memcache':
- $datastore = new datastore_memcache($bb_cfg['cache']['memcache'], $bb_cfg['cache']['prefix']);
+ $datastore = new datastore_memcache($di->config->get('cache.memcache'), $di->config->get('cache.prefix'));
break;
case 'sqlite':
$default_cfg = array(
- 'db_file_path' => $bb_cfg['cache']['db_dir'] .'datastore.sqlite.db',
+ 'db_file_path' => $di->config->get('cache.db_dir') .'datastore.sqlite.db',
'pconnect' => true,
'con_required' => true,
);
- $datastore = new datastore_sqlite($default_cfg, $bb_cfg['cache']['prefix']);
+ $datastore = new datastore_sqlite($default_cfg, $di->config->get('cache.prefix'));
break;
case 'redis':
- $datastore = new datastore_redis($bb_cfg['cache']['redis'], $bb_cfg['cache']['prefix']);
+ $datastore = new datastore_redis($di->config->get('cache.redis'), $di->config->get('cache.prefix'));
break;
case 'apc':
- $datastore = new datastore_apc($bb_cfg['cache']['prefix']);
+ $datastore = new datastore_apc($di->config->get('cache.prefix'));
break;
case 'xcache':
- $datastore = new datastore_xcache($bb_cfg['cache']['prefix']);
+ $datastore = new datastore_xcache($di->config->get('cache.prefix'));
break;
case 'filecache':
- default: $datastore = new datastore_file($bb_cfg['cache']['db_dir'] . 'datastore/', $bb_cfg['cache']['prefix']);
+ default: $datastore = new datastore_file($di->config->get('cache.db_dir') . 'datastore/', $di->config->get('cache.prefix'));
}
function sql_dbg_enabled ()
diff --git a/group.php b/group.php
index 68a6b2449..421343efc 100644
--- a/group.php
+++ b/group.php
@@ -6,6 +6,9 @@ require(BB_ROOT .'common.php');
require(INC_DIR .'bbcode.php');
require(INC_DIR .'functions_group.php');
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
+
$page_cfg['use_tablesorter'] = true;
$s_member_groups = $s_pending_groups = $s_member_groups_opt = $s_pending_groups_opt = '';
@@ -13,25 +16,28 @@ $select_sort_mode = $select_sort_order = '';
function generate_user_info(&$row, $date_format, $group_mod, &$from, &$posts, &$joined, &$pm, &$email, &$www, &$user_time, &$avatar)
{
- global $lang, $images, $bb_cfg;
+ global $lang, $images;
+
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
$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']) ? $row['user_posts'] : 0;
- $pm = ($bb_cfg['text_buttons']) ? ''. $lang['SEND_PM_TXTB'] .'' : '';
+ $pm = ($di->config->get('text_buttons')) ? ''. $lang['SEND_PM_TXTB'] .'' : '
';
$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)
{
- $email_uri = ($bb_cfg['board_email_form']) ? ("profile.php?mode=email&". POST_USERS_URL ."=".$row['user_id']) : 'mailto:'. $row['user_email'];
+ $email_uri = ($di->config->get('board_email_form')) ? ("profile.php?mode=email&". POST_USERS_URL ."=".$row['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'] .'' : '
';
+ $www = ($di->config->get('text_buttons')) ? ''. $lang['VISIT_WEBSITE_TXTB'] .'' : '
';
}
else $www = '';
@@ -44,7 +50,7 @@ set_die_append_msg();
$group_id = isset($_REQUEST[POST_GROUPS_URL]) ? intval($_REQUEST[POST_GROUPS_URL]) : null;
$start = isset($_REQUEST['start']) ? abs(intval($_REQUEST['start'])) : 0;
-$per_page = $bb_cfg['group_members_per_page'];
+$per_page = $di->config->get('group_members_per_page');
$view_mode = isset($_REQUEST['view']) ? (string) $_REQUEST['view'] : null;
$rel_limit = 50;
@@ -217,19 +223,19 @@ else if (isset($_POST['joingroup']) && $_POST['joingroup'])
add_user_into_group($group_id, $userdata['user_id'], 1, TIMENOW);
- if ($bb_cfg['group_send_email'])
+ if ($di->config->get('group_send_email'))
{
require(CLASS_DIR .'emailer.php');
- $emailer = new emailer($bb_cfg['smtp_delivery']);
+ $emailer = new emailer($di->config->get('smtp_delivery'));
- $emailer->from($bb_cfg['sitename'] ." <{$bb_cfg['board_email']}>");
+ $emailer->from($di->config->get('sitename') ." <{$di->config->get('board_email')}>");
$emailer->email_address($moderator['username'] ." <{$moderator['user_email']}>");
$emailer->use_template('group_request', $moderator['user_lang']);
$emailer->assign_vars(array(
'USER' => $userdata['username'],
- 'SITENAME' => $bb_cfg['sitename'],
+ 'SITENAME' => $di->config->get('sitename'),
'GROUP_MODERATOR' => $moderator['username'],
'U_GROUP' => make_url(GROUP_URL . $group_id),
));
@@ -269,18 +275,18 @@ else
add_user_into_group($group_id, $row['user_id']);
- if ($bb_cfg['group_send_email'])
+ if ($di->config->get('group_send_email'))
{
require(CLASS_DIR .'emailer.php');
- $emailer = new emailer($bb_cfg['smtp_delivery']);
+ $emailer = new emailer($di->config->get('smtp_delivery'));
- $emailer->from($bb_cfg['sitename'] ." <{$bb_cfg['board_email']}>");
+ $emailer->from($di->config->get('sitename') ." <{$di->config->get('board_email')}>");
$emailer->email_address($row['username'] ." <{$row['user_email']}>");
$emailer->use_template('group_added', $row['user_lang']);
$emailer->assign_vars(array(
- 'SITENAME' => $bb_cfg['sitename'],
+ 'SITENAME' => $di->config->get('sitename'),
'GROUP_NAME' => $group_info['group_name'],
'U_GROUP' => make_url(GROUP_URL . $group_id),
));
@@ -330,7 +336,7 @@ else
}
}
// Email users when they are approved
- if (!empty($_POST['approve']) && $bb_cfg['group_send_email'])
+ if (!empty($_POST['approve']) && $di->config->get('group_send_email'))
{
$sql_select = "SELECT username, user_email, user_lang
FROM ". BB_USERS ."
@@ -342,9 +348,9 @@ else
}
require(CLASS_DIR .'emailer.php');
- $emailer = new emailer($bb_cfg['smtp_delivery']);
+ $emailer = new emailer($di->config->get('smtp_delivery'));
- $emailer->from($bb_cfg['sitename'] ." <{$bb_cfg['board_email']}>");
+ $emailer->from($di->config->get('sitename') ." <{$di->config->get('board_email')}>");
foreach (DB()->fetch_rowset($sql_select) as $row)
{
@@ -353,7 +359,7 @@ else
}
$emailer->assign_vars(array(
- 'SITENAME' => $bb_cfg['sitename'],
+ 'SITENAME' => $di->config->get('sitename'),
'GROUP_NAME' => $group_info['group_name'],
'U_GROUP' => make_url(GROUP_URL . $group_id),
));
@@ -438,7 +444,7 @@ else
$username = $group_moderator['username'];
$user_id = $group_moderator['user_id'];
- generate_user_info($group_moderator, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $pm, $email, $www, $user_time, $avatar);
+ generate_user_info($group_moderator, $di->config->get('default_dateformat'), $is_moderator, $from, $posts, $joined, $pm, $email, $www, $user_time, $avatar);
$group_type = '';
if ($group_info['group_type'] == GROUP_OPEN)
@@ -597,7 +603,7 @@ else
{
$user_id = $member['user_id'];
- generate_user_info($member, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $pm, $email, $www, $user_time, $avatar);
+ generate_user_info($member, $di->config->get('default_dateformat'), $is_moderator, $from, $posts, $joined, $pm, $email, $www, $user_time, $avatar);
if ($group_info['group_type'] != GROUP_HIDDEN || $is_group_member || $is_moderator)
{
@@ -658,7 +664,7 @@ else
{
$user_id = $member['user_id'];
- generate_user_info($member, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $pm, $email, $www, $user_time, $avatar);
+ generate_user_info($member, $di->config->get('default_dateformat'), $is_moderator, $from, $posts, $joined, $pm, $email, $www, $user_time, $avatar);
$row_class = !($i % 2) ? 'row1' : 'row2';
diff --git a/group_edit.php b/group_edit.php
index 4b1daa07c..edd460c66 100644
--- a/group_edit.php
+++ b/group_edit.php
@@ -5,6 +5,9 @@ define('BB_ROOT', './');
require(BB_ROOT .'common.php');
require(INC_DIR .'functions_group.php');
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
+
$page_cfg['include_bbcode_js'] = true;
// Start session management
@@ -34,12 +37,12 @@ if ($is_moderator)
// Avatar
if ($submit)
{
- if (!empty($_FILES['avatar']['name']) && $bb_cfg['group_avatars']['up_allowed'])
+ if (!empty($_FILES['avatar']['name']) && $di->config->get('group_avatars.up_allowed'))
{
require(INC_DIR .'functions_upload.php');
$upload = new upload_common();
- if ($upload->init($bb_cfg['group_avatars'], $_FILES['avatar']) && $upload->store('avatar', array("user_id" => GROUP_AVATAR_MASK . $group_id, "avatar_ext_id" => $group_info['avatar_ext_id'])))
+ if ($upload->init($di->config->get('group_avatars'), $_FILES['avatar']) && $upload->store('avatar', array("user_id" => GROUP_AVATAR_MASK . $group_id, "avatar_ext_id" => $group_info['avatar_ext_id'])))
{
$avatar_ext_id = (int) $upload->file_ext_id;
}
@@ -86,7 +89,7 @@ if ($is_moderator)
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'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'], $di->config->get('group_avatars.max_width'), $di->config->get('group_avatars.max_height'), (round($di->config->get('group_avatars.max_size') / 1024))),
'AVATAR_IMG' => get_avatar(GROUP_AVATAR_MASK . $group_id, $group_info['avatar_ext_id']),
));
diff --git a/index.php b/index.php
index 44580d6c2..80a1c2b9b 100644
--- a/index.php
+++ b/index.php
@@ -23,11 +23,11 @@ $datastore->enqueue(array(
'stats',
'moderators',
));
-if ($bb_cfg['show_latest_news'])
+if ($di->config->get('show_latest_news'))
{
$datastore->enqueue('latest_news');
}
-if ($bb_cfg['show_network_news'])
+if ($di->config->get('show_network_news'))
{
$datastore->enqueue('network_news');
}
@@ -269,7 +269,7 @@ foreach ($cat_forums as $cid => $c)
'LAST_TOPIC_ID' => $f['last_topic_id'],
'LAST_TOPIC_TIP' => $f['last_topic_title'],
'LAST_TOPIC_TITLE' => wbr(str_short($f['last_topic_title'], $last_topic_max_len)),
- 'LAST_POST_TIME' => bb_date($f['last_post_time'], $bb_cfg['last_post_date_format']),
+ 'LAST_POST_TIME' => bb_date($f['last_post_time'], $di->config->get('last_post_date_format')),
'LAST_POST_USER' => profile_url(array('username' => str_short($f['last_post_username'], 15), 'user_id' => $f['last_post_user_id'], 'user_rank' => $f['last_post_user_rank'])),
));
}
@@ -285,14 +285,14 @@ $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' => ($di->config->get('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') : '',
- 'SHOW_MOD_INDEX' => $bb_cfg['show_mod_index'],
+ 'TORRENTS_STAT' => ($di->config->get('tor_stats')) ? sprintf($lang['TORRENTS_STAT'], $stats['torrentcount'], humn_size($stats['size'])) : '',
+ 'PEERS_STAT' => ($di->config->get('tor_stats')) ? sprintf($lang['PEERS_STAT'], $stats['peers'], $stats['seeders'], $stats['leechers']) : '',
+ 'SPEED_STAT' => ($di->config->get('tor_stats')) ? sprintf($lang['SPEED_STAT'], humn_size($stats['speed']) .'/s') : '',
+ 'SHOW_MOD_INDEX' => $di->config->get('show_mod_index'),
'FORUM_IMG' => $images['forum'],
'FORUM_NEW_IMG' => $images['forum_new'],
'FORUM_LOCKED_IMG' => $images['forum_locked'],
@@ -310,13 +310,13 @@ $template->assign_vars(array(
));
// Set tpl vars for bt_userdata
-if ($bb_cfg['bt_show_dl_stat_on_index'] && !IS_GUEST)
+if ($di->config->get('bt_show_dl_stat_on_index') && !IS_GUEST)
{
show_bt_userdata($userdata['user_id']);
}
// Latest news
-if ($bb_cfg['show_latest_news'])
+if ($di->config->get('show_latest_news'))
{
if (!$latest_news = $datastore->get('latest_news'))
{
@@ -332,7 +332,7 @@ if ($bb_cfg['show_latest_news'])
{
$template->assign_block_vars('news', array(
'NEWS_TOPIC_ID' => $news['topic_id'],
- 'NEWS_TITLE' => str_short($news['topic_title'], $bb_cfg['max_news_title']),
+ 'NEWS_TITLE' => str_short($news['topic_title'], $di->config->get('max_news_title')),
'NEWS_TIME' => bb_date($news['topic_time'], 'd-M', false),
'NEWS_IS_NEW' => is_unread($news['topic_time'], $news['topic_id'], $news['forum_id']),
));
@@ -340,7 +340,7 @@ if ($bb_cfg['show_latest_news'])
}
// Network news
-if ($bb_cfg['show_network_news'])
+if ($di->config->get('show_network_news'))
{
if (!$network_news = $datastore->get('network_news'))
{
@@ -356,14 +356,14 @@ if ($bb_cfg['show_network_news'])
{
$template->assign_block_vars('net', array(
'NEWS_TOPIC_ID' => $net['topic_id'],
- 'NEWS_TITLE' => str_short($net['topic_title'], $bb_cfg['max_net_title']),
+ 'NEWS_TITLE' => str_short($net['topic_title'], $di->config->get('max_net_title')),
'NEWS_TIME' => bb_date($net['topic_time'], 'd-M', false),
'NEWS_IS_NEW' => is_unread($net['topic_time'], $net['topic_id'], $net['forum_id']),
));
}
}
-if ($bb_cfg['birthday_check_day'] && $bb_cfg['birthday_enabled'])
+if ($di->config->get('birthday_check_day') && $di->config->get('birthday_enabled'))
{
$week_list = $today_list = array();
$week_all = $today_all = false;
@@ -381,9 +381,9 @@ if ($bb_cfg['birthday_check_day'] && $bb_cfg['birthday_enabled'])
$week_list[] = profile_url($week) .' ('. birthday_age($week['user_birthday']-1) .')';
}
$week_all = ($week_all) ? ' ...' : '';
- $week_list = sprintf($lang['BIRTHDAY_WEEK'], $bb_cfg['birthday_check_day'], join(', ', $week_list)) . $week_all;
+ $week_list = sprintf($lang['BIRTHDAY_WEEK'], $di->config->get('birthday_check_day'), join(', ', $week_list)) . $week_all;
}
- else $week_list = sprintf($lang['NOBIRTHDAY_WEEK'], $bb_cfg['birthday_check_day']);
+ else $week_list = sprintf($lang['NOBIRTHDAY_WEEK'], $di->config->get('birthday_check_day'));
if ($stats['birthday_today_list'])
{
diff --git a/install/upgrade/r496-user_birthday.php b/install/upgrade/r496-user_birthday.php
index 1d84435f9..257d598e9 100644
--- a/install/upgrade/r496-user_birthday.php
+++ b/install/upgrade/r496-user_birthday.php
@@ -1,5 +1,9 @@
request['mode'];
$user_id = (int) $this->request['user_id'];
@@ -22,7 +25,7 @@ switch ($mode)
case 'delete':
delete_avatar($user_id, $u_data['avatar_ext_id']);
$new_ext_id = 0;
- $response = '
';
+ $response = '
';
break;
default:
$this->ajax_die('Invalid mode');
diff --git a/library/ajax/change_tor_status.php b/library/ajax/change_tor_status.php
index 03da8b89f..880aa99ac 100644
--- a/library/ajax/change_tor_status.php
+++ b/library/ajax/change_tor_status.php
@@ -2,14 +2,17 @@
if (!defined('IN_AJAX')) die(basename(__FILE__));
-global $userdata, $bb_cfg, $lang;
+global $userdata, $lang;
+
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
if (!isset($this->request['topic_id'])) $this->ajax_die('Invalid topic_id');
$topic_id = (int) $this->request['topic_id'];
$mode = (string) $this->request['mode'];
-if ($bb_cfg['tor_comment'])
+if ($di->config->get('tor_comment'))
{
$comment = (string) $this->request['comment'];
}
@@ -73,14 +76,14 @@ switch ($mode)
change_tor_status($topic_id, $new_status);
- $this->response['status'] = $bb_cfg['tor_icons'][$new_status] .' '. $lang['TOR_STATUS_NAME'][$new_status]. ' · '. profile_url($userdata) .' · '. delta_time(TIMENOW) . $lang['TOR_BACK']. '';
+ $this->response['status'] = $di->config->get('tor_icons.' . $new_status) .' '. $lang['TOR_STATUS_NAME'][$new_status]. ' · '. profile_url($userdata) .' · '. delta_time(TIMENOW) . $lang['TOR_BACK']. '';
- if ($bb_cfg['tor_comment'] && (($comment && $comment != $lang['COMMENT']) || in_array($new_status, $bb_cfg['tor_reply'])))
+ if ($di->config->get('tor_comment') && (($comment && $comment != $lang['COMMENT']) || in_array($new_status, $di->config->get('tor_reply'))))
{
if ($tor['poster_id'] > 0)
{
$subject = sprintf($lang['TOR_MOD_TITLE'], $tor['topic_title']);
- $message = sprintf($lang['TOR_MOD_MSG'], get_username($tor['poster_id']), make_url(TOPIC_URL . $topic_id), $bb_cfg['tor_icons'][$new_status] .' '.$lang['TOR_STATUS_NAME'][$new_status]);
+ $message = sprintf($lang['TOR_MOD_MSG'], get_username($tor['poster_id']), make_url(TOPIC_URL . $topic_id), $di->config->get('tor_icons.' . $new_status) .' '.$lang['TOR_STATUS_NAME'][$new_status]);
if ($comment && $comment != $lang['COMMENT']) $message .= "\n\n[b]". $lang['COMMENT'] .'[/b]: '. $comment;
@@ -91,7 +94,7 @@ switch ($mode)
break;
case 'status_reply':
- if (!$bb_cfg['tor_comment']) $this->ajax_die($lang['MODULE_OFF']);
+ if (!$di->config->get('tor_comment')) $this->ajax_die($lang['MODULE_OFF']);
$subject = sprintf($lang['TOR_AUTH_TITLE'], $tor['topic_title']);
$message = sprintf($lang['TOR_AUTH_MSG'], get_username($tor['checked_user_id']), make_url(TOPIC_URL . $topic_id), $tor['topic_title']);
diff --git a/library/ajax/edit_group_profile.php b/library/ajax/edit_group_profile.php
index 8621f75fc..3bbca2615 100644
--- a/library/ajax/edit_group_profile.php
+++ b/library/ajax/edit_group_profile.php
@@ -2,7 +2,10 @@
if (!defined('IN_AJAX')) die(basename(__FILE__));
-global $bb_cfg, $userdata, $lang;
+global $userdata, $lang;
+
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
if (!($group_id = intval($this->request['group_id'])) || !($group_info = get_group_data($group_id)))
{
diff --git a/library/ajax/edit_user_profile.php b/library/ajax/edit_user_profile.php
index d9b37fd96..acf351c51 100644
--- a/library/ajax/edit_user_profile.php
+++ b/library/ajax/edit_user_profile.php
@@ -2,7 +2,10 @@
if (!defined('IN_AJAX')) die(basename(__FILE__));
-global $bb_cfg, $lang;
+global $lang;
+
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
if (!($user_id = intval($this->request['user_id'])) || !($profiledata = get_userdata($user_id)))
{
@@ -47,7 +50,7 @@ switch ($field)
break;
case 'user_gender':
- if (!$bb_cfg['gender']) $this->ajax_die($lang['MODULE_OFF']);
+ if (!$di->config->get('gender')) $this->ajax_die($lang['MODULE_OFF']);
if (!isset($lang['GENDER_SELECT'][$value]))
{
$this->ajax_die($lang['ERROR']);
@@ -56,7 +59,7 @@ switch ($field)
break;
case 'user_birthday':
- if (!$bb_cfg['birthday_enabled']) $this->ajax_die($lang['MODULE_OFF']);
+ if (!$di->config->get('birthday_enabled')) $this->ajax_die($lang['MODULE_OFF']);
$birthday_date = date_parse($value);
if (!empty($birthday_date['year']))
@@ -65,13 +68,13 @@ switch ($field)
{
$this->ajax_die($lang['WRONG_BIRTHDAY_FORMAT']);
}
- elseif (bb_date(TIMENOW, 'Y', 'false') - $birthday_date['year'] > $bb_cfg['birthday_max_age'])
+ elseif (bb_date(TIMENOW, 'Y', 'false') - $birthday_date['year'] > $di->config->get('birthday_max_age'))
{
- $this->ajax_die(sprintf($lang['BIRTHDAY_TO_HIGH'], $bb_cfg['birthday_max_age']));
+ $this->ajax_die(sprintf($lang['BIRTHDAY_TO_HIGH'], $di->config->get('birthday_max_age')));
}
- elseif (bb_date(TIMENOW, 'Y', 'false') - $birthday_date['year'] < $bb_cfg['birthday_min_age'])
+ elseif (bb_date(TIMENOW, 'Y', 'false') - $birthday_date['year'] < $di->config->get('birthday_min_age'))
{
- $this->ajax_die(sprintf($lang['BIRTHDAY_TO_LOW'], $bb_cfg['birthday_min_age']));
+ $this->ajax_die(sprintf($lang['BIRTHDAY_TO_LOW'], $di->config->get('birthday_min_age')));
}
}
@@ -111,8 +114,8 @@ switch ($field)
case 'user_regdate':
case 'user_lastvisit':
- $tz = TIMENOW + (3600 * $bb_cfg['board_timezone']);
- if ((($value = strtotime($value, $tz)) < $bb_cfg['board_startdate']) || ($value > TIMENOW))
+ $tz = TIMENOW + (3600 * $di->config->get('board_timezone'));
+ if ((($value = strtotime($value, $tz)) < $di->config->get('board_startdate')) || ($value > TIMENOW))
{
$this->ajax_die($lang['INVALID_DATE'] . $this->request['value']);
}
diff --git a/library/ajax/index_data.php b/library/ajax/index_data.php
index 8ac61ea90..c6aa002e2 100644
--- a/library/ajax/index_data.php
+++ b/library/ajax/index_data.php
@@ -2,7 +2,10 @@
if (!defined('IN_AJAX')) die(basename(__FILE__));
-global $bb_cfg, $lang, $userdata, $datastore;
+global $lang, $userdata, $datastore;
+
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
$mode = (string) $this->request['mode'];
$html = '';
@@ -21,9 +24,9 @@ switch($mode)
{
$html[] = profile_url($week) .' ('. birthday_age($week['user_birthday']) .')';
}
- $html = sprintf($lang['BIRTHDAY_WEEK'], $bb_cfg['birthday_check_day'], join(', ', $html));
+ $html = sprintf($lang['BIRTHDAY_WEEK'], $di->config->get('birthday_check_day'), join(', ', $html));
}
- else $html = sprintf($lang['NOBIRTHDAY_WEEK'], $bb_cfg['birthday_check_day']);
+ else $html = sprintf($lang['NOBIRTHDAY_WEEK'], $di->config->get('birthday_check_day'));
break;
case 'birthday_today':
@@ -79,13 +82,8 @@ switch($mode)
$tz = (int) $this->request['tz'];
if ($tz < -12) $tz = -12;
if ($tz > 13) $tz = 13;
- if ($tz != $bb_cfg['board_timezone'])
- {
- // Set current user timezone
- DB()->query("UPDATE ". BB_USERS ." SET user_timezone = $tz WHERE user_id = ". $userdata['user_id'] ." LIMIT 1");
- $bb_cfg['board_timezone'] = $tz;
- cache_rm_user_sessions ($userdata['user_id']);
- }
+ DB()->query("UPDATE " . BB_USERS . " SET user_timezone = $tz WHERE user_id = " . $userdata['user_id'] . " LIMIT 1");
+ cache_rm_user_sessions($userdata['user_id']);
break;
case 'get_traf_stats':
@@ -104,7 +102,7 @@ switch($mode)
'. $lang['UPLOADED'] .'
'. $lang['RELEASED'] .'
'. $lang['BONUS'] .' ';
- $html .= ($bb_cfg['seed_bonus_enabled']) ? ''. $lang['SEED_BONUS'] .' ' : '';
+ $html .= ($di->config->get('seed_bonus_enabled')) ? ''. $lang['SEED_BONUS'] .' ' : '';
$html .= '
'. $lang['TOTAL_TRAF'] .'
@@ -112,17 +110,17 @@ switch($mode)
' .humn_size($btu['u_up_total']) .'
'. humn_size($btu['u_up_release']) .'
'. humn_size($btu['u_up_bonus']) .' ';
- $html .= ($bb_cfg['seed_bonus_enabled']) ? ''. $profiledata['user_points'] .' ' : '';
+ $html .= ($di->config->get('seed_bonus_enabled')) ? ''. $profiledata['user_points'] .' ' : '';
$html .= '
';
$this->response['user_ratio'] = '
- '. $lang['SPEED'] .'
'. $lang['DL_DL_SPEED'] .': '. $speed_down .'
'. $lang['DL_UL_SPEED'] .': '. $speed_up .' ';
- $html .= ($bb_cfg['seed_bonus_enabled']) ? '' : '';
+ $html .= ($di->config->get('seed_bonus_enabled')) ? ' ' : '';
$html .= ' '. $lang['USER_RATIO'] .':
+ '. $lang['USER_RATIO'] .':
'. $user_ratio .'
';
break;
diff --git a/library/ajax/manage_admin.php b/library/ajax/manage_admin.php
index 6d22c3c95..63069f346 100644
--- a/library/ajax/manage_admin.php
+++ b/library/ajax/manage_admin.php
@@ -2,7 +2,7 @@
if (!defined('IN_AJAX')) die(basename(__FILE__));
-global $userdata, $lang, $bb_cfg;
+global $userdata, $lang;
/** @var \TorrentPier\Di $di */
$di = \TorrentPier\Di::getInstance();
@@ -55,22 +55,22 @@ switch ($mode)
case 'indexer':
- exec("indexer --config {$bb_cfg['sphinx_config_path']} --all --rotate", $result);
+ exec("indexer --config {$di->config->get('sphinx_config_path')} --all --rotate", $result);
- if (!is_file($bb_cfg['sphinx_config_path'].".log"))
+ if (!is_file($di->config->get('sphinx_config_path').".log"))
{
- file_put_contents($bb_cfg['sphinx_config_path'].".log", "####Logger from dimka3210.####".date("H:i:s", TIMENOW)."##############################\r\n\r\n\r\n\r\n", FILE_APPEND);
+ file_put_contents($di->config->get('sphinx_config_path').".log", "####Logger from dimka3210.####".date("H:i:s", TIMENOW)."##############################\r\n\r\n\r\n\r\n", FILE_APPEND);
}
- file_put_contents($bb_cfg['sphinx_config_path'].".log", "##############################".date("H:i:s", TIMENOW)."##############################\r\n", FILE_APPEND);
+ file_put_contents($di->config->get('sphinx_config_path').".log", "##############################".date("H:i:s", TIMENOW)."##############################\r\n", FILE_APPEND);
foreach ($result as $row)
{
- file_put_contents($bb_cfg['sphinx_config_path'].".log", $row."\r\n", FILE_APPEND);
+ file_put_contents($di->config->get('sphinx_config_path').".log", $row."\r\n", FILE_APPEND);
}
- file_put_contents($bb_cfg['sphinx_config_path'].".log", "\r\n", FILE_APPEND);
- file_put_contents($bb_cfg['sphinx_config_path'].".log", "\r\n", FILE_APPEND);
+ file_put_contents($di->config->get('sphinx_config_path').".log", "\r\n", FILE_APPEND);
+ file_put_contents($di->config->get('sphinx_config_path').".log", "\r\n", FILE_APPEND);
$this->response['indexer_html'] = ''. $lang['INDEXER'] .'';
diff --git a/library/ajax/manage_user.php b/library/ajax/manage_user.php
index b1783e083..df31ade5a 100644
--- a/library/ajax/manage_user.php
+++ b/library/ajax/manage_user.php
@@ -2,7 +2,10 @@
if (!defined('IN_AJAX')) die(basename(__FILE__));
-global $userdata, $lang, $bb_cfg;
+global $userdata, $lang;
+
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
$mode = (string) $this->request['mode'];
$user_id = $this->request['user_id'];
diff --git a/library/ajax/mod_action.php b/library/ajax/mod_action.php
index 68a158432..b9d7c9d7b 100644
--- a/library/ajax/mod_action.php
+++ b/library/ajax/mod_action.php
@@ -2,7 +2,10 @@
if (!defined('IN_AJAX')) die(basename(__FILE__));
-global $userdata, $bb_cfg, $lang, $datastore;
+global $userdata, $lang, $datastore;
+
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
$mode = (string) $this->request['mode'];
@@ -25,7 +28,7 @@ switch ($mode)
change_tor_status($topic_id, $status);
}
- $this->response['status'] = $bb_cfg['tor_icons'][$status];
+ $this->response['status'] = $di->config->get('tor_icons.' . $status);
$this->response['topics'] = $topic_ids;
break;
@@ -48,15 +51,15 @@ switch ($mode)
DB()->query("UPDATE ". BB_TOPICS ." SET topic_title = '$topic_title_sql' WHERE topic_id = $topic_id LIMIT 1");
// Обновление кеша новостей на главной
- $news_forums = array_flip(explode(',', $bb_cfg['latest_news_forum_id']));
- if (isset($news_forums[$t_data['forum_id']]) && $bb_cfg['show_latest_news'])
+ $news_forums = array_flip(explode(',', $di->config->get('latest_news_forum_id')));
+ if (isset($news_forums[$t_data['forum_id']]) && $di->config->get('show_latest_news'))
{
$datastore->enqueue('latest_news');
$datastore->update('latest_news');
}
- $net_forums = array_flip(explode(',', $bb_cfg['network_news_forum_id']));
- if (isset($net_forums[$t_data['forum_id']]) && $bb_cfg['show_network_news'])
+ $net_forums = array_flip(explode(',', $di->config->get('network_news_forum_id')));
+ if (isset($net_forums[$t_data['forum_id']]) && $di->config->get('show_network_news'))
{
$datastore->enqueue('network_news');
$datastore->update('network_news');
@@ -109,8 +112,8 @@ switch ($mode)
{
$user_reg_ip = decode_ip($profiledata['user_reg_ip']);
$user_last_ip = decode_ip($profiledata['user_last_ip']);
- $reg_ip = ''. $user_reg_ip .'';
- $last_ip = ''. $user_last_ip .'';
+ $reg_ip = ''. $user_reg_ip .'';
+ $last_ip = ''. $user_last_ip .'';
}
$this->response['ip_list_html'] = '
diff --git a/library/ajax/posts.php b/library/ajax/posts.php
index e518f305b..143844e50 100644
--- a/library/ajax/posts.php
+++ b/library/ajax/posts.php
@@ -2,7 +2,10 @@
if (!defined('IN_AJAX')) die(basename(__FILE__));
-global $lang, $bb_cfg, $userdata;
+global $lang, $userdata;
+
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
if (!isset($this->request['type']))
{
@@ -138,12 +141,12 @@ switch($this->request['type'])
{
if ($text != $post['post_text'])
{
- if ($bb_cfg['max_smilies'])
+ if ($di->config->get('max_smilies'))
{
- $count_smilies = substr_count(bbcode2html($text), 'request['type'])
{
if ($userdata['user_level'] == USER)
{
- if (TIMENOW - $row['last_post_time'] < $bb_cfg['flood_interval'])
+ if (TIMENOW - $row['last_post_time'] < $di->config->get('flood_interval'))
{
$this->ajax_die($lang['FLOOD_ERROR']);
}
@@ -287,12 +290,12 @@ switch($this->request['type'])
}
}
- if ($bb_cfg['max_smilies'])
+ if ($di->config->get('max_smilies'))
{
- $count_smilies = substr_count(bbcode2html($message), '
'.make_url('sitemap.xml').'';
+ $html .= $lang['SITEMAP_CREATED'].': '.bb_date(TIMENOW, $di->config->get('post_date_format')).' '.$lang['SITEMAP_AVAILABLE'].': '.make_url('sitemap.xml').'';
} else {
$html .= $lang['SITEMAP_NOT_CREATED'];
}
diff --git a/library/ajax/user_register.php b/library/ajax/user_register.php
index 818b95c28..66ec1cde7 100644
--- a/library/ajax/user_register.php
+++ b/library/ajax/user_register.php
@@ -2,7 +2,10 @@
if (!defined('IN_AJAX')) die(basename(__FILE__));
-global $bb_cfg, $lang, $userdata;
+global $lang, $userdata;
+
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
$mode = (string) $this->request['mode'];
diff --git a/library/ajax/view_torrent.php b/library/ajax/view_torrent.php
index f2cd345e9..8373f29d7 100644
--- a/library/ajax/view_torrent.php
+++ b/library/ajax/view_torrent.php
@@ -155,11 +155,14 @@ class torrent
function build_file_item ($name, $length)
{
- global $bb_cfg, $images, $lang;
+ global $images, $lang;
+
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
$magnet_name = $magnet_ext = '';
- if ($bb_cfg['magnet_links_enabled'])
+ if ($di->config->get('magnet_links_enabled'))
{
$magnet_name = '
';
$magnet_ext = '
';
diff --git a/library/config.php b/library/config.php
index c2901a69f..3ce4f4827 100644
--- a/library/config.php
+++ b/library/config.php
@@ -110,7 +110,6 @@ $config = [
// Cache
'cache' => [
- 'pconnect' => true,
'db_dir' => realpath(BB_ROOT) .'/internal_data/cache/filecache/',
'prefix' => 'tp_', // Префикс кеша ('tp_')
'memcache' => [
@@ -123,16 +122,6 @@ $config = [
'host' => '127.0.0.1',
'port' => 6379,
'con_required' => true,
- ],
- 'engines' => [
- // Available cache types: memcache, sqlite, redis, apc, xcache (default of filecache)
- # name => array( (string) type, (array) cfg )
- 'bb_cache' => ['filecache', []],
- 'bb_config' => ['filecache', []],
- 'tr_cache' => ['filecache', []],
- 'session_cache' => ['filecache', []],
- 'bb_login_err' => ['filecache', []],
- 'bb_poll_data' => ['filecache', []],
]
],
@@ -205,7 +194,6 @@ $config = [
// Language
'charset' => 'utf8', // page charset
- 'auto_language' => true, // select user-preferred language automatically
'lang' => [
'ru' => [
'name' => 'Русский',
@@ -361,9 +349,9 @@ $config = [
// PM
'privmsg_disable' => false, // отключить систему личных сообщений на форуме
'max_outgoing_pm_cnt' => 10, // ограничение на кол. одновременных исходящих лс (для замедления рассылки спама)
- 'max_inbox_privmsgs' => 200, // максимальное число сообщений в папке входящие
- 'max_savebox_privmsgs' => 25, // максимальное число сообщений в папке сохраненные
- 'max_sentbox_privmsgs' => 50, // максимальное число сообщений в папке отправленные
+ 'max_inbox_privmsgs' => 500, // максимальное число сообщений в папке входящие (удалить)
+ 'max_savebox_privmsgs' => 500, // максимальное число сообщений в папке сохраненные (удалить)
+ 'max_sentbox_privmsgs' => 500, // максимальное число сообщений в папке отправленные (удалить)
'pm_days_keep' => 180, // время хранения ЛС
// Actions log
@@ -523,33 +511,72 @@ $config = [
'0.4' => 1,
'0.5' => 2,
'0.6' => 3,
- ]
+ ],
+
+ // Иконки статусов раздач
+ 'tor_icons' => [
+ TOR_NOT_APPROVED => ' ',
+ TOR_CLOSED => ' ',
+ TOR_APPROVED => ' ',
+ TOR_NEED_EDIT => ' ',
+ TOR_NO_DESC => ' ',
+ TOR_DUP => ' ',
+ TOR_CLOSED_CPHOLD => ' ',
+ TOR_CONSUMED => ' ',
+ TOR_DOUBTFUL => ' ',
+ TOR_CHECKING => ' ',
+ TOR_TMP => ' ',
+ TOR_PREMOD => ' ',
+ ],
+
+ // Запрет на скачивание
+ 'tor_frozen' => [
+ TOR_CHECKING => true,
+ TOR_CLOSED => true,
+ TOR_CLOSED_CPHOLD => true,
+ TOR_CONSUMED => true,
+ TOR_DUP => true,
+ TOR_NO_DESC => true,
+ TOR_PREMOD => true,
+ ],
+
+ // Разрешение на скачку автором, если закрыто на скачивание.
+ 'tor_frozen_author_download' => [
+ TOR_CHECKING => true,
+ TOR_NO_DESC => true,
+ TOR_PREMOD => true,
+ ],
+
+ // Запрет на редактирование головного сообщения
+ 'tor_cannot_edit' => [
+ TOR_CHECKING => true,
+ TOR_CLOSED => true,
+ TOR_CONSUMED => true,
+ TOR_DUP => true,
+ ],
+
+ // Запрет на создание новых раздач если стоит статус недооформлено/неоформлено/сомнительно
+ 'tor_cannot_new' => [TOR_NEED_EDIT, TOR_NO_DESC, TOR_DOUBTFUL],
+
+ // Разрешение на ответ релизера, если раздача исправлена.
+ 'tor_reply' => [TOR_NEED_EDIT, TOR_NO_DESC, TOR_DOUBTFUL],
+
+ // Если такой статус у релиза, то статистика раздачи будет скрыта
+ 'tor_no_tor_act' => [
+ TOR_CLOSED => true,
+ TOR_DUP => true,
+ TOR_CLOSED_CPHOLD => true,
+ TOR_CONSUMED => true,
+ ],
+
+ // Vote graphic length defines the maximum length of a vote result graphic, ie. 100% = this length
+ 'vote_graphic_length' => 205,
+ 'privmsg_graphic_length' => 175,
+ 'topic_left_column_witdh' => 150,
+
+ // Images auto-resize
+ 'post_img_width_decr' => 52,
+ 'attach_img_width_decr' => 130,
];
-if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && $config['auto_language'])
-{
- $user_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
- if (file_exists(LANG_ROOT_DIR . $user_lang .'/'))
- {
- $config['default_lang_dir'] = LANG_ROOT_DIR . $user_lang .'/';
- $config['default_lang'] = $user_lang;
- }
- else
- {
- $config['default_lang_dir'] = LANG_ROOT_DIR .'en/';
- $config['default_lang'] = 'en';
- }
-}
-else
-{
- if (isset($config['default_lang']) && file_exists(LANG_ROOT_DIR . $config['default_lang'] .'/'))
- {
- $config['default_lang_dir'] = LANG_ROOT_DIR . $config['default_lang'] .'/';
- }
- else
- {
- $config['default_lang_dir'] = LANG_ROOT_DIR .'en/';
- }
-}
-
return $config;
diff --git a/library/defines.php b/library/defines.php
index 0cf6be440..660029f16 100644
--- a/library/defines.php
+++ b/library/defines.php
@@ -61,4 +61,20 @@ define('CRON_RUNNING', TRIGGERS_DIR .'cron_running');
// Misc
define('MEM_USAGE', function_exists('memory_get_usage'));
-define('GZIP_OUTPUT_ALLOWED', (extension_loaded('zlib') && !ini_get('zlib.output_compression')));
\ No newline at end of file
+// Gzip
+define('GZIP_OUTPUT_ALLOWED', (extension_loaded('zlib') && !ini_get('zlib.output_compression')));
+
+// TODO: temporary, move to another place
+// Torrents (reserved: -1)
+define('TOR_NOT_APPROVED', 0); // не проверено
+define('TOR_CLOSED', 1); // закрыто
+define('TOR_APPROVED', 2); // проверено
+define('TOR_NEED_EDIT', 3); // недооформлено
+define('TOR_NO_DESC', 4); // неоформлено
+define('TOR_DUP', 5); // повтор
+define('TOR_CLOSED_CPHOLD', 6); // закрыто правообладателем
+define('TOR_CONSUMED', 7); // поглощено
+define('TOR_DOUBTFUL', 8); // сомнительно
+define('TOR_CHECKING', 9); // проверяется
+define('TOR_TMP', 10); // временная
+define('TOR_PREMOD', 11); // премодерация
\ No newline at end of file
diff --git a/library/includes/bbcode.php b/library/includes/bbcode.php
index 9c260d7d9..ede32bb49 100644
--- a/library/includes/bbcode.php
+++ b/library/includes/bbcode.php
@@ -96,7 +96,10 @@ function prepare_message ($message)
// Either in a window or inline
function generate_smilies($mode)
{
- global $bb_cfg, $template, $lang, $datastore;
+ global $template, $lang, $datastore;
+
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
$inline_columns = 4;
$inline_rows = 7;
@@ -136,7 +139,7 @@ function generate_smilies($mode)
$template->assign_block_vars('smilies_row.smilies_col', array(
'SMILEY_CODE' => $data['code'],
- 'SMILEY_IMG' => $bb_cfg['smilies_path'] . '/' . $smile_url,
+ 'SMILEY_IMG' => $di->config->get('smilies_path') . '/' . $smile_url,
'SMILEY_DESC' => $data['emoticon'],
));
@@ -347,11 +350,12 @@ function strip_bbcode ($message, $stripquotes = true, $fast_and_dirty = false, $
function extract_search_words ($text)
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
- $max_words_count = $bb_cfg['max_search_words_per_post'];
- $min_word_len = max(2, $bb_cfg['search_min_word_len'] - 1);
- $max_word_len = $bb_cfg['search_max_word_len'];
+ $max_words_count = $di->config->get('max_search_words_per_post');
+ $min_word_len = max(2, $di->config->get('search_min_word_len') - 1);
+ $max_word_len = $di->config->get('search_max_word_len');
$text = ' ' . str_compact(strip_tags(mb_strtolower($text))) . ' ';
$text = str_replace(array('[', ']'), array('[', ']'), $text);
@@ -415,12 +419,13 @@ function replace_synonyms ($text)
function add_search_words ($post_id, $post_message, $topic_title = '', $only_return_words = false)
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
$text = $topic_title .' '. $post_message;
$words = ($text) ? extract_search_words($text) : array();
- if ($only_return_words || $bb_cfg['sphinx_enabled'])
+ if ($only_return_words || $di->config->get('sphinx_enabled'))
{
return join("\n", $words);
}
@@ -557,7 +562,8 @@ class bbcode
*/
function bbcode2html ($text)
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
$text = " $text ";
$text = $this->clean_up($text);
@@ -594,7 +600,7 @@ class bbcode
$text = $this->new_line2html($text);
$text = trim($text);
- if ($bb_cfg['tidy_post'])
+ if ($di->config->get('tidy_post'))
{
$text = $this->tidy($text);
}
@@ -627,7 +633,9 @@ class bbcode
*/
private function spam_filter ($text)
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
+
static $spam_words = null;
static $spam_replace = ' СПАМ';
@@ -637,13 +645,13 @@ class bbcode
}
// set $spam_words and $spam_replace
- if (!$bb_cfg['spam_filter_file_path'])
+ if (!$di->config->get('spam_filter_file_path'))
{
return $text;
}
if (is_null($spam_words))
{
- $spam_words = file_get_contents($bb_cfg['spam_filter_file_path']);
+ $spam_words = file_get_contents($di->config->get('spam_filter_file_path'));
$spam_words = strtolower($spam_words);
$spam_words = explode("\n", $spam_words);
}
@@ -713,14 +721,15 @@ class bbcode
*/
function url_callback ($m)
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
$url = trim($m[1]);
$url_name = (isset($m[2])) ? trim($m[2]) : $url;
if (!preg_match("#^https?://#isu", $url) && !preg_match("/^#/", $url)) $url = 'http://' . $url;
- if (in_array(parse_url($url, PHP_URL_HOST), $bb_cfg['nofollow']['allowed_url']) || $bb_cfg['nofollow']['disabled'])
+ if (in_array(parse_url($url, PHP_URL_HOST), $di->config->get('nofollow.allowed_url')) || $di->config->get('nofollow.disabled'))
{
$link = "$url_name";
}
@@ -791,13 +800,14 @@ class bbcode
*/
function make_url_clickable_callback ($m)
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
$max_len = 70;
$href = $m[1];
$name = (mb_strlen($href, 'UTF-8') > $max_len) ? mb_substr($href, 0, $max_len - 19) .'...'. mb_substr($href, -16) : $href;
- if (in_array(parse_url($href, PHP_URL_HOST), $bb_cfg['nofollow']['allowed_url']) || $bb_cfg['nofollow']['disabled'])
+ if (in_array(parse_url($href, PHP_URL_HOST), $di->config->get('nofollow.allowed_url')) || $di->config->get('nofollow.disabled'))
{
$link = "$name";
}
@@ -972,15 +982,18 @@ function get_words_rate ($text)
function hide_passkey ($str)
{
- global $bb_cfg;
- return preg_replace("#\?{$bb_cfg['passkey_key']}=[a-zA-Z0-9]{". BT_AUTH_KEY_LENGTH ."}#", "?{$bb_cfg['passkey_key']}=passkey", $str);
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
+
+ return preg_replace("#\?{$di->config->get('passkey_key')}=[a-zA-Z0-9]{". BT_AUTH_KEY_LENGTH ."}#", "?{$di->config->get('passkey_key')}=passkey", $str);
}
function get_parsed_post ($postrow, $mode = 'full', $return_chars = 600)
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
- if ($bb_cfg['use_posts_cache'] && !empty($postrow['post_html']))
+ if ($di->config->get('use_posts_cache') && !empty($postrow['post_html']))
{
return $postrow['post_html'];
}
@@ -988,7 +1001,7 @@ function get_parsed_post ($postrow, $mode = 'full', $return_chars = 600)
$message = bbcode2html($postrow['post_text']);
// Posts cache
- if ($bb_cfg['use_posts_cache'])
+ if ($di->config->get('use_posts_cache'))
{
DB()->shutdown['post_html'][] = array(
'post_id' => (int) $postrow['post_id'],
diff --git a/library/includes/classes/emailer.php b/library/includes/classes/emailer.php
index a2f6dab67..86d750938 100644
--- a/library/includes/classes/emailer.php
+++ b/library/includes/classes/emailer.php
@@ -15,26 +15,24 @@ class emailer
function emailer ($use_smtp/*$tpl_name, $sbj, $to_address*/)
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
$this->reset();
- $this->from = $bb_cfg['board_email'];
- $this->reply_to = $bb_cfg['board_email'];
- $this->use_smtp = $use_smtp; /*!empty($bb_cfg['smtp_host']);
-
- $this->use_template($tpl_name);
- $this->set_subject($sbj);
- $this->email_address($to_address);*/
+ $this->from = $di->config->get('board_email');
+ $this->reply_to = $di->config->get('board_email');
+ $this->use_smtp = $use_smtp;
}
function set_default_vars ()
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
$this->vars = array(
- 'BOARD_EMAIL' => $bb_cfg['board_email'],
- 'SITENAME' => $bb_cfg['board_email_sitename'],
- 'EMAIL_SIG' => !empty($bb_cfg['board_email_sig']) ? "-- \n{$bb_cfg['board_email_sig']}" : '',
+ 'BOARD_EMAIL' => $di->config->get('board_email'),
+ 'SITENAME' => $di->config->get('board_email_sitename'),
+ 'EMAIL_SIG' => !empty($di->config->get('board_email_sig')) ? "-- \n{$di->config->get('board_email_sig')}" : '',
);
}
@@ -86,7 +84,8 @@ class emailer
function use_template ($template_file, $template_lang = '')
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
if (trim($template_file) == '')
{
@@ -95,7 +94,7 @@ class emailer
if (trim($template_lang) == '')
{
- $template_lang = $bb_cfg['default_lang'];
+ $template_lang = $di->config->get('default_lang');
}
if (empty($this->tpl_msg[$template_lang . $template_file]))
@@ -104,7 +103,7 @@ class emailer
if (!file_exists(bb_realpath($tpl_file)))
{
- $tpl_file = LANG_ROOT_DIR ."{$bb_cfg['default_lang']}/email/$template_file.html";
+ $tpl_file = LANG_ROOT_DIR ."{$di->config->get('default_lang')}/email/$template_file.html";
if (!file_exists(bb_realpath($tpl_file)))
{
@@ -135,9 +134,12 @@ class emailer
// Send the mail out to the recipients set previously in var $this->address
function send ($email_format = 'text')
{
- global $bb_cfg, $userdata;
+ global $userdata;
- if ($bb_cfg['emailer_disabled'])
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
+
+ if ($di->config->get('emailer_disabled'))
{
return false;
}
@@ -178,12 +180,12 @@ class emailer
if (preg_match('#^(Charset:(.*?))$#m', $this->msg, $match))
{
- $this->encoding = (trim($match[2]) != '') ? trim($match[2]) : trim($bb_cfg['lang'][$userdata['user_lang']]['encoding']);
+ $this->encoding = (trim($match[2]) != '') ? trim($match[2]) : trim($di->config->get('lang.' . $userdata['user_lang'] . '.encoding'));
$drop_header .= '[\r\n]*?' . preg_quote($match[1], '#');
}
else
{
- $this->encoding = trim($bb_cfg['lang'][$userdata['user_lang']]['encoding']);
+ $this->encoding = trim($di->config->get('lang.' . $userdata['user_lang'] . '.encoding'));
}
$this->subject = $this->encode($this->subject);
@@ -199,7 +201,7 @@ class emailer
// Build header
$type = ($email_format == 'html') ? 'html' : 'plain';
- $this->extra_headers = (($this->reply_to != '') ? "Reply-to: $this->reply_to\n" : '') . (($this->from != '') ? "From: $this->from\n" : "From: " . $bb_cfg['board_email'] . "\n") . "Return-Path: " . $bb_cfg['board_email'] . "\nMessage-ID: <" . md5(uniqid(TIMENOW)) . "@" . $bb_cfg['server_name'] . ">\nMIME-Version: 1.0\nContent-type: text/$type; charset=" . $this->encoding . "\nContent-transfer-encoding: 8bit\nDate: " . date('r', TIMENOW) . "\nX-Priority: 0\nX-MSMail-Priority: Normal\nX-Mailer: Microsoft Office Outlook, Build 11.0.5510\nX-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441\nX-Sender: " . $bb_cfg['board_email'] . "\n" . $this->extra_headers . (($cc != '') ? "Cc: $cc\n" : '') . (($bcc != '') ? "Bcc: $bcc\n" : '');
+ $this->extra_headers = (($this->reply_to != '') ? "Reply-to: $this->reply_to\n" : '') . (($this->from != '') ? "From: $this->from\n" : "From: " . $di->config->get('board_email') . "\n") . "Return-Path: " . $di->config->get('board_email') . "\nMessage-ID: <" . md5(uniqid(TIMENOW)) . "@" . $di->config->get('server_name') . ">\nMIME-Version: 1.0\nContent-type: text/$type; charset=" . $this->encoding . "\nContent-transfer-encoding: 8bit\nDate: " . date('r', TIMENOW) . "\nX-Priority: 0\nX-MSMail-Priority: Normal\nX-Mailer: Microsoft Office Outlook, Build 11.0.5510\nX-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441\nX-Sender: " . $di->config->get('board_email') . "\n" . $this->extra_headers . (($cc != '') ? "Cc: $cc\n" : '') . (($bcc != '') ? "Bcc: $bcc\n" : '');
// Send message
if ($this->use_smtp)
diff --git a/library/includes/classes/sitemap.php b/library/includes/classes/sitemap.php
index dbe56862a..e59f522e3 100644
--- a/library/includes/classes/sitemap.php
+++ b/library/includes/classes/sitemap.php
@@ -120,14 +120,15 @@ class sitemap
}
function get_static () {
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
$xml = '';
$lm = date('c');
$this->priority = $this->stat_priority;
- if (isset($bb_cfg['static_sitemap'])) {
- $static_url = preg_replace("/\s/", '', $bb_cfg['static_sitemap']); //вырезаем переносы строк
+ if ($di->config->get('static_sitemap')) {
+ $static_url = preg_replace("/\s/", '', $di->config->get('static_sitemap')); //вырезаем переносы строк
preg_match_all('#(https?://[\w-]+[\.\w-]+/((?!https?://)[\w- ./?%&=])+)#', $static_url, $out);
$static_url = count($out['0']);
diff --git a/library/includes/cron/jobs/board_maintenance.php b/library/includes/cron/jobs/board_maintenance.php
index fb14a1b16..dc7bae484 100644
--- a/library/includes/cron/jobs/board_maintenance.php
+++ b/library/includes/cron/jobs/board_maintenance.php
@@ -2,6 +2,9 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
+
require_once(INC_DIR .'functions_admin.php');
// Синхронизация
@@ -10,7 +13,7 @@ sync('user_posts', 'all');
sync_all_forums();
// Чистка bb_poll_users
-if ($poll_max_days = (int) $bb_cfg['poll_max_days'])
+if ($poll_max_days = (int) $di->config->get('poll_max_days'))
{
$per_cycle = 20000;
$row = DB()->fetch_row("SELECT MIN(topic_id) AS start_id, MAX(topic_id) AS finish_id FROM ". BB_POLL_USERS);
@@ -43,7 +46,7 @@ if ($poll_max_days = (int) $bb_cfg['poll_max_days'])
DB()->query("UPDATE ". BB_USERS ." SET user_newpasswd = '' WHERE user_lastvisit < ". (TIMENOW - 7*86400));
// Чистка кеша постов
-if ($posts_days = intval($bb_cfg['posts_cache_days_keep']))
+if ($posts_days = intval($di->config->get('posts_cache_days_keep')))
{
DB()->query("DELETE FROM ". BB_POSTS_HTML ." WHERE post_html_time < DATE_SUB(NOW(), INTERVAL $posts_days DAY)");
}
\ No newline at end of file
diff --git a/library/includes/cron/jobs/clean_dlstat.php b/library/includes/cron/jobs/clean_dlstat.php
index 5c19c66dc..6e0698cc2 100644
--- a/library/includes/cron/jobs/clean_dlstat.php
+++ b/library/includes/cron/jobs/clean_dlstat.php
@@ -2,12 +2,15 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
+
// Delete staled dl-status records
$keeping_dlstat = array(
- DL_STATUS_WILL => (int) $bb_cfg['dl_will_days_keep'],
- DL_STATUS_DOWN => (int) $bb_cfg['dl_down_days_keep'],
- DL_STATUS_COMPLETE => (int) $bb_cfg['dl_complete_days_keep'],
- DL_STATUS_CANCEL => (int) $bb_cfg['dl_cancel_days_keep'],
+ DL_STATUS_WILL => (int) $di->config->get('dl_will_days_keep'),
+ DL_STATUS_DOWN => (int) $di->config->get('dl_down_days_keep'),
+ DL_STATUS_COMPLETE => (int) $di->config->get('dl_complete_days_keep'),
+ DL_STATUS_CANCEL => (int) $di->config->get('dl_cancel_days_keep'),
);
$delete_dlstat_sql = array();
@@ -45,7 +48,7 @@ DB()->query("
");
// Tor-Stats cleanup
-if ($torstat_days_keep = intval($bb_cfg['torstat_days_keep']))
+if ($torstat_days_keep = intval($di->config->get('torstat_days_keep')))
{
DB()->query("DELETE QUICK FROM ". BB_BT_TORSTAT ." WHERE last_modified_torstat < DATE_SUB(NOW(), INTERVAL $torstat_days_keep DAY)");
}
diff --git a/library/includes/cron/jobs/clean_log.php b/library/includes/cron/jobs/clean_log.php
index 9fb3455e0..96ef50020 100644
--- a/library/includes/cron/jobs/clean_log.php
+++ b/library/includes/cron/jobs/clean_log.php
@@ -2,7 +2,10 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
-$log_days_keep = (int) $bb_cfg['log_days_keep'];
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
+
+$log_days_keep = (int) $di->config->get('log_days_keep');
DB()->query("
DELETE FROM ". BB_LOG ."
diff --git a/library/includes/cron/jobs/prune_forums.php b/library/includes/cron/jobs/prune_forums.php
index 303b7ff4a..3b5e48e82 100644
--- a/library/includes/cron/jobs/prune_forums.php
+++ b/library/includes/cron/jobs/prune_forums.php
@@ -2,9 +2,12 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
+
require_once(INC_DIR .'functions_admin.php');
-if ($bb_cfg['prune_enable'])
+if ($di->config->get('prune_enable'))
{
$sql = "SELECT forum_id, prune_days FROM ". BB_FORUMS ." WHERE prune_days != 0";
diff --git a/library/includes/cron/jobs/prune_inactive_users.php b/library/includes/cron/jobs/prune_inactive_users.php
index 6634856a1..c763d8c15 100644
--- a/library/includes/cron/jobs/prune_inactive_users.php
+++ b/library/includes/cron/jobs/prune_inactive_users.php
@@ -2,6 +2,9 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
+
require_once(INC_DIR .'functions_admin.php');
$users_per_cycle = 1000;
@@ -12,7 +15,7 @@ while (true)
$prune_users = $not_activated_users = $not_active_users = array();
- if ($not_activated_days = intval($bb_cfg['user_not_activated_days_keep']))
+ if ($not_activated_days = intval($di->config->get('user_not_activated_days_keep')))
{
$sql = DB()->fetch_rowset("SELECT user_id FROM ". BB_USERS ."
WHERE user_level = 0
@@ -28,7 +31,7 @@ while (true)
}
}
- if ($not_active_days = intval($bb_cfg['user_not_active_days_keep']))
+ if ($not_active_days = intval($di->config->get('user_not_active_days_keep')))
{
$sql = DB()->fetch_rowset("SELECT user_id FROM ". BB_USERS ."
WHERE user_level = 0
diff --git a/library/includes/cron/jobs/prune_topic_moved.php b/library/includes/cron/jobs/prune_topic_moved.php
index 4624718a2..519540ac3 100644
--- a/library/includes/cron/jobs/prune_topic_moved.php
+++ b/library/includes/cron/jobs/prune_topic_moved.php
@@ -2,9 +2,12 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
-if ($bb_cfg['topic_moved_days_keep'])
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
+
+if ($di->config->get('topic_moved_days_keep'))
{
- $prune_time = TIMENOW - 86400*$bb_cfg['topic_moved_days_keep'];
+ $prune_time = TIMENOW - 86400*$di->config->get('topic_moved_days_keep');
DB()->query("
DELETE FROM ". BB_TOPICS ."
diff --git a/library/includes/cron/jobs/sessions_cleanup.php b/library/includes/cron/jobs/sessions_cleanup.php
index 81ea0c841..ff76d0a12 100644
--- a/library/includes/cron/jobs/sessions_cleanup.php
+++ b/library/includes/cron/jobs/sessions_cleanup.php
@@ -2,10 +2,13 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
-$user_session_expire_time = TIMENOW - intval($bb_cfg['user_session_duration']);
-$admin_session_expire_time = TIMENOW - intval($bb_cfg['admin_session_duration']);
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
-$user_session_gc_time = $user_session_expire_time - intval($bb_cfg['user_session_gc_ttl']);
+$user_session_expire_time = TIMENOW - intval($di->config->get('user_session_duration'));
+$admin_session_expire_time = TIMENOW - intval($di->config->get('admin_session_duration'));
+
+$user_session_gc_time = $user_session_expire_time - intval($di->config->get('user_session_gc_ttl'));
$admin_session_gc_time = $admin_session_expire_time;
// ############################ Tables LOCKED ################################
diff --git a/library/includes/cron/jobs/tr_cleanup_and_dlstat.php b/library/includes/cron/jobs/tr_cleanup_and_dlstat.php
index d27e11905..2c36ef4ad 100644
--- a/library/includes/cron/jobs/tr_cleanup_and_dlstat.php
+++ b/library/includes/cron/jobs/tr_cleanup_and_dlstat.php
@@ -2,6 +2,9 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
+
$releaser = DL_STATUS_RELEASER;
define('NEW_BB_BT_LAST_TORSTAT', 'new_bt_last_torstat');
@@ -58,7 +61,7 @@ DB()->query("
// Clean peers table
if ($tr_cfg['autoclean'])
{
- $announce_interval = max(intval($bb_cfg['announce_interval']), 60);
+ $announce_interval = max(intval($di->config->get('announce_interval')), 60);
$expire_factor = max(floatval($tr_cfg['expire_factor']), 1);
$peer_expire_time = TIMENOW - floor($announce_interval * $expire_factor);
@@ -94,7 +97,7 @@ if ($tr_cfg['update_dlstat'])
// Update TOTAL user's dlstat
// This is not needed if Ocelot enabled. It's important.
- if (!$bb_cfg['ocelot']['enabled'])
+ if (!$di->config->get('ocelot.enabled'))
{
DB()->query("
UPDATE
diff --git a/library/includes/cron/jobs/tr_complete_count.php b/library/includes/cron/jobs/tr_complete_count.php
index 66230187e..abd2361a5 100644
--- a/library/includes/cron/jobs/tr_complete_count.php
+++ b/library/includes/cron/jobs/tr_complete_count.php
@@ -2,9 +2,10 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
-global $bb_cfg;
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
-if ($bb_cfg['ocelot']['enabled'])
+if ($di->config->get('ocelot.enabled'))
{
// Update TORRENT "completed" counters
DB()->query("
diff --git a/library/includes/cron/jobs/tr_maintenance.php b/library/includes/cron/jobs/tr_maintenance.php
index 05644fe81..c7e864edc 100644
--- a/library/includes/cron/jobs/tr_maintenance.php
+++ b/library/includes/cron/jobs/tr_maintenance.php
@@ -2,13 +2,16 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
-if (empty($bb_cfg['seeder_last_seen_days_keep']) || empty($bb_cfg['seeder_never_seen_days_keep']))
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
+
+if (empty($di->config->get('seeder_last_seen_days_keep')) || empty($di->config->get('seeder_never_seen_days_keep')))
{
return;
}
-$last_seen_time = TIMENOW - 86400*$bb_cfg['seeder_last_seen_days_keep'];
-$never_seen_time = TIMENOW - 86400*$bb_cfg['seeder_never_seen_days_keep'];
+$last_seen_time = TIMENOW - 86400*$di->config->get('seeder_last_seen_days_keep');
+$never_seen_time = TIMENOW - 86400*$di->config->get('seeder_never_seen_days_keep');
$limit_sql = 3000;
$topics_sql = [];
diff --git a/library/includes/cron/jobs/tr_make_snapshot.php b/library/includes/cron/jobs/tr_make_snapshot.php
index 7f5041188..5302ae906 100644
--- a/library/includes/cron/jobs/tr_make_snapshot.php
+++ b/library/includes/cron/jobs/tr_make_snapshot.php
@@ -2,14 +2,15 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
-global $bb_cfg;
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
DB()->expect_slow_query(600);
//
// Make tracker snapshot
//
-if (!$bb_cfg['ocelot']['enabled'])
+if (!$di->config->get('ocelot.enabled'))
{
define('NEW_BB_BT_TRACKER_SNAP', 'new_tracker_snap');
define('OLD_BB_BT_TRACKER_SNAP', 'old_tracker_snap');
@@ -30,7 +31,7 @@ while (true)
$val = array();
- if (!$bb_cfg['ocelot']['enabled'])
+ if (!$di->config->get('ocelot.enabled'))
{
$sql = "
SELECT
@@ -59,7 +60,7 @@ while (true)
if ($val)
{
- if (!$bb_cfg['ocelot']['enabled'])
+ if (!$di->config->get('ocelot.enabled'))
{
DB()->query("
REPLACE INTO " . NEW_BB_BT_TRACKER_SNAP . "
@@ -91,7 +92,7 @@ while (true)
$start_id += $per_cycle;
}
-if (!$bb_cfg['ocelot']['enabled'])
+if (!$di->config->get('ocelot.enabled'))
{
DB()->query("
RENAME TABLE
@@ -112,7 +113,7 @@ DB()->query("DROP TABLE IF EXISTS ". NEW_BB_BT_DLSTATUS_SNAP .", ". OLD_BB_BT_DL
DB()->query("CREATE TABLE ". NEW_BB_BT_DLSTATUS_SNAP ." LIKE ". BB_BT_DLSTATUS_SNAP);
-if ($bb_cfg['bt_show_dl_list'] && $bb_cfg['bt_dl_list_only_count'])
+if ($di->config->get('bt_show_dl_list') && $di->config->get('bt_dl_list_only_count'))
{
DB()->query("
INSERT INTO ". NEW_BB_BT_DLSTATUS_SNAP ."
@@ -136,7 +137,7 @@ DB()->query("DROP TABLE IF EXISTS ". NEW_BB_BT_DLSTATUS_SNAP .", ". OLD_BB_BT_DL
//
// TORHELP
//
-if ($bb_cfg['torhelp_enabled'])
+if ($di->config->get('torhelp_enabled'))
{
$tor_min_seeders = 0; // "<="
$tor_min_leechers = 2; // ">="
@@ -182,7 +183,7 @@ if ($bb_cfg['torhelp_enabled'])
WHERE
trsn.seeders <= $tor_min_seeders
AND trsn.leechers >= $tor_min_leechers
- AND tor.forum_id != ". (int) $bb_cfg['trash_forum_id'] ."
+ AND tor.forum_id != ". (int) $di->config->get('trash_forum_id') ."
AND tor.complete_count >= $tor_min_completed
AND tor.seeder_last_seen <= (UNIX_TIMESTAMP() - $tor_seed_last_seen_days*86400)
AND dl.user_id IN($online_users_csv)
diff --git a/library/includes/cron/jobs/tr_seed_bonus.php b/library/includes/cron/jobs/tr_seed_bonus.php
index 862adca9c..ef9b61768 100644
--- a/library/includes/cron/jobs/tr_seed_bonus.php
+++ b/library/includes/cron/jobs/tr_seed_bonus.php
@@ -2,9 +2,12 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
+
DB()->expect_slow_query(600);
-if ($bb_cfg['seed_bonus_enabled'] && $bb_cfg['seed_bonus_points'] && $bb_cfg['seed_bonus_release'])
+if ($di->config->get('seed_bonus_enabled') && $di->config->get('seed_bonus_points') && $di->config->get('seed_bonus_release'))
{
DB()->query("
CREATE TEMPORARY TABLE tmp_bonus (
@@ -13,7 +16,7 @@ if ($bb_cfg['seed_bonus_enabled'] && $bb_cfg['seed_bonus_points'] && $bb_cfg['se
) ENGINE = MEMORY
");
- $tor_size = ($bb_cfg['seed_bonus_tor_size'] * 1073741824);
+ $tor_size = ($di->config->get('seed_bonus_tor_size') * 1073741824);
DB()->query("INSERT INTO tmp_bonus
SELECT bt.user_id, count(bt.seeder) AS release_count
@@ -24,8 +27,8 @@ if ($bb_cfg['seed_bonus_enabled'] && $bb_cfg['seed_bonus_points'] && $bb_cfg['se
GROUP BY user_id
");
- $seed_bonus = unserialize($bb_cfg['seed_bonus_points']);
- $seed_release = unserialize($bb_cfg['seed_bonus_release']);
+ $seed_bonus = unserialize($di->config->get('seed_bonus_points'));
+ $seed_release = unserialize($di->config->get('seed_bonus_release'));
foreach($seed_bonus as $i => $points)
{
@@ -33,7 +36,7 @@ if ($bb_cfg['seed_bonus_enabled'] && $bb_cfg['seed_bonus_points'] && $bb_cfg['se
$user_points = ((float) $points / 4);
$release = (int) $seed_release[$i];
- $user_regdate = (TIMENOW - $bb_cfg['seed_bonus_user_regdate'] * 86400);
+ $user_regdate = (TIMENOW - $di->config->get('seed_bonus_user_regdate') * 86400);
DB()->query("
UPDATE ". BB_USERS ." u, ". BB_BT_USERS ." bu, tmp_bonus b
diff --git a/library/includes/cron/jobs/update_forums_atom.php b/library/includes/cron/jobs/update_forums_atom.php
index a37875b90..302f0b135 100644
--- a/library/includes/cron/jobs/update_forums_atom.php
+++ b/library/includes/cron/jobs/update_forums_atom.php
@@ -2,16 +2,17 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
-global $bb_cfg;
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
require_once(INC_DIR .'functions_atom.php');
$timecheck = TIMENOW - 600;
$forums_data = DB()->fetch_rowset("SELECT forum_id, allow_reg_tracker, forum_name FROM ". BB_FORUMS);
-if (file_exists($bb_cfg['atom']['path'] .'/f/0.atom'))
+if (file_exists($di->config->get('atom.path') .'/f/0.atom'))
{
- if (filemtime($bb_cfg['atom']['path'] .'/f/0.atom') <= $timecheck) update_forum_feed(0, $forums_data);
+ if (filemtime($di->config->get('atom.path') .'/f/0.atom') <= $timecheck) update_forum_feed(0, $forums_data);
}
else
{
@@ -20,9 +21,9 @@ else
foreach ($forums_data as $forum_data)
{
- if (file_exists($bb_cfg['atom']['path'] .'/f/'. $forum_data['forum_id'] .'.atom'))
+ if (file_exists($di->config->get('atom.path') .'/f/'. $forum_data['forum_id'] .'.atom'))
{
- if (filemtime($bb_cfg['atom']['path'] .'/f/'. $forum_data['forum_id'] .'.atom') <= $timecheck) update_forum_feed($forum_data['forum_id'], $forum_data);
+ if (filemtime($di->config->get('atom.path') .'/f/'. $forum_data['forum_id'] .'.atom') <= $timecheck) update_forum_feed($forum_data['forum_id'], $forum_data);
}
else
{
diff --git a/library/includes/datastore/build_cat_forums.php b/library/includes/datastore/build_cat_forums.php
index 32d9d5dfe..8bb770595 100644
--- a/library/includes/datastore/build_cat_forums.php
+++ b/library/includes/datastore/build_cat_forums.php
@@ -2,7 +2,10 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
-global $bf, $bb_cfg;
+global $bf;
+
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
//
// cat_forums
@@ -128,9 +131,9 @@ $this->store('viewtopic_forum_select', $data);
//
// latest_news
//
-if ($bb_cfg['show_latest_news'] && ($news_forum_ids = $bb_cfg['latest_news_forum_id']))
+if ($di->config->get('show_latest_news') && ($news_forum_ids = $di->config->get('latest_news_forum_id')))
{
- $news_count = max($bb_cfg['latest_news_count'], 1);
+ $news_count = max($di->config->get('latest_news_count'), 1);
$data = DB()->fetch_rowset("
SELECT topic_id, topic_time, topic_title, forum_id
@@ -147,9 +150,9 @@ if ($bb_cfg['show_latest_news'] && ($news_forum_ids = $bb_cfg['latest_news_forum
//
// Network_news
//
-if ($bb_cfg['show_network_news'] && ($net_forum_ids = $bb_cfg['network_news_forum_id']))
+if ($di->config->get('show_network_news') && ($net_forum_ids = $di->config->get('network_news_forum_id')))
{
- $net_count = max($bb_cfg['network_news_count'], 1);
+ $net_count = max($di->config->get('network_news_count'), 1);
$data = DB()->fetch_rowset("
SELECT topic_id, topic_time, topic_title, forum_id
diff --git a/library/includes/datastore/build_smilies.php b/library/includes/datastore/build_smilies.php
index 01d9ad6a3..23d6e40b0 100644
--- a/library/includes/datastore/build_smilies.php
+++ b/library/includes/datastore/build_smilies.php
@@ -2,9 +2,10 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
-global $bb_cfg;
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
-$smilies = array();
+$smilies = [];
$rowset = DB()->fetch_rowset("SELECT * FROM ". BB_SMILIES);
sort($rowset);
@@ -12,7 +13,7 @@ sort($rowset);
foreach ($rowset as $smile)
{
$smilies['orig'][] = '#(?<=^|\W)'. preg_quote($smile['code'], '#') .'(?=$|\W)#';
- $smilies['repl'][] = '
';
+ $smilies['repl'][] = '
';
$smilies['smile'][] = $smile;
}
diff --git a/library/includes/datastore/build_stats.php b/library/includes/datastore/build_stats.php
index 4750aaa04..6efac6284 100644
--- a/library/includes/datastore/build_stats.php
+++ b/library/includes/datastore/build_stats.php
@@ -2,9 +2,10 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
-global $bb_cfg;
+/** @var \TorrentPier\Di $di */
+$di = \TorrentPier\Di::getInstance();
-$data = array();
+$data = [];
// usercount
$row = DB()->fetch_row("SELECT COUNT(*) AS usercount FROM ". BB_USERS ." WHERE user_id NOT IN(". EXCLUDED_USERS .")");
@@ -20,7 +21,7 @@ $data['postcount'] = commify($row['postcount']);
$data['topiccount'] = commify($row['topiccount']);
// Tracker stats
-if ($bb_cfg['tor_stats'])
+if ($di->config->get('tor_stats'))
{
// torrents stat
$row = DB()->fetch_row("SELECT COUNT(topic_id) AS torrentcount, SUM(size) AS size FROM ". BB_BT_TORRENTS);
@@ -36,7 +37,7 @@ if ($bb_cfg['tor_stats'])
}
// gender stat
-if ($bb_cfg['gender'])
+if ($di->config->get('gender'))
{
$male = DB()->fetch_row("SELECT COUNT(user_id) AS male FROM ". BB_USERS ." WHERE user_gender = ". MALE ." AND user_id NOT IN(". EXCLUDED_USERS .")");
$female = DB()->fetch_row("SELECT COUNT(user_id) AS female FROM ". BB_USERS ." WHERE user_gender = ". FEMALE ." AND user_id NOT IN(". EXCLUDED_USERS .")");
@@ -48,7 +49,7 @@ if ($bb_cfg['gender'])
}
// birthday stat
-if ($bb_cfg['birthday_check_day'] && $bb_cfg['birthday_enabled'])
+if ($di->config->get('birthday_check_day') && $di->config->get('birthday_enabled'))
{
$sql = DB()->fetch_rowset("SELECT user_id, username, user_rank , user_birthday
FROM ". BB_USERS ."
@@ -59,7 +60,7 @@ if ($bb_cfg['birthday_check_day'] && $bb_cfg['birthday_enabled'])
");
$date_today = bb_date(TIMENOW, 'md', false);
- $date_forward = bb_date(TIMENOW + ($bb_cfg['birthday_check_day']*86400), 'md', false);
+ $date_forward = bb_date(TIMENOW + ($di->config->get('birthday_check_day')*86400), 'md', false);
$birthday_today_list = $birthday_week_list = array();
diff --git a/library/includes/functions.php b/library/includes/functions.php
index 9e7c0c5ec..730987369 100644
--- a/library/includes/functions.php
+++ b/library/includes/functions.php
@@ -4,22 +4,31 @@ if (!defined('BB_ROOT')) die(basename(__FILE__));
function get_path_from_id ($id, $ext_id, $base_path, $first_div, $sec_div)
{
- global $bb_cfg;
- $ext = isset($bb_cfg['file_id_ext'][$ext_id]) ? $bb_cfg['file_id_ext'][$ext_id] : '';
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
+
+ $ext = $di->config->get('file_id_ext.' . $ext_id) ? $di->config->get('file_id_ext.' . $ext_id) : '';
+
return ($base_path ? "$base_path/" : '') . floor($id/$first_div) .'/'. ($id % $sec_div) .'/'. $id . ($ext ? ".$ext" : '');
}
function get_avatar_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['avatars']['upload_path'];
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
+
+ $base_path = isset($base_path) ? $base_path : $di->config->get('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'];
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
+
+ $base_path = isset($base_path) ? $base_path : $di->config->get('attach.upload_path');
+
return get_path_from_id($id, $ext_id, $base_path, $first_div, $sec_div);
}
@@ -706,16 +715,6 @@ class html_common
return '';
}
-
-# function build_option ($opt_name, $opt_val, $selected = null, $max_length = false)
-# {
-# return "\t\t\n";
-# }
-
-# function build_optgroup ($label, $contents, $max_length = false)
-# {
-# return "\t\n";
-# }
}
function build_select ($name, $params, $selected = null, $max_length = HTML_SELECT_MAX_LENGTH, $multiple_size = null, $js = '')
@@ -897,7 +896,8 @@ function humn_size ($size, $rounder = null, $min = null, $space = ' ')
function bt_show_ip ($ip, $port = '')
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
if (IS_AM)
{
@@ -907,13 +907,14 @@ function bt_show_ip ($ip, $port = '')
}
else
{
- return ($bb_cfg['bt_show_ip_only_moder']) ? false : decode_ip_xx($ip);
+ return ($di->config->get('bt_show_ip_only_moder')) ? false : decode_ip_xx($ip);
}
}
function bt_show_port ($port)
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
if (IS_AM)
{
@@ -921,7 +922,7 @@ function bt_show_port ($port)
}
else
{
- return ($bb_cfg['bt_show_port_only_moder']) ? false : $port;
+ return ($di->config->get('bt_show_port_only_moder')) ? false : $port;
}
}
@@ -1479,15 +1480,18 @@ function get_forum_select ($mode = 'guest', $name = POST_FORUM_URL, $selected =
function setup_style ()
{
- global $bb_cfg, $template, $userdata;
+ global $template, $userdata;
+
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
// AdminCP works only with default template
- $tpl_dir_name = defined('IN_ADMIN') ? 'default' : basename($bb_cfg['tpl_name']);
- $stylesheet = defined('IN_ADMIN') ? 'main.css' : basename($bb_cfg['stylesheet']);
+ $tpl_dir_name = defined('IN_ADMIN') ? 'default' : basename($di->config->get('tpl_name'));
+ $stylesheet = defined('IN_ADMIN') ? 'main.css' : basename($di->config->get('stylesheet'));
if (!IS_GUEST && !empty($userdata['tpl_name']))
{
- foreach ($bb_cfg['templates'] as $folder => $name)
+ foreach ($di->config->get('templates') as $folder => $name)
{
if ($userdata['tpl_name'] == $folder) $tpl_dir_name = basename($userdata['tpl_name']);
}
@@ -1500,7 +1504,7 @@ function setup_style ()
'BB_ROOT' => BB_ROOT,
'SPACER' => make_url('styles/images/spacer.gif'),
'STYLESHEET' => make_url($css_dir . $stylesheet),
- 'EXT_LINK_NEW_WIN' => $bb_cfg['ext_link_new_win'],
+ 'EXT_LINK_NEW_WIN' => $di->config->get('ext_link_new_win'),
'TPL_DIR' => make_url($css_dir),
'SITE_URL' => make_url('/'),
));
@@ -1515,14 +1519,17 @@ function setup_style ()
// Create date / time with format and friendly date
function bb_date ($gmepoch, $format = false, $friendly_date = true)
{
- global $bb_cfg, $lang, $userdata;
+ global $lang, $userdata;
- if (!$format) $format = $bb_cfg['default_dateformat'];
- if (empty($lang)) require_once($bb_cfg['default_lang_dir'] .'main.php');
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
+
+ if (!$format) $format = $di->config->get('default_dateformat');
+ if (empty($lang)) require_once($di->config->get('default_lang_dir') .'main.php');
if (empty($userdata['session_logged_in']))
{
- $tz = $bb_cfg['board_timezone'];
+ $tz = $di->config->get('board_timezone');
}
else
{
@@ -1565,15 +1572,18 @@ function bb_date ($gmepoch, $format = false, $friendly_date = true)
}
}
- return ($bb_cfg['translate_dates']) ? strtr(strtoupper($date), $lang['DATETIME']) : $date;
+ return ($di->config->get('translate_dates')) ? strtr(strtoupper($date), $lang['DATETIME']) : $date;
}
function birthday_age ($date)
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
+
if (!$date) return false;
- $tz = TIMENOW + (3600 * $bb_cfg['board_timezone']);
+ $tz = TIMENOW + (3600 * $di->config->get('board_timezone'));
+
return delta_time(strtotime($date, $tz));
}
@@ -1705,15 +1715,13 @@ function generate_pagination ($base_url, $num_items, $per_page, $start_item, $ad
//
function obtain_word_list (&$orig_word, &$replacement_word)
{
- global $bb_cfg;
-
/** @var \TorrentPier\Di $di */
$di = \TorrentPier\Di::getInstance();
/** @var \TorrentPier\Cache\Adapter $cache */
$cache = $di->cache;
- if (!$bb_cfg['use_word_censor']) return false;
+ if (!$di->config->get('use_word_censor')) return false;
if (!$cache->has('censored')) {
$sql = DB()->fetch_rowset("SELECT word, replacement FROM " . BB_WORDS);
@@ -1733,7 +1741,10 @@ function obtain_word_list (&$orig_word, &$replacement_word)
function bb_die ($msg_text)
{
- global $ajax, $bb_cfg, $lang, $template, $theme, $user;
+ global $ajax, $lang, $template, $theme, $user;
+
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
if (defined('IN_AJAX'))
{
@@ -1751,7 +1762,7 @@ function bb_die ($msg_text)
// If empty lang
if (empty($lang))
{
- require($bb_cfg['default_lang_dir'] .'main.php');
+ require($di->config->get('default_lang_dir') .'main.php');
}
// If empty session
@@ -1765,7 +1776,7 @@ function bb_die ($msg_text)
{
if (empty($template))
{
- $template = new Template(BB_ROOT ."templates/{$bb_cfg['tpl_name']}");
+ $template = new Template(BB_ROOT ."templates/{$di->config->get('tpl_name')}");
}
if (empty($theme))
{
@@ -1795,14 +1806,15 @@ function bb_die ($msg_text)
function bb_simple_die ($txt)
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
if (!empty($_COOKIE['explain']))
{
bb_die("bb_simple_die:
$txt");
}
- header('Content-Type: text/plain; charset='. $bb_cfg['charset']);
+ header('Content-Type: text/plain; charset='. $di->config->get('charset'));
die($txt);
}
@@ -1825,7 +1837,8 @@ function meta_refresh ($url, $time = 5)
function redirect ($url)
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
if (headers_sent($filename, $linenum))
{
@@ -1838,11 +1851,11 @@ function redirect ($url)
}
$url = trim($url);
- $server_protocol = ($bb_cfg['cookie_secure']) ? 'https://' : 'http://';
+ $server_protocol = ($di->config->get('cookie_secure')) ? 'https://' : 'http://';
- $server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($bb_cfg['server_name']));
- $server_port = ($bb_cfg['server_port'] <> 80) ? ':' . trim($bb_cfg['server_port']) : '';
- $script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($bb_cfg['script_path']));
+ $server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($di->config->get('server_name')));
+ $server_port = ($di->config->get('server_port') <> 80) ? ':' . trim($di->config->get('server_port')) : '';
+ $script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($di->config->get('script_path')));
if ($script_name)
{
@@ -1969,7 +1982,7 @@ class log_action
function init ()
{
- global $lang, $bb_cfg;
+ global $lang;
foreach ($lang['LOG_ACTION']['LOG_TYPE'] as $log_type => $log_desc)
{
@@ -2029,9 +2042,12 @@ class log_action
function get_topic_icon ($topic, $is_unread = null)
{
- global $bb_cfg, $images;
+ global $images;
- $t_hot = ($topic['topic_replies'] >= $bb_cfg['hot_threshold']);
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
+
+ $t_hot = ($topic['topic_replies'] >= $di->config->get('hot_threshold'));
$is_unread = is_null($is_unread) ? is_unread($topic['topic_last_post_time'], $topic['topic_id'], $topic['forum_id']) : $is_unread;
if ($topic['topic_status'] == TOPIC_MOVED)
@@ -2142,8 +2158,10 @@ function get_poll_data_items_js ($topic_id)
function poll_is_active ($t_data)
{
- global $bb_cfg;
- return ($t_data['topic_vote'] == 1 && $t_data['topic_time'] > TIMENOW - $bb_cfg['poll_max_days'] * 86400);
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
+
+ return ($t_data['topic_vote'] == 1 && $t_data['topic_time'] > TIMENOW - $di->config->get('poll_max_days') * 86400);
}
function print_confirmation ($tpl_vars)
@@ -2210,7 +2228,10 @@ function clean_title ($str, $replace_underscore = false)
function clean_text_match ($text, $ltrim_star = true, $remove_stopwords = false, $die_if_empty = false)
{
- global $bb_cfg, $lang;
+ global $lang;
+
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
$text = str_compact($text);
$ltrim_chars = ($ltrim_star) ? ' *-!' : ' ';
@@ -2223,7 +2244,7 @@ function clean_text_match ($text, $ltrim_star = true, $remove_stopwords = false,
$text = remove_stopwords($text);
}
- if ($bb_cfg['sphinx_enabled'])
+ if ($di->config->get('sphinx_enabled'))
{
$text = preg_replace('#(?<=\S)\-#u', ' ', $text); // "1-2-3" -> "1 2 3"
$text = preg_replace('#[^0-9a-zA-Zа-яА-ЯёЁ\-_*|]#u', ' ', $text); // допустимые символы (кроме " которые отдельно)
@@ -2279,19 +2300,22 @@ function log_sphinx_error ($err_type, $err_msg, $query = '')
function get_title_match_topics($search)
{
- global $bb_cfg, $sphinx, $userdata, $lang;
+ global $sphinx, $userdata, $lang;
+
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
$where_ids = array();
$forum_ids = (isset($search['ids']) && is_array($search['ids'])) ? array_diff($search['ids'], array(0 => 0)) : '';
$title_match_sql = encode_text_match($search['query']);
- if ($bb_cfg['sphinx_enabled'])
+ if ($di->config->get('sphinx_enabled'))
{
init_sphinx();
$where = (isset($search['topic_match'])) ? 'topics' : 'posts';
- $sphinx->SetServer($bb_cfg['sphinx_topic_titles_host'], $bb_cfg['sphinx_topic_titles_port']);
+ $sphinx->SetServer($di->config->get('sphinx_topic_titles_host'), $di->config->get('sphinx_topic_titles_port'));
if ($forum_ids)
{
$sphinx->SetFilter('forum_id', $forum_ids, false);
@@ -2323,7 +2347,7 @@ function get_title_match_topics($search)
else
{
$where_forum = ($forum_ids) ? "AND forum_id IN(" . join(',', $forum_ids) . ")" : '';
- $search_bool_mode = ($bb_cfg['allow_search_in_bool_mode']) ? ' IN BOOLEAN MODE' : '';
+ $search_bool_mode = ($di->config->get('allow_search_in_bool_mode')) ? ' IN BOOLEAN MODE' : '';
if (isset($search['topic_match']))
{
@@ -2381,17 +2405,20 @@ function pad_with_space ($str)
function create_magnet ($infohash, $auth_key, $logged_in)
{
- global $bb_cfg, $_GET, $images;
+ global $images;
- $passkey_url = ((!$logged_in || isset($_GET['no_passkey'])) && $bb_cfg['bt_tor_browse_only_reg']) ? '' : "?{$bb_cfg['passkey_key']}=$auth_key";
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
- if ($bb_cfg['ocelot']['enabled'])
+ $passkey_url = ((!$logged_in || isset($_GET['no_passkey'])) && $di->config->get('bt_tor_browse_only_reg')) ? '' : "?{$di->config->get('passkey_key')}=$auth_key";
+
+ if ($di->config->get('ocelot.enabled'))
{
- return '';
+ return '
';
}
else
{
- return '
';
+ return '
';
}
}
@@ -2450,7 +2477,10 @@ function send_pm ($user_id, $subject, $message, $poster_id = BOT_UID)
function profile_url ($data)
{
- global $bb_cfg, $lang, $datastore;
+ global $lang, $datastore;
+
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
if (!$ranks = $datastore->get('ranks'))
{
@@ -2468,7 +2498,7 @@ function profile_url ($data)
if (empty($title)) $title = $lang['USER'];
if (empty($style)) $style = 'colorUser';
- if (!$bb_cfg['color_nick']) $style = '';
+ if (!$di->config->get('color_nick')) $style = '';
$username = !empty($data['username']) ? $data['username'] : $lang['GUEST'];
$user_id = (!empty($data['user_id']) && $username != $lang['GUEST']) ? $data['user_id'] : GUEST_UID;
@@ -2485,7 +2515,8 @@ function profile_url ($data)
function get_avatar ($user_id, $ext_id, $allow_avatar = true, $size = true, $height = '', $width = '')
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
if ($size)
{
@@ -2495,11 +2526,11 @@ function get_avatar ($user_id, $ext_id, $allow_avatar = true, $size = true, $hei
$height = ($height != '') ? 'height="'. $height .'"' : '';
$width = ($width != '') ? 'width="'. $width .'"' : '';
- $user_avatar = '
';
+ $user_avatar = '
';
- if ($user_id == BOT_UID && $bb_cfg['avatars']['bot_avatar'])
+ if ($user_id == BOT_UID && $di->config->get('avatars.bot_avatar'))
{
- $user_avatar = '
';
+ $user_avatar = '
';
}
else if ($allow_avatar && $ext_id)
{
@@ -2514,9 +2545,12 @@ function get_avatar ($user_id, $ext_id, $allow_avatar = true, $size = true, $hei
function gender_image ($gender)
{
- global $bb_cfg, $lang, $images;
+ global $lang, $images;
- if (!$bb_cfg['gender'])
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
+
+ if (!$di->config->get('gender'))
{
$user_gender = '';
return $user_gender;
diff --git a/library/includes/functions_admin.php b/library/includes/functions_admin.php
index 05e9661d7..04efe3ef3 100644
--- a/library/includes/functions_admin.php
+++ b/library/includes/functions_admin.php
@@ -714,7 +714,10 @@ function post_delete ($mode_or_post_id, $user_id = null, $exclude_first = true)
function user_delete ($user_id, $delete_posts = false)
{
- global $bb_cfg, $log_action;
+ global $log_action;
+
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
if (!$user_csv = get_id_csv($user_id))
{
@@ -801,7 +804,7 @@ function user_delete ($user_id, $delete_posts = false)
// Delete user feed
foreach (explode(',', $user_csv) as $user_id)
{
- $file_path = $bb_cfg['atom']['path'] .'/u/'. floor($user_id/5000) .'/'. ($user_id % 100) .'/'. $user_id .'.atom';
+ $file_path = $di->config->get('atom.path') .'/u/'. floor($user_id/5000) .'/'. ($user_id % 100) .'/'. $user_id .'.atom';
unlink($file_path);
}
}
diff --git a/library/includes/functions_admin_cron.php b/library/includes/functions_admin_cron.php
index b1464f194..121f863b3 100644
--- a/library/includes/functions_admin_cron.php
+++ b/library/includes/functions_admin_cron.php
@@ -2,7 +2,10 @@
function run_jobs($jobs)
{
- global $bb_cfg, $tr_cfg, $datastore;
+ global $tr_cfg, $datastore;
+
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
define('IN_CRON', true);
diff --git a/library/includes/functions_atom.php b/library/includes/functions_atom.php
index 503e43fd3..956ac2b40 100644
--- a/library/includes/functions_atom.php
+++ b/library/includes/functions_atom.php
@@ -7,8 +7,10 @@ if (!defined('BB_ROOT')) die(basename(__FILE__));
function update_forum_feed ($forum_id, $forum_data)
{
- global $bb_cfg;
- $file_path = $bb_cfg['atom']['path'] .'/f/'. $forum_id .'.atom';
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
+
+ $file_path = $di->config->get('atom.path') .'/f/'. $forum_id .'.atom';
$select_tor_sql = $join_tor_sql = '';
if ($forum_id == 0) $forum_data['atom_forum_name'] = 'Общая по всем разделам';
if ($forum_id > 0 && $forum_data['atom_tr_allowed'])
@@ -63,7 +65,7 @@ function update_forum_feed ($forum_id, $forum_data)
}
if (isset($topic['tor_status']))
{
- if (isset($bb_cfg['tor_frozen'][$topic['tor_status']])) continue;
+ if ($di->config->get('tor_frozen.' . $topic['tor_status'])) continue;
}
$topics[] = $topic;
}
@@ -78,8 +80,10 @@ function update_forum_feed ($forum_id, $forum_data)
function update_user_feed ($user_id, $username)
{
- global $bb_cfg;
- $file_path = $bb_cfg['atom']['path'] .'/u/'. floor($user_id/5000) .'/'. ($user_id % 100) .'/'. $user_id .'.atom';
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
+
+ $file_path = $di->config->get('atom.path') .'/u/'. floor($user_id/5000) .'/'. ($user_id % 100) .'/'. $user_id .'.atom';
$sql = "
SELECT
t.topic_id, t.topic_title, t.topic_status,
@@ -106,7 +110,7 @@ function update_user_feed ($user_id, $username)
}
if (isset($topic['tor_status']))
{
- if (isset($bb_cfg['tor_frozen'][$topic['tor_status']])) continue;
+ if ($di->config->get('tor_frozen.' . $topic['tor_status'])) continue;
}
$topics[] = $topic;
}
@@ -121,7 +125,9 @@ function update_user_feed ($user_id, $username)
function create_atom ($file_path, $mode, $id, $title, $topics)
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
+
$dir = dirname($file_path);
if (!file_exists($dir))
{
@@ -137,11 +143,11 @@ function create_atom ($file_path, $mode, $id, $title, $topics)
}
$atom = "";
$atom .= "\n";
- $atom .= "
");
+ $emailer->from($di->config->get('sitename') ." <{$di->config->get('board_email')}>");
$emailer->email_address($row['username'] ." <{$row['user_email']}>");
$emailer->use_template('topic_notify', $row['user_lang']);
$emailer->assign_vars(array(
'TOPIC_TITLE' => html_entity_decode($topic_title),
- 'SITENAME' => $bb_cfg['sitename'],
+ 'SITENAME' => $di->config->get('sitename'),
'USERNAME' => $row['username'],
'U_TOPIC' => $u_topic,
'U_STOP_WATCHING_TOPIC' => $unwatch_topic,
diff --git a/library/includes/functions_selects.php b/library/includes/functions_selects.php
index 143845676..0931987af 100644
--- a/library/includes/functions_selects.php
+++ b/library/includes/functions_selects.php
@@ -7,11 +7,12 @@ if (!defined('BB_ROOT')) die(basename(__FILE__));
//
function language_select ($default_lang, $select_name = 'language')
{
- global $bb_cfg;
+ /** @var \TorrentPier\Di $di */
+ $di = \TorrentPier\Di::getInstance();
$lang_select = '';
- return ($x > 1) ? $lang_select : reset($bb_cfg['lang'])['name'];
+ return ($x > 1) ? $lang_select : reset($di->config->get('lang'))['name'];
}
//
@@ -31,7 +32,7 @@ function tz_select ($default, $select_name = 'timezone')
if (!isset($default))
{
- $default == $sys_timezone;
+ $default = $sys_timezone;
}
$tz_select = '
After that in 48 hours, we will remove interesting you links from the site.
- +Our email: config->get('abuse_email'); ?>
WARNING!
-a) We reserve the right to publish on the site of any information sent to us by mail
+a) We reserve the right to publish on the site of any information sent to us by mail config->get('abuse_email'); ?>
b) We have no control over the actions of users who may be re-post links to information, which is the object of your copyright. Any information the forum, place automatically, without any control from any quarter whatsoever, which corresponds to the generally accepted international practice of placing information on the Internet. However, in any case, we consider all your queries regarding the reference to the information that violates your rights.
diff --git a/library/language/en/html/user_agreement.html b/library/language/en/html/user_agreement.html index eccce4738..fcbc40161 100644 --- a/library/language/en/html/user_agreement.html +++ b/library/language/en/html/user_agreement.html @@ -6,7 +6,7 @@Internet - resource (website) "> (hereinafter - Resource) is an internet site that allows users to share information with each other via bit-torrent, as well as in free form, and provides a means to monitor the integrity of information transmitted (via hash-files).
+Internet - resource (website) config->get('server_name')}:{$di->config->get('server_port')}" : $di->config->get('server_name'); ?>">config->get('sitename')?> (hereinafter - Resource) is an internet site that allows users to share information with each other via bit-torrent, as well as in free form, and provides a means to monitor the integrity of information transmitted (via hash-files).
По вопросам размещения рекламы обращайтесь по адресу:
+По вопросам размещения рекламы обращайтесь по адресу: config->get('adv_email'); ?>
После этого, в течении 48 часов, мы удалим интересующие Вас ссылки с сайта.
- +Наш email: config->get('abuse_email'); ?>
ВНИМАНИЕ!
-а) Мы оставляем за собой право публикации на сайте любой информации присланной нам по почте
+а) Мы оставляем за собой право публикации на сайте любой информации присланной нам по почте config->get('abuse_email'); ?>
б) Мы не осуществляем контроль за действиями пользователей, которые могут повторно размещать ссылки на информацию, являющуюся объектом вашего авторского права. Любая информация на форуме, размещается автоматически, без какого либо контроля с чьей либо стороны, что соответствует общепринятой мировой практике размещения информации в сети интернет. Однако, мы в любом случае рассмотрим все Ваши запросы, относительно ссылок на информацию, нарушающую Ваши права.
diff --git a/library/language/ru/html/user_agreement.html b/library/language/ru/html/user_agreement.html index d68f7df4b..cbd13c1e7 100644 --- a/library/language/ru/html/user_agreement.html +++ b/library/language/ru/html/user_agreement.html @@ -6,7 +6,7 @@Интернет - ресурс (сайт) "> (в дальнейшем - Ресурс) является интернет-сайтом, позволяющим пользователям обмениваться друг с другом информацией по протоколу бит-торрент, а также в свободной форме, и предоставляющим средства для контроля целостности передаваемой информации (посредством hash-файлов).
+Интернет - ресурс (сайт) config->get('server_name')}:{$di->config->get('server_port')}" : $di->config->get('server_name'); ?>">config->get('sitename')?> (в дальнейшем - Ресурс) является интернет-сайтом, позволяющим пользователям обмениваться друг с другом информацией по протоколу бит-торрент, а также в свободной форме, и предоставляющим средства для контроля целостности передаваемой информации (посредством hash-файлов).
З питань розміщення реклами звертайтесь за адресою:
+З питань розміщення реклами звертайтесь за адресою: config->get('adv_email'); ?>
Після цього, протягом 48 годин, ми видалимо ці посилання з сайту.
- +Наш email: config->get('abuse_email'); ?>
УВАГА!
-а) Ми залишаємо за собою право публікації на сайті будь-якої інформації присланої нам по пошті
+а) Ми залишаємо за собою право публікації на сайті будь-якої інформації присланої нам по пошті config->get('abuse_email'); ?>
б) Ми не здійснюємо контроль за діями користувачів, які можуть повторно розміщувати посилання на інформацію, що є об'єктом вашого авторського права. Будь-яка інформація на форумі, розміщується автоматично, без якого контролю з будь якої сторони, що відповідає загальноприйнятій світовій практиці розміщення інформації в мережі інтернет. Проте, ми у будь-якому випадку розглянемо всі Ваші запити, щодо посилань на інформацію, що порушує Ваші права.
diff --git a/library/language/uk/html/user_agreement.html b/library/language/uk/html/user_agreement.html index e597bdbce..cf1da0603 100644 --- a/library/language/uk/html/user_agreement.html +++ b/library/language/uk/html/user_agreement.html @@ -6,7 +6,7 @@Інтернет - ресурс (сайт) "> (надалі - Ресурс) є інтернет-сайтом, що дозволяє користувачам обмінюватися один з одним інформацією по протоколу біт-торрент, а також у вільній формі, що надає засоби для контролю цілісності інформації, що передається (за допомогою hash-файлів).
+Інтернет - ресурс (сайт) config->get('server_name')}:{$di->config->get('server_port')}" : $di->config->get('server_name'); ?>">config->get('sitename')?> (надалі - Ресурс) є інтернет-сайтом, що дозволяє користувачам обмінюватися один з одним інформацією по протоколу біт-торрент, а також у вільній формі, що надає засоби для контролю цілісності інформації, що передається (за допомогою hash-файлів).
{TOTAL_GENDER}
{NEWEST_USER}
- +{TORRENTS_STAT}
{PEERS_STAT}
{SPEED_STAT}
- + - + + - + - + diff --git a/styles/templates/default/viewtopic_tor_guest.tpl b/styles/templates/default/viewtopic_tor_guest.tpl index af0098a72..ab8f9b4fe 100644 --- a/styles/templates/default/viewtopic_tor_guest.tpl +++ b/styles/templates/default/viewtopic_tor_guest.tpl @@ -4,8 +4,8 @@
- {L_HOW_TO_DOWNLOAD} ·
- {L_WHAT_IS_A_TORRENT} ·
- {L_RATINGS_AND_LIMITATIONS}
+ {L_HOW_TO_DOWNLOAD} ·
+ {L_WHAT_IS_A_TORRENT} ·
+ {L_RATINGS_AND_LIMITATIONS}