mirror of
https://github.com/lkddi/Xboard.git
synced 2026-04-14 11:20:53 +08:00
fix: resolve PHPStan static analysis warnings
This commit is contained in:
@@ -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"),
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user