diff --git a/upload/admin/admin_bt_tracker_cfg.php b/upload/admin/admin_bt_tracker_cfg.php index 15aa17714..9406a5b89 100644 --- a/upload/admin/admin_bt_tracker_cfg.php +++ b/upload/admin/admin_bt_tracker_cfg.php @@ -27,6 +27,7 @@ $default_cfg_bool = array( 'update_dlstat' => 1, 'limit_active_tor' => 0, 'limit_concurrent_ips' => 0, + 'retracker' => 1, ); $default_cfg_num = array( diff --git a/upload/config.php b/upload/config.php index 43b6483ad..3e47060e8 100644 --- a/upload/config.php +++ b/upload/config.php @@ -188,6 +188,8 @@ $tr_cfg = array( 'limit_leech_ips' => 0, 'tor_topic_up' => true, 'gold_silver_enabled' => true, + 'retracker' => true, + 'retracker_host' => 'http://retracker.local/announce', ); $bb_cfg['show_dl_status_in_search'] = true; diff --git a/upload/dl.php b/upload/dl.php index dfdb7398f..96e0a60eb 100644 --- a/upload/dl.php +++ b/upload/dl.php @@ -32,19 +32,6 @@ function send_file_to_browser($attachment, $upload_dir) $gotit = true; } - // - // Determine the Browser the User is using, because of some nasty incompatibilities. - // Most of the methods used in this function are from phpMyAdmin. :) - // - if (!empty($_SERVER['HTTP_USER_AGENT'])) - { - $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT']; - } - elseif (!isset($HTTP_USER_AGENT)) - { - $HTTP_USER_AGENT = ''; - } - // Correct the mime type - we force application/octet-stream for all files, except images // Please do not change this, it is a security precaution if (!strstr($attachment['mimetype'], 'image')) @@ -62,8 +49,8 @@ function send_file_to_browser($attachment, $upload_dir) // Now the tricky part... let's dance header('Pragma: public'); $real_filename = clean_filename(basename($attachment['real_filename'])); - $mimetype = "{$attachment['mimetype']};"; - $charset = (@$lang['CONTENT_ENCODING']) ? "charset={$lang['CONTENT_ENCODING']};" : ''; + $mimetype = $attachment['mimetype'].';'; + $charset = (isset($lang['CONTENT_ENCODING'])) ? "charset={$lang['CONTENT_ENCODING']};" : ''; // Send out the Headers header("Content-Type: $mimetype $charset name=\"$real_filename\""); diff --git a/upload/includes/functions.php b/upload/includes/functions.php index b92c29b34..2779b68b5 100644 --- a/upload/includes/functions.php +++ b/upload/includes/functions.php @@ -275,6 +275,7 @@ $bf['user_opt'] = array( 'dis_post' => 12, // Запрет на отправку сообщений 'dis_post_edit' => 13, // Запрет на редактирование сообщений 'user_dls' => 14, // Скрывать список текущих закачек в профиле + 'user_retracker' => 15, // Добавлять ретрекер к скачиваемым торрентам ); function bit2dec ($bit_num) diff --git a/upload/includes/functions_torrent.php b/upload/includes/functions_torrent.php index cf3c516ab..d3f676a51 100644 --- a/upload/includes/functions_torrent.php +++ b/upload/includes/functions_torrent.php @@ -354,7 +354,7 @@ function tracker_register ($attach_id, $mode = '', $tor_status = TOR_NOT_APPROVE function send_torrent_with_passkey ($filename) { - global $attachment, $auth_pages, $userdata, $bb_cfg, $lang; + global $attachment, $auth_pages, $userdata, $bb_cfg, $tr_cfg, $lang; if (!$bb_cfg['bt_add_auth_key'] || $attachment['extension'] !== TORRENT_EXT || !$size = @filesize($filename)) { @@ -446,7 +446,7 @@ function send_torrent_with_passkey ($filename) $announce = strval($ann_url . "?$passkey_key=$passkey_val"); // Replace original announce url with tracker default - if ($bb_cfg['bt_replace_ann_url'] || !@$tor['announce']) + if ($bb_cfg['bt_replace_ann_url'] || !isset($tor['announce'])) { $tor['announce'] = $announce; } @@ -456,11 +456,30 @@ function send_torrent_with_passkey ($filename) { unset($tor['announce-list']); } - elseif (@$tor['announce-list']) + elseif (isset($tor['announce-list'])) { $tor['announce-list'] = array_merge($tor['announce-list'], array(array($announce))); } + // Add retracker + if (isset($tr_cfg['retracker']) && $tr_cfg['retracker']) + { + if (bf($userdata['user_opt'], 'user_opt', 'user_retracker')) + { + if (!isset($tor['announce-list'])) + { + $tor['announce-list'] = array( + array($announce), + array($tr_cfg['retracker_host']) + ); + } + else + { + $tor['announce-list'] = array_merge($tor['announce-list'], array(array($tr_cfg['retracker_host']))); + } + } + } + // Add publisher & topic url $publisher_name = $bb_cfg['server_name']; $publisher_url = make_url(TOPIC_URL . $topic_id); diff --git a/upload/includes/ucp/register.php b/upload/includes/ucp/register.php index f6632b6a2..184d77fa7 100644 --- a/upload/includes/ucp/register.php +++ b/upload/includes/ucp/register.php @@ -370,7 +370,7 @@ foreach ($profile_fields as $field => $can_edit) $reg_mode = ($mode == 'register'); $update_user_opt = array( - # 'user_opt_name' => ($reg_mode) ? #reg_setting : #in_login_change + # 'user_opt_name' => ($reg_mode) ? #reg_value : #in_login_change 'user_viewemail' => ($reg_mode) ? false : true, 'user_viewonline' => ($reg_mode) ? false : true, 'user_notify' => ($reg_mode) ? true : true, @@ -378,6 +378,7 @@ foreach ($profile_fields as $field => $can_edit) 'user_porn_forums' => ($reg_mode) ? false : true, 'user_dls' => ($reg_mode) ? false : true, 'user_callseed' => ($reg_mode) ? true : true, + 'user_retracker' => ($reg_mode) ? true : true, ); foreach ($update_user_opt as $opt => $can_change_opt) diff --git a/upload/language/en/main.php b/upload/language/en/main.php index 9616b6c8a..1da869c0e 100644 --- a/upload/language/en/main.php +++ b/upload/language/en/main.php @@ -1515,7 +1515,8 @@ $lang['ICQ_ERROR'] = 'The field of "ICQ" may contain only icq number'; $lang['INVALID_DATE'] = 'Error date '; $lang['PROFILE_USER'] = 'Viewing profile'; $lang['GOOD_UPDATE'] = 'was successfully changed'; -$lang['DENY_VISITORS'] = 'Hide the current list of downloads on your profile'; +$lang['UCP_DOWNLOADS'] = 'Downloads'; +$lang['HIDE_DOWNLOADS'] = 'Hide the current list of downloads on your profile'; $lang['BAN_USER'] = 'To prevent a user'; $lang['USER_NOT_ALLOWED'] = 'Users are not permitted'; $lang['HIDE_AVATARS'] = 'Show avatars'; @@ -2524,6 +2525,7 @@ $lang['USE_AUTH_KEY_EXPL'] = 'enable check for passkey'; $lang['AUTH_KEY_NAME'] = 'Passkey name'; $lang['AUTH_KEY_NAME_EXPL'] = 'passkey key name in GET request'; $lang['ALLOW_GUEST_DL'] = 'Allow guest access to tracker'; +$lang['ADD_RETRACKER'] = 'Add retracker in torrent files'; // // Forum config @@ -2764,7 +2766,7 @@ $lang['BOT_MESS_SPLITS'] = 'Topic has been split. New topic - [b]%s[/b][br][br]% $lang['BOT_TOPIC_SPLITS'] = 'Topic has been split from [b]%s[/b][br][br]%s'; $lang['CALLSEED'] = 'Downloaded the call'; -$lang['CALLSEED_EXPLAIN'] = 'Take notice with a request to return to the distribution?'; +$lang['CALLSEED_EXPLAIN'] = 'Take notice with a request to return to the distribution'; $lang['CALLSEED_SUBJECT'] = 'Download help %s'; $lang['CALLSEED_TEXT'] = 'Hello![br]Your help is needed in the release [url=%s]%s[/url][br]If you decide to help, but already deleted the torrent file, you can download it [url=%s]this[/url][br][br]I hope for your help!'; $lang['CALLSEED_MSG_OK'] = 'Message has been sent to all those who downloaded this release'; diff --git a/upload/language/ru/main.php b/upload/language/ru/main.php index 4c104d200..bf9257575 100644 --- a/upload/language/ru/main.php +++ b/upload/language/ru/main.php @@ -1515,7 +1515,8 @@ $lang['ICQ_ERROR'] = 'Поле "ICQ" может содержать только $lang['INVALID_DATE'] = 'Ошибка даты '; $lang['PROFILE_USER'] = 'Профиль пользователя'; $lang['GOOD_UPDATE'] = 'был успешно изменен'; -$lang['DENY_VISITORS'] = 'Скрывать список текущих закачек в профиле'; +$lang['UCP_DOWNLOADS'] = 'Закачки'; +$lang['HIDE_DOWNLOADS'] = 'Скрывать список текущих закачек в профиле'; $lang['BAN_USER'] = 'Запретить пользователю'; $lang['USER_NOT_ALLOWED'] = 'Пользователю запрещено'; $lang['HIDE_AVATARS'] = 'Показывать аватар'; @@ -2524,6 +2525,7 @@ $lang['USE_AUTH_KEY_EXPL'] = 'включить авторизацию по passk $lang['AUTH_KEY_NAME'] = 'Имя ключа passkey'; $lang['AUTH_KEY_NAME_EXPL'] = 'имя ключа, который будет добавляться в GET запросе к announce url для идентификации юзера'; $lang['ALLOW_GUEST_DL'] = 'Разрешить "гостям" (неавторизованным юзерам) доступ к трекеру'; +$lang['ADD_RETRACKER'] = 'Добавлять ретрекер в торрент-файлы'; // // Forum config @@ -2764,7 +2766,7 @@ $lang['BOT_MESS_SPLITS'] = 'Сообщения из этой темы были $lang['BOT_TOPIC_SPLITS'] = 'Тема была выделена из [b]%s[/b][br][br]%s'; $lang['CALLSEED'] = 'Позвать скачавших'; -$lang['CALLSEED_EXPLAIN'] = 'Принимать уведомления с просьбой вернуться на раздачу?'; +$lang['CALLSEED_EXPLAIN'] = 'Принимать уведомления с просьбой вернуться на раздачу'; $lang['CALLSEED_SUBJECT'] = 'Помогите скачать %s'; $lang['CALLSEED_TEXT'] = 'Здравствуйте![br]Ваша помощь необходима в раздаче [url=%s]%s[/url][br]Если Вы решили помочь, но уже удалили торрент-файл, Вы можете скачать его [url=%s]здесь[/url][br][br]Надеюсь на Вашу помощь!'; $lang['CALLSEED_MSG_OK'] = 'Сообщения успешно отправлены всем скачавшим данный релиз'; diff --git a/upload/language/ua/main.php b/upload/language/ua/main.php index 465545a71..667264a1f 100644 --- a/upload/language/ua/main.php +++ b/upload/language/ua/main.php @@ -1515,7 +1515,8 @@ $lang['ICQ_ERROR'] = 'Поле "ICQ" може містити тільки ном $lang['INVALID_DATE'] = 'Помилка дати '; $lang['PROFILE_USER'] = 'Профіль користувача'; $lang['GOOD_UPDATE'] = 'був успішно змінен'; -$lang['DENY_VISITORS'] = 'Приховувати список поточних завантажень в профілі'; +$lang['UCP_DOWNLOADS'] = 'Завантажити'; +$lang['HIDE_DOWNLOADS'] = 'Приховувати список поточних завантажень в профілі'; $lang['BAN_USER'] = 'Заборонити користувачу'; $lang['USER_NOT_ALLOWED'] = 'Користувачеві заборонено'; $lang['HIDE_AVATARS'] = 'Показувати аватар'; @@ -2441,7 +2442,7 @@ $lang['ATTACHMENTS_PER_DAY'] = 'Прикріплень за день'; // Control Panel -> Attachments $lang['STATISTICS_FOR_USER'] = 'Статистика додатків для %s'; // replace %s with username -$lang['DOWNLOAD'] = 'Завантажити'; +$lang['DOWNLOADS'] = 'Завантажити'; $lang['POST_TIME'] = 'Дата повідомлення'; $lang['POSTED_IN_TOPIC'] = 'Розміщене в темі'; $lang['SUBMIT_CHANGES'] = 'Зберегти зміни'; @@ -2524,6 +2525,7 @@ $lang['USE_AUTH_KEY_EXPL'] = 'включити авторизацію по passk $lang['AUTH_KEY_NAME'] = "Ім'я ключа passkey"; $lang['AUTH_KEY_NAME_EXPL'] = "ім'я ключа, який буде додаватися до GET запиті до announce url для ідентифікації користувача"; $lang['ALLOW_GUEST_DL'] = "Дозволити 'гостям' (неавторизованим юзерам) доступ до трекера"; +$lang['ADD_RETRACKER'] = 'Додавати ретрекер в торрент-файли'; // // Forum config @@ -2764,7 +2766,7 @@ $lang['BOT_MESS_SPLITS'] = 'Повідомлення з цієї теми бул $lang['BOT_TOPIC_SPLITS'] = 'Тема була виділена з [b]%s[/b][br][br]%s'; $lang['CALLSEED'] = 'Покликати, кто завантажил'; -$lang['CALLSEED_EXPLAIN'] = 'Приймати повідомлення з проханням повернутися на роздачу?'; +$lang['CALLSEED_EXPLAIN'] = 'Приймати повідомлення з проханням повернутися на роздачу'; $lang['CALLSEED_SUBJECT'] = 'Допоможіть завантажити %s'; $lang['CALLSEED_TEXT'] = 'Привіт![br]Ваша допомога необхідна в роздачі [url=%s]%s[/url][br]Якщо ви вирішили допомогти, але вже видалили торрент-файл, можете завантажити його [url=%s]здесь[/url][br][br]Сподіваюся на вашу допомогу!'; $lang['CALLSEED_MSG_OK'] = 'Повідомлення успішно відправлено всім скачавшим даний реліз'; diff --git a/upload/templates/admin/admin_bt_tracker_cfg.tpl b/upload/templates/admin/admin_bt_tracker_cfg.tpl index f14150ae0..7dd1624e6 100644 --- a/upload/templates/admin/admin_bt_tracker_cfg.tpl +++ b/upload/templates/admin/admin_bt_tracker_cfg.tpl @@ -51,7 +51,6 @@

