Permalink
Browse files

Merge pull request #38 from torrentpier/develop

Версия 2.1.3 ALPHA-3

Третий ALPHA-билд.

Основные изменения:

- нативная поддержка альтернативного компилируемого анонсера Ocelot;
- поддержка SSL-шифрования у внешнего SMTP-сервера (Яндекс.Почта и т.п.);
- удалена система транслитерации из движка (пользователям следует посоветовать использование сайтов наподобие http://translit.net/ для этой цели);
- исправлена ошибка с прописыванием ретрекера у гостей;
- исправлена ошибка с выводом списка релиз-групп;
- исправления путей к изображениям.
  • Loading branch information...
Exileum committed Oct 24, 2014
2 parents f20402a + 379b5f9 commit 9bf658893a1ff65d2b0da5fd109647b33777a0ee
View
@@ -53,15 +53,22 @@ TorrentPier II - движок торрент-трекера, написанны
## Рекомендуемый способ запуска cron.php
Для значительного ускорения работы трекера может потребоваться отвязка встроенного форумного крона. С более подробной информацией об отвязке крона, вы можете ознакомиться в данной теме http://torrentpier.me/threads/52/ на нашем форуме поддержки.
Для значительного ускорения работы трекера может потребоваться отвязка встроенного форумного крона. С более подробной информацией об отвязке крона, вы можете ознакомиться в данной теме https://torrentpier.me/threads/52/ на нашем форуме поддержки.
## Локальный файл конфигурации
Начиная с ревизии 599 была добавлена поддерка автоматического подключения файла config.local.php, при создании его вами. В данном файле вы можете переопределять настройки файла config.php для конкретного сервера, на котором запущен трекер или в целом менять стандартные значения файла config.php, для более простого обновления файлов движка в дальнейшем.
## Установка Ocelot
В движок встроена по-умолчанию поддержка альтернативного компилируемого анонсера - Ocelot. Настройка производится в файле **library/config.php**, сам анонсер находится в репозитории https://github.com/torrentpier/ocelot
Инструкция по сборке приведена на нашем форуме: https://torrentpier.me/threads/sborka-ocelot-pod-debian-7-1.26078/
Для работы анонсера требуется замена двух таблиц в базе данных - дамп в файле: **install/sql/ocelot.sql**
## Полезные ссылки
+ Наш форум http://torrentpier.me/
+ Центр загрузки http://get.torrentpier.me/
+ Часто задаваемые вопросы http://faq.torrentpier.me/
+ Где задать вопрос http://torrentpier.me/forums/10/
+ Наш форум https://torrentpier.me/
+ Центр загрузки https://get.torrentpier.me/
+ Часто задаваемые вопросы https://faq.torrentpier.me/
+ Где задать вопрос https://torrentpier.me/forums/10/
View
@@ -16,7 +16,7 @@ qaqra
rserg99
leszav
Dr_Brown
Bullit (http://bestrip.org/)
Bullit
Triceratop (http://goldenshara.com/)
Ramzess
@@ -26,7 +26,7 @@ Ramzess
SamSeGo
alesel (http://sporttracker.kz/)
Bullit (http://bestrip.org/)
Bullit
igorsaevets
vasilich619
wint1000 (http://asmlocator.ru/)
View
@@ -0,0 +1,54 @@
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Удаление старых таблиц
--
DROP TABLE IF EXISTS `bb_bt_tracker`;
DROP TABLE IF EXISTS `bb_bt_tracker_snap`;
--
-- Структура таблицы `bb_bt_tracker`
--
CREATE TABLE IF NOT EXISTS `bb_bt_tracker` (
`peer_hash` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`topic_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
`peer_id` varchar(20) NOT NULL,
`user_id` mediumint(9) NOT NULL DEFAULT '0',
`ip` varchar(15) NOT NULL DEFAULT '0',
`client` varchar(51) NOT NULL DEFAULT 'Unknown',
`ipv6` varchar(32) DEFAULT NULL,
`port` smallint(5) unsigned NOT NULL DEFAULT '0',
`seeder` tinyint(1) NOT NULL DEFAULT '0',
`releaser` tinyint(1) NOT NULL DEFAULT '0',
`tor_type` tinyint(1) NOT NULL DEFAULT '0',
`uploaded` bigint(20) unsigned NOT NULL DEFAULT '0',
`downloaded` bigint(20) unsigned NOT NULL DEFAULT '0',
`remain` bigint(20) unsigned NOT NULL DEFAULT '0',
`speed_up` mediumint(8) unsigned NOT NULL DEFAULT '0',
`speed_down` mediumint(8) unsigned NOT NULL DEFAULT '0',
`up_add` bigint(20) unsigned NOT NULL DEFAULT '0',
`down_add` bigint(20) unsigned NOT NULL DEFAULT '0',
`update_time` int(11) NOT NULL DEFAULT '0',
`complete_percent` bigint(20) NOT NULL DEFAULT '0',
PRIMARY KEY (`peer_hash`),
KEY `topic_id` (`topic_id`),
KEY `user_id` (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `bb_bt_tracker_snap`
--
CREATE TABLE IF NOT EXISTS `bb_bt_tracker_snap` (
`topic_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
`seeders` mediumint(8) unsigned NOT NULL DEFAULT '0',
`leechers` mediumint(8) unsigned NOT NULL DEFAULT '0',
`speed_up` int(10) unsigned NOT NULL DEFAULT '0',
`speed_down` int(10) unsigned NOT NULL DEFAULT '0',
`complete` int(11) NOT NULL,
PRIMARY KEY (`topic_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
@@ -58,7 +58,7 @@
'ROW_CLASS' => !($i % 2) ? 'row2' : 'row1',
'JOB_ID' => $i + 1,
'CRON_ID' => $row['cron_id'],
'CRON_ACTIVE' => $row['cron_active'] ? '<img src="../images/icon_run.gif" alt="'. $lang['YES'] .'" />' : '<img src="../images/icon_delete.gif" alt="'. $lang['NO'] .'" />',
'CRON_ACTIVE' => $row['cron_active'] ? '<img src="../styles/images/icon_run.gif" alt="'. $lang['YES'] .'" />' : '<img src="../styles/images/icon_delete.gif" alt="'. $lang['NO'] .'" />',
'CRON_TITLE' => $row['cron_title'],
'CRON_SCRIPT' => $row['cron_script'],
'SCHEDULE' => $row['schedule'] ? $lang['SCHEDULE'][$row['schedule']] : '<b class="leech">'. $lang['NOSELECT'] .'</b>',
@@ -7,7 +7,6 @@
define('FILENAME_MAX_LENGTH', 180);
define('FILENAME_CRYPTIC', false);
define('FILENAME_CRYPTIC_LENGTH', 64);
define('FILENAME_TRANSLITERATE', true);
class attach_parent
{
@@ -964,10 +963,6 @@ function upload_attachment()
{
$this->attach_filename = make_rand_str(FILENAME_CRYPTIC_LENGTH);
}
else if (FILENAME_TRANSLITERATE)
{
$this->attach_filename = transliterate($this->attach_filename);
}
else
{ // original
$this->attach_filename = html_entity_decode(trim(stripslashes($this->attach_filename)));
View
@@ -1,6 +1,7 @@
<?php
/**
* Script versions
* Domain name
* Version info
* Database
@@ -12,9 +13,9 @@
- Datastore
* Server
- Cloudflare
- Script versions
- GZip
* Tracker
* Ocelot
* FAQ url
* Torrents
- Ratio limits
@@ -64,13 +65,16 @@
$bb_cfg = $tr_cfg = $page_cfg = array();
// Increase number after changing js or css
$bb_cfg['js_ver'] = $bb_cfg['css_ver'] = 1;
// Primary domain name
$domain_name = 'torrentpier.me'; // enter here your primary domain name of your site
$domain_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $domain_name;
// Version info
$bb_cfg['tp_version'] = '2.1.2';
$bb_cfg['tp_release_date'] = '20-10-2014';
$bb_cfg['tp_version'] = '2.1.3';
$bb_cfg['tp_release_date'] = '24-10-2014';
$bb_cfg['tp_release_state'] = 'ALPHA';
// Database
@@ -105,7 +109,7 @@
// Cache
$bb_cfg['cache']['pconnect'] = true;
$bb_cfg['cache']['db_dir'] = realpath(BB_ROOT) .'/internal_data/cache/filecache/';
$bb_cfg['cache']['prefix'] = 'tp_'; // Префикс кеша 'tp_2'
$bb_cfg['cache']['prefix'] = 'tp_'; // Префикс кеша ('tp_')
$bb_cfg['cache']['memcache'] = array(
'host' => '127.0.0.1',
'port' => 11211,
@@ -144,9 +148,6 @@
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
}
// Increase number after changing js or css
$bb_cfg['js_ver'] = $bb_cfg['css_ver'] = 1;
// GZip
$bb_cfg['gzip_compress'] = true; // compress output
@@ -157,6 +158,16 @@
$bb_cfg['verify_reported_ip'] = true; // Verify IP reported by client against $_SERVER['HTTP_X_FORWARDED_FOR']
$bb_cfg['allow_internal_ip'] = false; // Allow internal IP (10.xx.. etc.)
// Ocelot
$bb_cfg['ocelot'] = array(
'enabled' => false,
'host' => $domain_name,
'port' => 34000,
'url' => "http://$domain_name:34000/", // with '/'
'secret' => 'some_10_chars', // 10 chars
'stats' => 'some_10_chars', // 10 chars
);
// FAQ url help link
$bb_cfg['how_to_download_url_help'] = 'viewtopic.php?t=1'; // Как скачивать?
$bb_cfg['what_is_torrent_url_help'] = 'viewtopic.php?t=2'; // Что такое торрент?
@@ -254,6 +265,7 @@
define('CLASS_DIR', BB_PATH .'/library/includes/classes/');
define('UCP_DIR', BB_PATH .'/library/includes/ucp/' );
define('LANG_ROOT_DIR', BB_PATH .'/library/language/' );
define('IMAGES_DIR', BB_PATH .'/styles/images/' );
define('TEMPLATES_DIR', BB_PATH .'/styles/templates/' );
// URL's
@@ -346,12 +358,14 @@
// Email
$bb_cfg['emailer_disabled'] = false;
$bb_cfg['smtp_delivery'] = false; // set true if you want or have to send email via a named server instead of the local mail function
$bb_cfg['smtp_delivery'] = false; // send email via a named server instead of the local mail function
$bb_cfg['smtp_ssl'] = false; // use ssl connect
$bb_cfg['smtp_host'] = ''; // SMTP server host
$bb_cfg['smtp_password'] = ''; // enter a password if your SMTP server requires it
$bb_cfg['smtp_port'] = 25; // SMTP server port
$bb_cfg['smtp_username'] = ''; // enter a username if your SMTP server requires it
$bb_cfg['smtp_password'] = ''; // enter a password if your SMTP server requires it
$bb_cfg['board_email'] = 'noreply@' . $domain_name; // admin email address
$bb_cfg['board_email'] = "noreply@$domain_name"; // admin email address
$bb_cfg['board_email_form'] = false; // can users send email to each other via board
$bb_cfg['board_email_sig'] = ''; // this text will be attached to all emails the board sends
$bb_cfg['board_email_sitename'] = $domain_name; // sitename used in all emails header
@@ -361,9 +375,9 @@
$bb_cfg['group_send_email'] = true;
$bb_cfg['email_change_disabled'] = false; // disable changing email by user
$bb_cfg['tech_admin_email'] = 'admin@' . $domain_name; // email for sending error reports
$bb_cfg['abuse_email'] = 'abuse@' . $domain_name;
$bb_cfg['adv_email'] = 'adv@' . $domain_name;
$bb_cfg['tech_admin_email'] = "admin@$domain_name"; // email for sending error reports
$bb_cfg['abuse_email'] = "abuse@$domain_name";
$bb_cfg['adv_email'] = "adv@$domain_name";
// Debug
define('DBG_LOG', false); // enable forum debug (off on production)
@@ -560,7 +574,7 @@
// Group avatars
$bb_cfg['group_avatars'] = array(
'allowed_ext' => array('gif','jpg','jpeg','png'), // разрешенные форматы файлов
'max_size' => 100*1024, // размер аватары в байтах
'max_size' => 300*1024, // размер аватары в байтах
'max_height' => 300, // высота аватара в px
'max_width' => 300, // ширина аватара в px
'no_avatar' => 'gallery/noavatar.png', // дефолтная аватара
@@ -2,29 +2,47 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
// Get complete counts
DB()->query("
CREATE TEMPORARY TABLE tmp_complete_count
SELECT
topic_id, COUNT(*) AS compl_cnt
FROM ". BB_BT_TORSTAT ."
WHERE completed = 0
GROUP BY topic_id
");
global $bb_cfg;
// Update USER "completed" counters
DB()->query("UPDATE ". BB_BT_TORSTAT ." SET completed = 1");
if ($bb_cfg['ocelot']['enabled'])
{
// Update TORRENT "completed" counters
DB()->query("
UPDATE
". BB_BT_TORRENTS ." tor,
". BB_BT_TRACKER_SNAP. " snap
SET
tor.complete_count = snap.complete
WHERE
tor.topic_id = snap.topic_id
");
}
else
{
// Get complete counts
DB()->query("
CREATE TEMPORARY TABLE tmp_complete_count
SELECT
topic_id, COUNT(*) AS compl_cnt
FROM ". BB_BT_TORSTAT ."
WHERE completed = 0
GROUP BY topic_id
");
// Update TORRENT "completed" counters
DB()->query("
UPDATE
". BB_BT_TORRENTS ." tor,
tmp_complete_count tmp
SET
tor.complete_count = tor.complete_count + tmp.compl_cnt
WHERE
tor.topic_id = tmp.topic_id
");
// Update USER "completed" counters
DB()->query("UPDATE ". BB_BT_TORSTAT ." SET completed = 1");
// Drop tmp table
DB()->query("DROP TEMPORARY TABLE tmp_complete_count");
// Update TORRENT "completed" counters
DB()->query("
UPDATE
". BB_BT_TORRENTS ." tor,
tmp_complete_count tmp
SET
tor.complete_count = tor.complete_count + tmp.compl_cnt
WHERE
tor.topic_id = tmp.topic_id
");
// Drop tmp table
DB()->query("DROP TEMPORARY TABLE tmp_complete_count");
}
Oops, something went wrong.

0 comments on commit 9bf6588

Please sign in to comment.