/** * 处理浏览帖子逻辑,并返回一个 Discuz 模板,该模板会被加入到帖子内容前 * 例: * return template("common/header"); * @param int $tid 即将浏览的帖子ID * @return string */ function viewthread($tid) { $record_seed = PTHelper::getSeedInfoBy('tid', $tid); $seedexists = $record_seed['is_valid']; $seedid = $record_seed['seed_id']; $infohash = $record_seed['info_hash']; $filename = $record_seed['file_name']; $filesize = $record_seed['file_size']; $filesize_str = PTHelper::getReadableFileSize($filesize); $filecount = $record_seed['file_count']; $seeds = $record_seed['seeder_count']; $leechers = $record_seed['leecher_count']; $finished = $record_seed['completed_count']; $lastactive = strtotime($record_seed['last_active_time']); $lastactive_str = date('Y-m-d H:i:s', $lastactive); $status = 'Normal'; //废弃的 $pubdate = strtotime($record_seed['pub_time']); $pubdate_str = date('Y-m-d H:i:s', $lastactive); $traffic = $record_seed['traffic_up']; $traffic_str = PTHelper::getReadableFileSize($traffic); $livetime = $record_seed['live_time']; $livetime_str = PTHelper::getReadableTimeFromMinutes($livetime / 60.0); $coef_expire = intval($record_seed['coef_expire_time']); if ($coef_expire != 0) { $coef_expire = PTHelper::getReadableTimeFromMinutes($coef_expire / 60.0); } else { $coef_expire = "永久"; } $upcoeff = $record_seed['up_coef']; $upcoeff_str = $upcoeff . "% " . $coef_expire; $downcoeff = $record_seed['down_coef']; $downcoeff_str = $downcoeff . "% " . $coef_expire; $seedingip_str = 'ipv4/ipv6'; $filename = $record_seed['torrent_name']; $downseedpageurl = PTHelper::getApiUrl("seed/download", ['seed_id' => $record_seed['seed_id']]); $downseedpageurl = preg_replace("/127.0.0.1/", $_SERVER['SERVER_ADDR'], $downseedpageurl); $candownloadstatus = 'normal'; $return = null; include template('ngpt:resthread-view'); return $return; }
$s_share_ratio_color_str = 'navy'; } elseif ($s_share_ratio < 5) { $s_share_ratio_color_str = 'mediumblue'; } elseif ($s_share_ratio < 10) { $s_share_ratio_color_str = '#00A200'; } else { $s_share_ratio_color_str = '#00DA00'; } // 正在上传、正在下载、完成数 if ($t_cdstate_b) { // 统计某个用户的实际上传中/下载中的种子数量 // 由于某个用户对一个种子可能只有v4或者只有v6,所以应该将二者合起来判断 // 由于 Discuz 不支持 UNION(安全性问题),所以只好在 PHP 中手工去重(去虫 XD) // 注意这么做可能会让机器开销增大! // 关于 $r1、$r2、$r3、$r4 的命名——确实有点作用域污染的意味,不过后面别用这么短的就可以了。 // 正在上传下载peer数 $numuploadingpeers = $detail_info['seeder_count']; $numdownloadingpeers = $detail_info['leecher_count']; // 正在上传下载数 $numuploadingseeds = $detail_info['seed_up_count']; $numdownloadingseeds = $detail_info['seed_down_count']; $numpublishedseeds = $detail_info['published_seed']; // 下载完成数 $numdownloadedseeds = $detail_info['completed_count']; } // passkey 和 tracker if ($t_cdstate_b) { $passkey = $detail_info['passkey']; $fulltracker = PTHelper::getApiUrl('tracker/announce'); $fulltracker = preg_replace("/127.0.0.1/", $_SERVER['SERVER_ADDR'], $fulltracker); }