diff --git a/upload/config.php b/upload/config.php
index 20a278645..1f8c7b8be 100644
--- a/upload/config.php
+++ b/upload/config.php
@@ -53,8 +53,8 @@ $bb_cfg = $tr_cfg = $page_cfg = array();
// Increase number of revision after update
$bb_cfg['tp_version'] = '2.2 Beta';
-$bb_cfg['tp_release_state'] = 'R317';
-$bb_cfg['tp_release_date'] = '15-11-2011';
+$bb_cfg['tp_release_state'] = 'R319';
+$bb_cfg['tp_release_date'] = '16-11-2011';
// Database
$charset = 'utf8';
diff --git a/upload/includes/functions_torrent.php b/upload/includes/functions_torrent.php
index 82793a5e5..4f8cdbf5f 100644
--- a/upload/includes/functions_torrent.php
+++ b/upload/includes/functions_torrent.php
@@ -249,7 +249,7 @@ function change_tor_type ($attach_id, $tor_status_gold)
}
}
-function tracker_register ($attach_id, $mode = '')
+function tracker_register ($attach_id, $mode = '', $tor_status = TOR_NOT_APPROVED)
{
global $template, $attach_config, $bb_cfg, $lang, $return_message, $reg_mode, $tr_cfg;
@@ -381,8 +381,8 @@ function tracker_register ($attach_id, $mode = '')
$reg_time = TIMENOW;
$size = sprintf('%.0f', (float) $totallen);
- $columns = ' info_hash, post_id, poster_id, topic_id, forum_id, attach_id, size, reg_time';
- $values = "'$info_hash_sql', $post_id, $poster_id, $topic_id, $forum_id, $attach_id, '$size', $reg_time";
+ $columns = ' info_hash, post_id, poster_id, topic_id, forum_id, attach_id, size, reg_time, tor_status';
+ $values = "'$info_hash_sql', $post_id, $poster_id, $topic_id, $forum_id, $attach_id, '$size', $reg_time, $tor_status";
$sql = "INSERT INTO ". BB_BT_TORRENTS ." ($columns) VALUES ($values)";
diff --git a/upload/includes/init_bb.php b/upload/includes/init_bb.php
index 38bd07360..a6c019ec1 100644
--- a/upload/includes/init_bb.php
+++ b/upload/includes/init_bb.php
@@ -287,6 +287,7 @@ define('TOR_CONSUMED', 7); // поглощено
define('TOR_DOUBTFUL', 8); // сомнительно
define('TOR_CHECKING', 9); // проверяется
define('TOR_TMP', 10); // временная
+define('TOR_PREMOD', 11); // премодерация
$bb_cfg['tor_icons'] = array(
TOR_NOT_APPROVED => '*',
@@ -300,6 +301,7 @@ $bb_cfg['tor_icons'] = array(
TOR_DOUBTFUL => '#',
TOR_CHECKING => '%',
TOR_TMP => 'T',
+ TOR_PREMOD => '∏',
);
// Запрет на скачивание
@@ -310,6 +312,7 @@ $bb_cfg['tor_frozen'] = array(
TOR_CONSUMED => true,
TOR_DUP => true,
TOR_NO_DESC => true,
+ TOR_PREMOD => true,
);
// Запрет на редактирование головного сообщения
$bb_cfg['tor_cannot_edit'] = array(
diff --git a/upload/language/lang_english/lang_main.php b/upload/language/lang_english/lang_main.php
index 4210dd886..dd1a5632f 100644
--- a/upload/language/lang_english/lang_main.php
+++ b/upload/language/lang_english/lang_main.php
@@ -1218,6 +1218,7 @@ $lang['TOR_STATUS_NAME'] = array(
TOR_DOUBTFUL => 'doubtful',
TOR_CHECKING => 'verified',
TOR_TMP => 'temporary',
+ TOR_PREMOD => 'pre-moderation',
);
$lang['TOR_STATUS_FAILED'] = 'Such status does not exist!';
$lang['TORRENT_FAILED'] = 'Distribution was not found!';
diff --git a/upload/language/lang_russian/lang_main.php b/upload/language/lang_russian/lang_main.php
index 324e0bdff..c08d68264 100644
--- a/upload/language/lang_russian/lang_main.php
+++ b/upload/language/lang_russian/lang_main.php
@@ -1225,6 +1225,7 @@ $lang['TOR_STATUS_NAME'] = array(
TOR_DOUBTFUL => 'сомнительно',
TOR_CHECKING => 'проверяется',
TOR_TMP => 'временная',
+ TOR_PREMOD => 'премодерация',
);
$lang['TOR_STATUS_FAILED'] = 'Такого статуса не существует!';
$lang['TORRENT_FAILED'] = 'Раздача не найдена!';
diff --git a/upload/posting.php b/upload/posting.php
index 0d6761a7a..bea973d84 100644
--- a/upload/posting.php
+++ b/upload/posting.php
@@ -541,7 +541,33 @@ else if ( ($submit || $confirm) && !$topic_has_new_posts )
include(INC_DIR .'functions_torrent.php');
if(!DB()->fetch_row("SELECT attach_id FROM ". BB_BT_TORRENTS ." WHERE attach_id = ". TORRENT_ATTACH_ID))
{
- tracker_register(TORRENT_ATTACH_ID, 'newtopic');
+ // Получение списка id форумов начиная с parent
+ $forum_parent = $forum_id;
+ if ($post_info['forum_parent']) $forum_parent = $post_info['forum_parent'];
+ $count_sql = "
+ SELECT forum_id
+ FROM ". BB_FORUMS ."
+ WHERE forum_parent = $forum_parent
+ ";
+ $count_rowset = DB()->fetch_rowset($count_sql);
+ $sub_forums = array();
+ foreach ($count_rowset as $count_row)
+ {
+ if ($count_row['forum_id'] != $forum_id) $sub_forums[] = $count_row['forum_id'];
+ }
+ $sub_forums[] = $forum_id;
+ $sub_forums = join(',', $sub_forums);
+ // Подсчёт проверенных релизов в форумах раздела
+ $count_checked_releases = DB()->fetch_row("
+ SELECT COUNT(*) AS checked_releases
+ FROM ". BB_BT_TORRENTS ."
+ WHERE poster_id = ". $userdata['user_id'] ."
+ AND forum_id IN($sub_forums)
+ AND tor_status IN(". TOR_APPROVED .",". TOR_DOUBTFUL .",". TOR_TMP .")
+ LIMIT 1
+ ", 'checked_releases');
+ if ($count_checked_releases || IS_AM) tracker_register(TORRENT_ATTACH_ID, 'newtopic', TOR_NOT_APPROVED);
+ else tracker_register(TORRENT_ATTACH_ID, 'newtopic', TOR_PREMOD);
}
}