diff --git a/app/Repositories/HitAndRunRepository.php b/app/Repositories/HitAndRunRepository.php index 567898e9..f976598e 100644 --- a/app/Repositories/HitAndRunRepository.php +++ b/app/Repositories/HitAndRunRepository.php @@ -386,6 +386,7 @@ class HitAndRunRepository extends BaseRepository $sql = "select hit_and_runs.status, count(*) as counts from hit_and_runs where uid = $uid group by status"; } $results = NexusDB::select($sql); + do_log("user: $uid, sql: $sql, results: " . json_encode($results)); if (!$formatted) { return $results; } @@ -406,12 +407,16 @@ class HitAndRunRepository extends BaseRepository } return implode(" ", $out); } else { + $grouped = []; + foreach ($results as $item) { + $grouped[$item['status']] = $item['counts']; + } foreach (SearchBox::listSections() as $key => $info) { if ($key == SearchBox::SECTION_BROWSE) { return sprintf( '%s/%s/%s', - $results[HitAndRun::STATUS_INSPECTING] ?? 0, - $results[HitAndRun::STATUS_UNREACHED] ?? 0, + $grouped[HitAndRun::STATUS_INSPECTING] ?? 0, + $grouped[HitAndRun::STATUS_UNREACHED] ?? 0, HitAndRun::getConfig('ban_user_when_counts_reach', $info['mode']) ); } diff --git a/include/functions.php b/include/functions.php index 003f6636..4f356865 100644 --- a/include/functions.php +++ b/include/functions.php @@ -5867,8 +5867,8 @@ function calculate_seed_bonus($uid, $torrentIdArr = null): array $timenow = time(); $sectoweek = 7*24*60*60; - $A = 0; - $count = $torrent_peer_count = 0; + $A = $official_a = $size = $official_size = 0; + $count = $torrent_peer_count = $official_torrent_peer_count = 0; $logPrefix = "[CALCULATE_SEED_BONUS], uid: $uid, torrentIdArr: " . json_encode($torrentIdArr); if ($torrentIdArr !== null) { if (empty($torrentIdArr)) { @@ -5893,9 +5893,9 @@ function calculate_seed_bonus($uid, $torrentIdArr = null): array $zeroBonusTag = \App\Models\Setting::get('bonus.zero_bonus_tag'); $zeroBonusFactor = \App\Models\Setting::get('bonus.zero_bonus_factor'); do_log("$logPrefix, sql: $sql, count: " . count($torrentResult) . ", officialTag: $officialTag, officialAdditionalFactor: $officialAdditionalFactor, zeroBonusTag: $zeroBonusTag, zeroBonusFactor: $zeroBonusFactor"); - $official_a = 0; foreach ($torrentResult as $torrent) { + $size = bcadd($size, $torrent['size']); $weeks_alive = ($timenow - strtotime($torrent['added'])) / $sectoweek; $gb_size = $gb_size_raw = $torrent['size'] / 1073741824; if ($zeroBonusTag && isset($tagGrouped[$torrent['id']][$zeroBonusTag]) && is_numeric($zeroBonusFactor)) { @@ -5908,6 +5908,8 @@ function calculate_seed_bonus($uid, $torrentIdArr = null): array $officialAIncrease = 0; if ($officialTag && isset($tagGrouped[$torrent['id']][$officialTag])) { $officialAIncrease = $temp; + $official_torrent_peer_count++; + $official_size = bcadd($official_size, $torrent['size']); } $official_a += $officialAIncrease; do_log(sprintf( @@ -5920,7 +5922,10 @@ function calculate_seed_bonus($uid, $torrentIdArr = null): array $seed_bonus = $seed_points = $valuetwo * atan($A / $l_bonus) + ($perseeding_bonus * $count); //Official addition don't think about the minimum value $official_bonus = $valuetwo * atan($official_a / $l_bonus); - $result = compact('seed_points','seed_bonus', 'A', 'count', 'torrent_peer_count', 'official_a', 'official_bonus'); + $result = compact( + 'seed_points','seed_bonus', 'A', 'count', 'torrent_peer_count', 'size', + 'official_bonus', 'official_a', 'official_torrent_peer_count', 'official_size' + ); $result['donor_times'] = $donortimes_bonus; $result['official_additional_factor'] = $officialAdditionalFactor; do_log("$logPrefix, result: " . json_encode($result)); diff --git a/include/globalfunctions.php b/include/globalfunctions.php index 51d23737..5fffd7fe 100644 --- a/include/globalfunctions.php +++ b/include/globalfunctions.php @@ -867,8 +867,8 @@ function getDataTraffic(array $torrent, array $queries, array $user, $peer, $sna throw new \InvalidArgumentException("user no '__is_donor' field"); } $log = sprintf( - "torrent: %s, user: %s, peerUploaded: %s, peerDownloaded: %s, queriesUploaded: %s, queriesDownloaded: %s", - $torrent['id'], $user['id'], $peer['uploaded'] ?? '', $peer['downloaded'] ?? '', $queries['uploaded'], $queries['downloaded'] + "torrent: %s, owner: %s, user: %s, peerUploaded: %s, peerDownloaded: %s, queriesUploaded: %s, queriesDownloaded: %s", + $torrent['id'], $torrent['owner'], $user['id'], $peer['uploaded'] ?? '', $peer['downloaded'] ?? '', $queries['uploaded'], $queries['downloaded'] ); if (!empty($peer)) { $realUploaded = max(bcsub($queries['uploaded'], $peer['uploaded']), 0); @@ -930,7 +930,7 @@ function getDataTraffic(array $torrent, array $queries, array $user, $peer, $sna */ $isSeedBoxRuleEnabled = get_setting('seed_box.enabled') == 'yes'; $log .= ", isSeedBoxRuleEnabled: $isSeedBoxRuleEnabled, user class: {$user['class']}, __is_donor: {$user['__is_donor']}"; - if ($isSeedBoxRuleEnabled && !($user['class'] >= \App\Models\User::CLASS_VIP || $user['__is_donor'])) { + if ($isSeedBoxRuleEnabled && $torrent['owner'] != $user['id'] && !($user['class'] >= \App\Models\User::CLASS_VIP || $user['__is_donor'])) { $isIPSeedBox = isIPSeedBox($queries['ip'], $user['id']); $log .= ", isIPSeedBox: $isIPSeedBox"; if ($isIPSeedBox) { diff --git a/lang/chs/lang_mybonus.php b/lang/chs/lang_mybonus.php index 4f7f4b6b..98999c84 100644 --- a/lang/chs/lang_mybonus.php +++ b/lang/chs/lang_mybonus.php @@ -153,6 +153,9 @@ $lang_mybonus = array 'harem_additional_desc' => '后宫只考虑直属后宫。每个后宫加成值可在此查看', 'harem_additional_factor' => '所得奖励为全部后宫的时魔(不考虑加成)之和,乘以后宫加成系数,当前值为:', 'text_bonus_summary' => '每小时获得的合计魔力值', + 'col_count' => '数量', + 'col_size' => '体积', + 'col_a' => 'A 值', ); ?> diff --git a/lang/cht/lang_mybonus.php b/lang/cht/lang_mybonus.php index c71668e2..6fb176ba 100644 --- a/lang/cht/lang_mybonus.php +++ b/lang/cht/lang_mybonus.php @@ -153,6 +153,9 @@ $lang_mybonus = array 'harem_additional_desc' => '後宮只考慮直屬後宮。每個後宮加成值可在此查看', 'harem_additional_factor' => '所得獎勵為全部後宮的時魔(不考慮加成)之和,乘以後宮加成系數,當前值為:', 'text_bonus_summary' => '每小時獲得的合計魔力值', + 'col_count' => '數量', + 'col_size' => '體積', + 'col_a' => 'A 值', ); ?> diff --git a/lang/en/lang_mybonus.php b/lang/en/lang_mybonus.php index f42e096d..83b6717e 100644 --- a/lang/en/lang_mybonus.php +++ b/lang/en/lang_mybonus.php @@ -153,6 +153,9 @@ where