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 {