where('userid', $id) ->whereIn('torrentid', $torrentIdArr) ->select(['seedtime', 'uploaded', 'torrentid']) ->get() ->keyBy('torrentid'); } $ret = "". ($showsize ? "" : "").($showsenum ? "" : "").($showlenum ? "" : "").($showuploaded ? "" : "") . ($showdownloaded ? "" : "").($showratio ? "" : "").($showsetime ? "" : "").($showletime ? "" : "").($showcotime ? "" : "").($showanonymous ? "" : "")."\n"; $total_size = 0; foreach ($results as $arr) { if ($mode == 'uploaded') { $seedTimeAndUploadedData = $seedTimeAndUploaded->get($arr['torrent']); $arr['seedtime'] = $seedTimeAndUploadedData ? $seedTimeAndUploadedData->seedtime : 0; $arr['uploaded'] = $seedTimeAndUploadedData ? $seedTimeAndUploadedData->uploaded : 0; } $catimage = htmlspecialchars($arr["image"]); $catname = htmlspecialchars($arr["catname"]); $sphighlight = get_torrent_bg_color($arr['sp_state']); $banned_torrent = ($arr["banned"] == 'yes' ? " (".$lang_functions['text_banned'].")" : ""); $sp_torrent = get_torrent_promotion_append($arr['sp_state'], '', false, '', 0, '', $arr['__ignore_global_sp_state'] ?? false); //Total size if ($showtotalsize){ $total_size += $arr['size']; } $hrImg = get_hr_img($arr); $approvalStatusIcon = $torrentRep->renderApprovalStatus($arr["approval_status"]); //torrent name $dispname = $nametitle = htmlspecialchars($arr["torrentname"]); $count_dispname=mb_strlen($dispname,"UTF-8"); $max_lenght_of_torrent_name=($CURUSER['fontsize'] == 'large' ? 70 : 80); if($count_dispname > $max_lenght_of_torrent_name) $dispname=mb_substr($dispname, 0, $max_lenght_of_torrent_name,"UTF-8") . ".."; if ($smalldescription_main == 'yes'){ //small description $dissmall_descr = htmlspecialchars(trim($arr["small_descr"])); $count_dissmall_descr=mb_strlen($dissmall_descr,"UTF-8"); $max_lenght_of_small_descr=80; // maximum length if($count_dissmall_descr > $max_lenght_of_small_descr) { $dissmall_descr=mb_substr($dissmall_descr, 0, $max_lenght_of_small_descr,"UTF-8") . ".."; } } else $dissmall_descr == ""; $ret .= "\n" . ""; $ret .= sprintf('', substr($arr['added'], 0, 10), substr($arr['added'], 11)); //size if ($showsize) $ret .= ""; //number of seeders if ($showsenum) $ret .= ""; //number of leechers if ($showlenum) $ret .= ""; //uploaded amount if ($showuploaded){ $uploaded = mksize_compact($arr["uploaded"]); $ret .= ""; } //downloaded amount if ($showdownloaded){ $downloaded = mksize_compact($arr["downloaded"]); $ret .= ""; } //ratio if ($showratio){ if ($arr['downloaded'] > 0) { $ratio = number_format($arr['uploaded'] / $arr['downloaded'], 3); $ratio = "".$ratio.""; } elseif ($arr['uploaded'] > 0) $ratio = "Inf."; else $ratio = "---"; $ret .= ""; } if ($showsetime){ $ret .= ""; } if ($showletime){ $ret .= ""; } if ($showcotime) $ret .= ""; if ($showanonymous) $ret .= ""; $ret .="\n"; } $ret .= "
".$lang_getusertorrentlistajax['col_type']."".$lang_getusertorrentlistajax['col_name']."".$lang_getusertorrentlistajax['col_added']."\"size\"\"seeders\"\"leechers\"".$lang_getusertorrentlistajax['col_uploaded']."".$lang_getusertorrentlistajax['col_downloaded']."".$lang_getusertorrentlistajax['col_ratio']."".$lang_getusertorrentlistajax['col_se_time']."".$lang_getusertorrentlistajax['col_le_time']."".$lang_getusertorrentlistajax['col_time_completed']."".$lang_getusertorrentlistajax['col_anonymous']."
".return_category_image($arr['category'], "torrents.php?allsec=1&")."" . $dispname . "". $banned_torrent . $sp_torrent . $hrImg . $approvalStatusIcon .($dissmall_descr == "" ? "" : "
" . $dissmall_descr) . "
%s
%s
". mksize_compact($arr['size'])."".$arr['seeders']."".$arr['leechers']."".$uploaded."".$downloaded."".$ratio."".mkprettytime($arr['seedtime'])."".mkprettytime($arr['leechtime']).""."". str_replace(" ", "
", gettime($arr['completedat'],false)). "
".$arr['anonymous']."
\n"; return [$ret, $total_size]; } $count = 0; $torrentlist = ""; switch ($type) { case 'uploaded': { // $res = sql_query("SELECT torrents.id AS torrent, torrents.name as torrentname, small_descr, seeders, leechers, anonymous, torrents.banned, torrents.approval_status, categories.name AS catname, categories.image, category, sp_state, size, torrents.hr, snatched.seedtime, snatched.uploaded FROM torrents LEFT JOIN snatched ON torrents.id = snatched.torrentid LEFT JOIN categories ON torrents.category = categories.id WHERE torrents.owner=$id AND snatched.userid=$id " . (($CURUSER["id"] != $id)?((get_user_class() < $viewanonymous_class) ? " AND anonymous = 'no'":""):"") ." ORDER BY torrents.added DESC") or sqlerr(__FILE__, __LINE__); // $res = sql_query("SELECT torrents.id AS torrent, torrents.name as torrentname, small_descr, seeders, leechers, anonymous, torrents.banned, torrents.approval_status, categories.name AS catname, categories.image, category, sp_state, size, torrents.hr, torrents.added FROM torrents LEFT JOIN categories ON torrents.category = categories.id WHERE torrents.owner=$id " . (($CURUSER["id"] != $id)?((!user_can('viewanonymous')) ? " AND anonymous = 'no'":""):"") ." ORDER BY torrents.id DESC") or sqlerr(__FILE__, __LINE__); $fields = "torrents.id AS torrent, torrents.name as torrentname, small_descr, seeders, leechers, anonymous, torrents.banned, torrents.approval_status, categories.name AS catname, categories.image, category, sp_state, size, torrents.hr, torrents.added"; $tableWhere = "torrents LEFT JOIN categories ON torrents.category = categories.id WHERE torrents.owner=$id"; if ($CURUSER['id'] != $id && !user_can('viewanonymous')) { $tableWhere .= " AND anonymous = 'no'"; } $order = "torrents.id DESC"; break; } // Current Seeding case 'seeding': { // $res = sql_query("SELECT torrent,added,snatched.uploaded,snatched.downloaded,torrents.name as torrentname, torrents.small_descr, torrents.sp_state, torrents.banned, torrents.approval_status, categories.name as catname,size,torrents.hr,image,category,seeders,leechers FROM peers LEFT JOIN torrents ON peers.torrent = torrents.id LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN snatched ON torrents.id = snatched.torrentid WHERE peers.userid=$id AND snatched.userid = $id AND peers.seeder='yes' ORDER BY torrents.id DESC") or sqlerr(); $fields = "torrent,added,snatched.uploaded,snatched.downloaded,torrents.name as torrentname, torrents.small_descr, torrents.sp_state, torrents.banned, torrents.approval_status, categories.name as catname,size,torrents.hr,image,category,seeders,leechers,snatched.seedtime,snatched.uploaded"; $tableWhere = "peers LEFT JOIN torrents ON peers.torrent = torrents.id LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN snatched ON torrents.id = snatched.torrentid WHERE peers.userid=$id AND snatched.userid = $id AND peers.seeder='yes'"; $order = "torrents.id DESC"; break; } // Current Leeching case 'leeching': { // $res = sql_query("SELECT torrent,snatched.uploaded,snatched.downloaded,torrents.name as torrentname, torrents.small_descr, torrents.sp_state, torrents.banned, torrents.approval_status, categories.name as catname,size,torrents.hr,image,category,seeders,leechers, torrents.added FROM peers LEFT JOIN torrents ON peers.torrent = torrents.id LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN snatched ON torrents.id = snatched.torrentid WHERE peers.userid=$id AND snatched.userid = $id AND peers.seeder='no' ORDER BY torrents.id DESC") or sqlerr(); $fields = "torrent,snatched.uploaded,snatched.downloaded,torrents.name as torrentname, torrents.small_descr, torrents.sp_state, torrents.banned, torrents.approval_status, categories.name as catname,size,torrents.hr,image,category,seeders,leechers, torrents.added,snatched.seedtime,snatched.uploaded"; $tableWhere = "peers LEFT JOIN torrents ON peers.torrent = torrents.id LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN snatched ON torrents.id = snatched.torrentid WHERE peers.userid=$id AND snatched.userid = $id AND peers.seeder='no'"; $order = "torrents.id DESC"; break; } // Completed torrents case 'completed': { // $res = sql_query("SELECT torrents.id AS torrent, torrents.name AS torrentname, small_descr, categories.name AS catname, torrents.banned, torrents.approval_status, categories.image, category, sp_state, size, torrents.hr, torrents.added,snatched.uploaded, snatched.seedtime, snatched.leechtime, snatched.completedat FROM torrents LEFT JOIN snatched ON torrents.id = snatched.torrentid LEFT JOIN categories on torrents.category = categories.id WHERE snatched.finished='yes' AND torrents.owner != $id AND userid=$id ORDER BY snatched.id DESC") or sqlerr(); $fields = "torrents.id AS torrent, torrents.name AS torrentname, small_descr, categories.name AS catname, torrents.banned, torrents.approval_status, categories.image, category, sp_state, size, torrents.hr, torrents.added,snatched.uploaded, snatched.seedtime,snatched.uploaded, snatched.leechtime, snatched.completedat"; $tableWhere = "torrents LEFT JOIN snatched ON torrents.id = snatched.torrentid LEFT JOIN categories on torrents.category = categories.id WHERE snatched.finished='yes' AND userid=$id AND torrents.owner != $id"; $order = "snatched.id DESC"; break; } // Incomplete torrents case 'incomplete': { $res = sql_query("SELECT torrents.id AS torrent, torrents.name AS torrentname, small_descr, torrents.banned, torrents.approval_status, categories.name AS catname, categories.image, category, sp_state, size, torrents.hr, torrents.added,snatched.uploaded, snatched.downloaded, snatched.leechtime FROM torrents LEFT JOIN snatched ON torrents.id = snatched.torrentid LEFT JOIN categories on torrents.category = categories.id WHERE snatched.finished='no' AND userid=$id AND torrents.owner != $id ORDER BY snatched.id DESC") or sqlerr(); $fields = "torrents.id AS torrent, torrents.name AS torrentname, small_descr, torrents.banned, torrents.approval_status, categories.name AS catname, categories.image, category, sp_state, size, torrents.hr, torrents.added,snatched.uploaded, snatched.downloaded, snatched.leechtime,snatched.seedtime,snatched.uploaded"; $tableWhere = "torrents LEFT JOIN snatched ON torrents.id = snatched.torrentid LEFT JOIN categories on torrents.category = categories.id WHERE snatched.finished='no' AND userid=$id AND torrents.owner != $id"; $order = "snatched.id DESC"; break; } } if (isset($tableWhere)) { $cacheKey = sprintf('user:%s:type:%s:total_size', $id, $type); $page = $_GET['page'] ?? 0; $sumSql = "select count(*) as count, sum(torrents.size) as total_size from $tableWhere limit 1"; if ($page == 0) { $sumRes = mysql_fetch_assoc(sql_query($sumSql)); \Nexus\Database\NexusDB::cache_put($cacheKey, $sumRes); } else { $sumRes = \Nexus\Database\NexusDB::remember($cacheKey, 3600, function () use ($sumSql) { return mysql_fetch_assoc(sql_query($sumSql)); }); } $count = $sumRes['count']; $total_size = $sumRes['total_size']; } if ($count > 0 && isset($tableWhere, $fields, $order)) { $pageSize = 100; list($pagertop, $pagerbottom, $limit) = pager($pageSize, $count, "getusertorrentlistajax.php?"); $sql = "select $fields from $tableWhere order by $order $limit"; do_log("count: $count, list sql: $sql"); $res = sql_query($sql); list($torrentlist, $total_size_this_page) = maketable ( $res, $type); } if (isset($total_size) && $total_size){ echo "
" . $count . "" . $lang_getusertorrentlistajax['text_record'] . add_s ( $count ) . $lang_getusertorrentlistajax['text_total_size'] . mksize($total_size) . $pagertop . $torrentlist . $pagerbottom; } elseif ($count){ echo "
".$count."".$lang_getusertorrentlistajax['text_record'].add_s($count). $pagertop . $torrentlist . $pagerbottom; } else { echo $lang_getusertorrentlistajax['text_no_record']; } ?>