Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php declare(strict_types=1); namespace App\Services; use App\Models\HourlyUsage; use ..
Decoded Output download
<?php
declare(strict_types=1);
namespace App\Services;
use App\Models\HourlyUsage;
use App\Models\Node;
use App\Models\Paylist;
use App\Models\User;
use App\Utils\Tools;
use function array_fill;
use function date;
use function floatval;
use function is_null;
use function json_decode;
use function round;
use function strtotime;
use function time;
final class Analytics
{
/**
*
*/
public static function getIncome(string $req): float
{
$today = strtotime('00:00:00');
$paylist = new Paylist();
$number = match ($req) {
'today' => $paylist->where('status', 1)
->whereBetween('datetime', [$today, time()])
->sum('total'),
'yesterday' => $paylist->where('status', 1)
->whereBetween('datetime', [strtotime('-1 day', $today), $today])
->sum('total'),
'this month' => $paylist->where('status', 1)
->whereBetween('datetime', [strtotime('first day of this month 00:00:00'), time()])
->sum('total'),
default => $paylist->where('status', 1)->sum('total'),
};
return is_null($number) ? 0.00 : round(floatval($number), 2);
}
public static function getTotalUser(): int
{
return (new User())->count();
}
public static function getCheckinUser(): int
{
return (new User())->where('last_check_in_time', '>', 0)->count();
}
public static function getTodayCheckinUser(): int
{
return (new User())->where('last_check_in_time', '>', strtotime('today'))->count();
}
public static function getTrafficUsage(): string
{
return Tools::autoBytes((new User())->sum('u') + (new User())->sum('d'));
}
public static function getTodayTrafficUsage(): string
{
return Tools::autoBytes((new User())->sum('transfer_today'));
}
public static function getRawTodayTrafficUsage(): int
{
return (new User())->sum('transfer_today');
}
public static function getRawGbTodayTrafficUsage(): float
{
return Tools::bToGB((new User())->sum('transfer_today'));
}
public static function getLastTrafficUsage(): string
{
return Tools::autoBytes((new User())->sum('u') + (new User())->sum('d') - (new User())->sum('transfer_today'));
}
public static function getRawLastTrafficUsage(): int
{
return (new User())->sum('u') + (new User())->sum('d') - (new User())->sum('transfer_today');
}
public static function getRawGbLastTrafficUsage(): float
{
return Tools::bToGB((new User())->sum('u') + (new User())->sum('d') - (new User())->sum('transfer_today'));
}
public static function getUnusedTrafficUsage(): string
{
return Tools::autoBytes((new User())->sum('transfer_enable') - (new User())->sum('u') - (new User())->sum('d'));
}
public static function getRawUnusedTrafficUsage(): int
{
return (new User())->sum('transfer_enable') - (new User())->sum('u') - (new User())->sum('d');
}
public static function getRawGbUnusedTrafficUsage(): float
{
return Tools::bToGB((new User())->sum('transfer_enable') - (new User())->sum('u') - (new User())->sum('d'));
}
public static function getTotalTraffic(): string
{
return Tools::autoBytes((new User())->sum('transfer_enable'));
}
public static function getRawTotalTraffic(): int
{
return (new User())->sum('transfer_enable');
}
public static function getRawGbTotalTraffic(): float
{
return Tools::bToGB((new User())->sum('transfer_enable'));
}
public static function getTotalNode(): int
{
return (new Node())->where('node_heartbeat', '>', 0)->count();
}
public static function getAliveNode(): int
{
return (new Node())->where('node_heartbeat', '>', time() - 90)->count();
}
public static function getInactiveUser(): int
{
return (new User())->where('is_inactive', 1)->count();
}
public static function getActiveUser(): int
{
return (new User())->where('is_inactive', 0)->count();
}
public static function getUserHourlyUsage(int $user_id, string $date): array
{
$hourly_usage = (new HourlyUsage())->where('user_id', $user_id)->where('date', $date)->first();
return $hourly_usage ? json_decode($hourly_usage->usage, true) : array_fill(0, 24, 0);
}
public static function getUserTodayHourlyUsage(int $user_id): array
{
$date = date('Y-m-d');
return self::getUserHourlyUsage($user_id, $date);
}
}
?>
Did this file decode correctly?
Original Code
<?php
declare(strict_types=1);
namespace App\Services;
use App\Models\HourlyUsage;
use App\Models\Node;
use App\Models\Paylist;
use App\Models\User;
use App\Utils\Tools;
use function array_fill;
use function date;
use function floatval;
use function is_null;
use function json_decode;
use function round;
use function strtotime;
use function time;
final class Analytics
{
/**
*
*/
public static function getIncome(string $req): float
{
$today = strtotime('00:00:00');
$paylist = new Paylist();
$number = match ($req) {
'today' => $paylist->where('status', 1)
->whereBetween('datetime', [$today, time()])
->sum('total'),
'yesterday' => $paylist->where('status', 1)
->whereBetween('datetime', [strtotime('-1 day', $today), $today])
->sum('total'),
'this month' => $paylist->where('status', 1)
->whereBetween('datetime', [strtotime('first day of this month 00:00:00'), time()])
->sum('total'),
default => $paylist->where('status', 1)->sum('total'),
};
return is_null($number) ? 0.00 : round(floatval($number), 2);
}
public static function getTotalUser(): int
{
return (new User())->count();
}
public static function getCheckinUser(): int
{
return (new User())->where('last_check_in_time', '>', 0)->count();
}
public static function getTodayCheckinUser(): int
{
return (new User())->where('last_check_in_time', '>', strtotime('today'))->count();
}
public static function getTrafficUsage(): string
{
return Tools::autoBytes((new User())->sum('u') + (new User())->sum('d'));
}
public static function getTodayTrafficUsage(): string
{
return Tools::autoBytes((new User())->sum('transfer_today'));
}
public static function getRawTodayTrafficUsage(): int
{
return (new User())->sum('transfer_today');
}
public static function getRawGbTodayTrafficUsage(): float
{
return Tools::bToGB((new User())->sum('transfer_today'));
}
public static function getLastTrafficUsage(): string
{
return Tools::autoBytes((new User())->sum('u') + (new User())->sum('d') - (new User())->sum('transfer_today'));
}
public static function getRawLastTrafficUsage(): int
{
return (new User())->sum('u') + (new User())->sum('d') - (new User())->sum('transfer_today');
}
public static function getRawGbLastTrafficUsage(): float
{
return Tools::bToGB((new User())->sum('u') + (new User())->sum('d') - (new User())->sum('transfer_today'));
}
public static function getUnusedTrafficUsage(): string
{
return Tools::autoBytes((new User())->sum('transfer_enable') - (new User())->sum('u') - (new User())->sum('d'));
}
public static function getRawUnusedTrafficUsage(): int
{
return (new User())->sum('transfer_enable') - (new User())->sum('u') - (new User())->sum('d');
}
public static function getRawGbUnusedTrafficUsage(): float
{
return Tools::bToGB((new User())->sum('transfer_enable') - (new User())->sum('u') - (new User())->sum('d'));
}
public static function getTotalTraffic(): string
{
return Tools::autoBytes((new User())->sum('transfer_enable'));
}
public static function getRawTotalTraffic(): int
{
return (new User())->sum('transfer_enable');
}
public static function getRawGbTotalTraffic(): float
{
return Tools::bToGB((new User())->sum('transfer_enable'));
}
public static function getTotalNode(): int
{
return (new Node())->where('node_heartbeat', '>', 0)->count();
}
public static function getAliveNode(): int
{
return (new Node())->where('node_heartbeat', '>', time() - 90)->count();
}
public static function getInactiveUser(): int
{
return (new User())->where('is_inactive', 1)->count();
}
public static function getActiveUser(): int
{
return (new User())->where('is_inactive', 0)->count();
}
public static function getUserHourlyUsage(int $user_id, string $date): array
{
$hourly_usage = (new HourlyUsage())->where('user_id', $user_id)->where('date', $date)->first();
return $hourly_usage ? json_decode($hourly_usage->usage, true) : array_fill(0, 24, 0);
}
public static function getUserTodayHourlyUsage(int $user_id): array
{
$date = date('Y-m-d');
return self::getUserHourlyUsage($user_id, $date);
}
}
Function Calls
None |
Stats
MD5 | 231de404aff62129efe99b0e9a1c9046 |
Eval Count | 0 |
Decode Time | 110 ms |