$dztbl_ngpt_seeds = DB::table("ngpt_seed");
$sql = <<<EOF
        SELECT {$dztbl_ngpt_seeds}.seed_id, {$dztbl_ngpt_seeds}.tid, {$dztbl_ngpt_seeds}.fid
        FROM `{$dztbl_ngpt_seeds}` WHERE {$dztbl_ngpt_seeds}.tid IN ({$str_thread_ids});
EOF;
$seeds = DB::fetch_all($sql);
$req_json = [];
foreach ($seeds as $seed) {
    $req_json[$seed['seed_id']] = $seed['tid'];
}
$data = ['query_json' => json_encode($req_json)];
$res = PTHelper::getApiCurl("seed/info", $data, true);
if (empty($res) || $res['result'] == 'failed') {
    return;
    throw new Exception("种子服务器返回错误");
} else {
    $_G['threads_seeds'] = $res['extra'];
    foreach ($_G['threads_seeds'] as &$s) {
        $tmp = $s['coef_expire_time'];
        if ($tmp != 0) {
            $s['coef_expire_time'] = "剩余" . PTHelper::getReadableTimeFromMinutes($tmp / 60);
        } else {
            if (!($s['up_coef'] == 100 && $s['down_coef'] == 100)) {
                $s['coef_expire_time'] = '永久';
            } else {
                $s['coef_expire_time'] = '';
            }
        }
        $s['live_time'] = PTHelper::getReadableTimeFromMinutes($s['live_time'] / 60);
    }
}
Example #2
0
 /**
  * 处理浏览帖子逻辑,并返回一个 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;
 }