{L_ALLOW_GUEST_DL}

{L_ALLOW_GUEST_DL_EXPL}
  {L_NO}{L_YES} - {L_LIMIT_ACTIVE_TOR_HEAD} @@ -103,10 +102,14 @@

{L_UPDATE_DLSTAT}

Used in cron Tracker cleanup and dlstat
+ +

{L_ADD_RETRACKER}

+ +

{L_GOLD} / {L_SILVER}

-    + @@ -128,5 +131,4 @@ -
- +
\ No newline at end of file diff --git a/upload/templates/default/usercp_register.tpl b/upload/templates/default/usercp_register.tpl index 4490e2f1f..f475d678f 100644 --- a/upload/templates/default/usercp_register.tpl +++ b/upload/templates/default/usercp_register.tpl @@ -211,13 +211,6 @@ ajax.callback.posts = function(data){ - - {L_DENY_VISITORS}: - -    - - - {L_ALWAYS_NOTIFY}:
{L_ALWAYS_NOTIFY_EXPLAIN}
@@ -225,7 +218,6 @@ ajax.callback.posts = function(data){ - {L_NOTIFY_ON_PRIVMSG}: @@ -235,12 +227,14 @@ ajax.callback.posts = function(data){ + - {L_CALLSEED}:
{L_CALLSEED_EXPLAIN}
- -    - - + {L_DATE_FORMAT}:
{L_DATE_FORMAT_EXPLAIN}
+ + + + + {L_UCP_DOWNLOADS} {L_HIDE_PORN_FORUMS}: @@ -249,12 +243,27 @@ ajax.callback.posts = function(data){ - - {L_DATE_FORMAT}:
{L_DATE_FORMAT_EXPLAIN}
- + {L_ADD_RETRACKER}: + +    + + + + + {L_HIDE_DOWNLOADS}: + +    + + + + + {L_CALLSEED_EXPLAIN}: + +    + + - {L_AVATAR_PANEL}