fix: resolve PHPStan static analysis warnings

This commit is contained in:
xboard
2025-04-14 02:12:42 +08:00
parent 3d254c02c1
commit 2d3e4b4a95
84 changed files with 2330 additions and 1190 deletions

View File

@@ -156,13 +156,17 @@ class UserOnlineService
}
/**
* 计算设备数量
* Calculate the number of devices based on IPs array and device limit mode.
*
* @param array $ipsArray Array containing IP data
* @return int Number of devices
*/
private function calculateDeviceCount(array $ipsArray): int
{
// 设备限制模式
return match ((int) admin_setting('device_limit_mode', 0)) {
// 宽松模式
$mode = (int) admin_setting('device_limit_mode', 0);
return match ($mode) {
// Loose mode: Count unique IPs (ignoring suffixes after '_')
1 => collect($ipsArray)
->filter(fn(mixed $data): bool => is_array($data) && isset($data['aliveips']))
->flatMap(
@@ -173,9 +177,12 @@ class UserOnlineService
)
->unique()
->count(),
// Strict mode: Sum total number of alive IPs
0 => collect($ipsArray)
->filter(fn(mixed $data): bool => is_array($data) && isset($data['aliveips']))
->sum(fn(array $data): int => count($data['aliveips']))
->sum(fn(array $data): int => count($data['aliveips'])),
// Handle invalid modes
default => throw new \InvalidArgumentException("Invalid device limit mode: $mode"),
};
}
}