diff --git a/include/functions.php b/include/functions.php
index 5208bed4..551b6052 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -3021,7 +3021,7 @@ function get_torrent_bookmark_state($userid, $torrentid, $text = false)
return $act;
}
-function torrenttable($res, $variant = "torrent") {
+function torrenttable($rows, $variant = "torrent") {
global $Cache;
global $lang_functions;
global $CURUSER, $waitsystem;
@@ -3037,6 +3037,8 @@ function torrenttable($res, $variant = "torrent") {
} elseif ($enableImdb) {
$imdb = new Nexus\Imdb\Imdb();
}
+ $torrent = new Nexus\Torrent\Torrent();
+ $torrentSeedingLeechingStatus = $torrent->listLeechingSeedingStatus($CURUSER['id'], array_column($rows, 'id'));
if ($variant == "torrent"){
$last_browse = $CURUSER['last_browse'];
@@ -3132,7 +3134,8 @@ $counter = 0;
if ($smalldescription_main == 'no' || $CURUSER['showsmalldescr'] == 'no')
$displaysmalldescr = false;
else $displaysmalldescr = true;
-while ($row = mysql_fetch_assoc($res))
+//while ($row = mysql_fetch_assoc($res))
+foreach ($rows as $row)
{
$id = $row["id"];
$sphighlight = get_torrent_bg_color($row['sp_state']);
@@ -3234,6 +3237,9 @@ while ($row = mysql_fetch_assoc($res))
print($dissmall_descr == "" ? "" : "
".$tags.htmlspecialchars($dissmall_descr));
} else {
print("
$tags");
+ }
+ if (isset($torrentSeedingLeechingStatus[$row['id']])) {
+ print('
');
}
print("");
if ($enablePtGen && !empty($row['pt_gen'])) {
diff --git a/nexus/Database/DB.php b/nexus/Database/DB.php
index cc128ce0..76514a67 100644
--- a/nexus/Database/DB.php
+++ b/nexus/Database/DB.php
@@ -187,4 +187,24 @@ class DB
return mysql_fetch_assoc($res);
}
+ public static function getAll($table, $whereStr, $fields = '*')
+ {
+ if ($fields != '*') {
+ if (is_array($fields)) {
+ $fields = implode(', ', $fields);
+ }
+ }
+ if (empty($fields)) {
+ do_log("args: " . json_encode(func_get_args()));
+ throw new DatabaseException("empty fields.");
+ }
+ $sql = "select $fields from $table where $whereStr";
+ $res = sql_query($sql);
+ $result = [];
+ while ($row = mysql_fetch_assoc($res)) {
+ $result[] = $row;
+ }
+ return $result;
+ }
+
}
\ No newline at end of file
diff --git a/nexus/Torrent/TechnicalInformation.php b/nexus/Torrent/TechnicalInformation.php
index e035b24a..2d8353d1 100644
--- a/nexus/Torrent/TechnicalInformation.php
+++ b/nexus/Torrent/TechnicalInformation.php
@@ -8,10 +8,10 @@ class TechnicalInformation
private $mediaInfoArr;
- public function __construct(string $mediaInfo)
+ public function __construct($mediaInfo)
{
- $this->mediaInfo = $mediaInfo;
- $this->mediaInfoArr = $this->getMediaInfoArr($mediaInfo);
+ $this->mediaInfo = (string)$mediaInfo;
+ $this->mediaInfoArr = $this->getMediaInfoArr((string)$mediaInfo);
}
public function getMediaInfoArr(string $mediaInfo)
diff --git a/nexus/Torrent/Torrent.php b/nexus/Torrent/Torrent.php
new file mode 100644
index 00000000..0652b7a1
--- /dev/null
+++ b/nexus/Torrent/Torrent.php
@@ -0,0 +1,51 @@
+ $row['to_go'] == 0 ? 'yes' : 'no',
+ 'progress' => $progress,
+ 'active_status' => $activeStatus,
+ ];
+ }
+ return $snatchedList;
+ }
+}
\ No newline at end of file
diff --git a/public/torrents.php b/public/torrents.php
index 25faf15b..6b8b3f70 100644
--- a/public/torrents.php
+++ b/public/torrents.php
@@ -1086,12 +1086,16 @@ elseif($inclbookmarked == 2)
}
if ($count) {
+ $rows = [];
+ while ($row = mysql_fetch_assoc($res)) {
+ $rows[] = $row;
+ }
print($pagertop);
if ($sectiontype == $browsecatmode)
- torrenttable($res, "torrents");
+ torrenttable($rows, "torrents");
elseif ($sectiontype == $specialcatmode)
- torrenttable($res, "music");
- else torrenttable($res, "bookmarks");
+ torrenttable($rows, "music");
+ else torrenttable($rows, "bookmarks");
print($pagerbottom);
}
else {