diff --git a/install/sql/mysql.sql b/install/sql/mysql.sql index 309ead97a..d194b8f0c 100644 --- a/install/sql/mysql.sql +++ b/install/sql/mysql.sql @@ -291,6 +291,7 @@ CREATE TABLE IF NOT EXISTS `bb_bt_torrents` `tor_type` TINYINT(1) NOT NULL DEFAULT '0', `speed_up` INT(11) NOT NULL DEFAULT '0', `speed_down` INT(11) NOT NULL DEFAULT '0', + `last_seeder_id` INT(11) NOT NULL DEFAULT '0', PRIMARY KEY (`topic_id`), UNIQUE KEY `post_id` (`post_id`), UNIQUE KEY `topic_id` (`topic_id`), @@ -1456,6 +1457,7 @@ CREATE TABLE IF NOT EXISTS `buf_last_seeder` ( `topic_id` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0', `seeder_last_seen` INT(11) NOT NULL DEFAULT '0', + `user_id` INT(11) NOT NULL DEFAULT '0', PRIMARY KEY (`topic_id`) ) ENGINE = MyISAM diff --git a/library/attach_mod/displaying_torrent.php b/library/attach_mod/displaying_torrent.php index c676606e2..bfd81e5a1 100644 --- a/library/attach_mod/displaying_torrent.php +++ b/library/attach_mod/displaying_torrent.php @@ -501,8 +501,10 @@ if ($tor_reged && $tor_info) { // Show "seeder last seen info" if (($s_mode == 'count' && !$seed_count) || (!$seeders && !defined('SEEDER_EXIST'))) { $last_seen_time = ($tor_info['seeder_last_seen']) ? delta_time($tor_info['seeder_last_seen']) : $lang['NEVER']; + $last_seeder_username = !empty($tor_info['last_seeder_id']) ? '(' .get_userdata($tor_info['last_seeder_id'])['username']. ')' : ''; $template->assign_vars(['SEEDER_LAST_SEEN' => sprintf($lang['SEEDER_LAST_SEEN'], $last_seen_time)]); + $template->assign_vars(['SEEDER_USERNAME' => $last_seeder_username]); } } diff --git a/library/includes/cron/jobs/tr_cleanup_and_dlstat.php b/library/includes/cron/jobs/tr_cleanup_and_dlstat.php index 43c6ebe09..91319f125 100644 --- a/library/includes/cron/jobs/tr_cleanup_and_dlstat.php +++ b/library/includes/cron/jobs/tr_cleanup_and_dlstat.php @@ -54,13 +54,14 @@ if ($bb_cfg['tracker']['update_dlstat']) { // Update last seeder info in BUF DB()->query(" - REPLACE INTO " . BUF_LAST_SEEDER . " - (topic_id, seeder_last_seen) - SELECT - topic_id, " . TIMENOW . " - FROM " . BB_BT_TRACKER . " - WHERE seeder = 1 - GROUP BY topic_id + REPLACE INTO " . BUF_LAST_SEEDER . " + (topic_id, user_id, seeder_last_seen) + SELECT + topic_id, user_id, " . TIMENOW . " + FROM " . BB_BT_TRACKER . " + WHERE seeder = 1 + GROUP BY topic_id, user_id + ORDER BY update_time DESC "); // Clean peers table diff --git a/library/includes/cron/jobs/tr_update_seeder_last_seen.php b/library/includes/cron/jobs/tr_update_seeder_last_seen.php index ef9408df9..d995aa1d6 100644 --- a/library/includes/cron/jobs/tr_update_seeder_last_seen.php +++ b/library/includes/cron/jobs/tr_update_seeder_last_seen.php @@ -16,7 +16,8 @@ DB()->query(" " . BUF_LAST_SEEDER . " b, " . BB_BT_TORRENTS . " tor SET - tor.seeder_last_seen = b.seeder_last_seen + tor.seeder_last_seen = b.seeder_last_seen, + tor.last_seeder_id = b.user_id WHERE tor.topic_id = b.topic_id "); diff --git a/styles/templates/default/viewtopic_torrent.tpl b/styles/templates/default/viewtopic_torrent.tpl index a5e2288ca..2cd480a6f 100644 --- a/styles/templates/default/viewtopic_torrent.tpl +++ b/styles/templates/default/viewtopic_torrent.tpl @@ -73,7 +73,7 @@ ajax.callback.callseed = function (data) {
{SEEDER_LAST_SEEN}
+{SEEDER_LAST_SEEN} {SEEDER_USERNAME}
@@ -105,7 +105,7 @@ ajax.callback.callseed = function (data) {{SEEDER_LAST_SEEN}
+{SEEDER_LAST_SEEN} {SEEDER_USERNAME}
{SEEDER_LAST_SEEN}
+{SEEDER_LAST_SEEN} {SEEDER_USERNAME}