From b21333bbb942a5473179d84e741247155f69b7ab Mon Sep 17 00:00:00 2001 From: Roman Kelesidis Date: Sun, 11 Jun 2023 01:42:13 +0700 Subject: [PATCH] Added search by torrent status (#805) Mod: https://torrentpier.com/resources/poisk-po-statusu-razdachi.161/ Author: Gemini_13 --- library/config.php | 1 + library/language/source/main.php | 1 + styles/templates/default/tracker.tpl | 6 ++++++ tracker.php | 23 +++++++++++++++++++++++ 4 files changed, 31 insertions(+) diff --git a/library/config.php b/library/config.php index 6f334684a..f727661f2 100644 --- a/library/config.php +++ b/library/config.php @@ -651,6 +651,7 @@ $bb_cfg['tracker'] = [ 'retracker_host' => 'http://retracker.local/announce', 'freeleech' => false, 'guest_tracker' => true, + 'search_by_tor_status' => true ]; // Ratio settings diff --git a/library/language/source/main.php b/library/language/source/main.php index 9730501bc..66df90255 100644 --- a/library/language/source/main.php +++ b/library/language/source/main.php @@ -1152,6 +1152,7 @@ $lang['UNSET_SILVER_TORRENT'] = 'UnMake silver'; $lang['GOLD_STATUS'] = 'GOLD TORRENT! DOWNLOAD TRAFFIC DOES NOT CONSIDER!'; $lang['SILVER_STATUS'] = 'SILVER TORRENT! DOWNLOAD TRAFFIC PARTIALLY CONSIDERED!'; +$lang['TORRENT_STATUS'] = 'Search by status of release'; $lang['SEARCH_IN_FORUMS'] = 'Search in Forums'; $lang['SELECT_CAT'] = 'Select category'; $lang['GO_TO_SECTION'] = 'Goto section'; diff --git a/styles/templates/default/tracker.tpl b/styles/templates/default/tracker.tpl index 2bcefbf39..ecb0c4530 100644 --- a/styles/templates/default/tracker.tpl +++ b/styles/templates/default/tracker.tpl @@ -264,6 +264,12 @@ $(function(){ + +
+ {L_TORRENT_STATUS} +
{TOR_STATUS}
+
+
{L_SHOW_COLUMN}
diff --git a/tracker.php b/tracker.php index e965b3294..06beb8f05 100644 --- a/tracker.php +++ b/tracker.php @@ -46,6 +46,9 @@ $lastvisit = (!IS_GUEST) ? $userdata['user_lastvisit'] : ''; $search_id = (isset($_GET['search_id']) && verify_id($_GET['search_id'], SEARCH_ID_LENGTH)) ? $_GET['search_id'] : ''; $session_id = $userdata['session_id']; +$status = (isset($_POST['status']) && IS_AM && $bb_cfg['tracker']['search_by_tor_status']) ? $_POST['status'] : ''; +$status_list = (!empty($status)) ? join(',', $status) : ''; + $cat_forum = $tor_to_show = $search_in_forums_ary = array(); $title_match_sql = $title_match_q = $search_in_forums_csv = ''; $tr_error = $poster_error = false; @@ -593,6 +596,9 @@ if ($allowed_forums) { if ($tor_type) { $SQL['WHERE'][] = "tor.tor_type IN(1,2)"; } + if (!empty($status_list)) { + $SQL['WHERE'][] = "tor.tor_status IN($status_list)"; + } // ORDER $SQL['ORDER BY'][] = "{$order_opt[$order_val]['sql']} {$sort_opt[$sort_val]['sql']}"; @@ -801,6 +807,22 @@ foreach ($cat_forum['c'] as $cat_id => $forums_ary) { $search_all_opt = '\n"; $cat_forum_select = "\n" . '\n"; +// Status select +$statuses = false; +if (IS_AM && $bb_cfg['tracker']['search_by_tor_status']) { + $tor_search_tracker = array_chunk($bb_cfg['tor_icons'], 2, true); + $statuses = ''; + foreach ($tor_search_tracker as $statuses_part) { + $statuses .= ''; + foreach ($statuses_part as $status_id => $status_styles) { + $checked = (!empty($status) && in_array($status_id, $status)) ? 'checked="checked"' : ''; + $statuses .= ''; + } + $statuses .= ''; + } + $statuses .= '

' . $status_styles . ' ' . $lang['TOR_STATUS_NAME'][$status_id] . '

'; +} + // Sort dir $template->assign_vars(array( 'SORT_NAME' => $sort_key, @@ -879,6 +901,7 @@ $template->assign_vars(array( 'S_RG_SELECT' => build_select($s_rg_key, $s_release_group_select, $s_rg_val), 'TOR_SEARCH_ACTION' => $tracker_url, 'TOR_COLSPAN' => $tor_colspan, + 'TOR_STATUS' => $statuses, 'TITLE_MATCH_MAX' => $title_match_max_len, 'POSTER_NAME_MAX' => $poster_name_max_len, 'POSTER_ERROR' => $poster_error,