diff --git a/app/Repositories/TrackerRepository.php b/app/Repositories/TrackerRepository.php
index 5fdab38c..cdc77cc6 100644
--- a/app/Repositories/TrackerRepository.php
+++ b/app/Repositories/TrackerRepository.php
@@ -758,11 +758,12 @@ class TrackerRepository extends BaseRepository
*
* @param Torrent $torrent
* @param $queries
+ * @param Peer $peer
* @param bool $isPeerExists
*/
private function updateTorrent(Torrent $torrent, $queries, bool $isPeerExists)
{
- if (!empty($queries['event'])) {
+ if (!empty($queries['event']) || !$isPeerExists) {
$torrent->seeders = Peer::query()
->where('torrent', $torrent->id)
->where('to_go', '=',0)
diff --git a/include/constants.php b/include/constants.php
index 8412ab92..1e62e0db 100644
--- a/include/constants.php
+++ b/include/constants.php
@@ -1,6 +1,6 @@
get_page()){
echo $Cache->next_row();
if ($tagKeyById->isNotEmpty()) {
- echo '
| ' . $tagRep->renderSpan($tagKeyById, $renderKeyArr, true) . ' |
';
+ echo '| ' . $tagRep->renderSpan($tagKeyById, $renderKeyArr, true) . ' |
';
}
?>
diff --git a/public/viewpeerlist.php b/public/viewpeerlist.php
index c531cc32..620e37e2 100644
--- a/public/viewpeerlist.php
+++ b/public/viewpeerlist.php
@@ -93,6 +93,7 @@ function dltable($name, $arr, $torrent)
}
$downloaders = array();
$seeders = array();
+ $torrent = \App\Models\Torrent::query()->findOrFail($id, ['id', 'seeders', 'leechers']);
$subres = sql_query("SELECT seeder, finishedat, downloadoffset, uploadoffset, ip, ipv4, ipv6, port, uploaded, downloaded, to_go, UNIX_TIMESTAMP(started) AS st, connectable, agent, peer_id, UNIX_TIMESTAMP(last_action) AS la, userid FROM peers WHERE torrent = $id") or sqlerr();
while ($subrow = mysql_fetch_array($subres)) {
if ($subrow["seeder"] == "yes")
@@ -100,7 +101,16 @@ function dltable($name, $arr, $torrent)
else
$downloaders[] = $subrow;
}
-
+ $seedersCount = count($seeders);
+ $leechersCount = count($downloaders);
+ if ($torrent->seeders != $seedersCount || $torrent->leechers != $leechersCount) {
+ $update = [
+ 'seeders' => $seedersCount,
+ 'leechers' => $leechersCount,
+ ];
+ $torrent->update($update);
+ do_log("[UPDATE_TORRENT_SEEDERS_LEECHERS], torrent: $id, original: " . $torrent->toJson() . ", update: " . json_encode($update));
+ }
function leech_sort($a,$b) {
$x = $a["to_go"];
$y = $b["to_go"];