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\Controllers\Admin; use App\Controllers\Aut..
Decoded Output download
<?php
declare(strict_types=1);
namespace App\Controllers\Admin;
use App\Controllers\AuthController;
use App\Controllers\BaseController;
use App\Models\Config;
use App\Models\User;
use App\Models\UserMoneyLog;
use App\Utils\Hash;
use App\Utils\Tools;
use Exception;
use Psr\Http\Message\ResponseInterface;
use Slim\Http\Response;
use Slim\Http\ServerRequest;
final class UserController extends BaseController
{
private static array $details = [
'field' => [
'op' => '',
'id' => 'ID',
'user_name' => '',
'email' => '',
'money' => '',
'ref_by' => '',
'transfer_enable' => '',
'transfer_used' => '',
'class' => '',
'is_admin' => '',
'is_banned' => '',
'is_inactive' => '',
'reg_date' => '',
'class_expire' => '',
],
'create_dialog' => [
[
'id' => 'email',
'info' => '',
'type' => 'input',
'placeholder' => '',
],
[
'id' => 'password',
'info' => '',
'type' => 'input',
'placeholder' => '',
],
[
'id' => 'ref_by',
'info' => '',
'type' => 'input',
'placeholder' => 'id',
],
[
'id' => 'balance',
'info' => '',
'type' => 'input',
'placeholder' => '-1',
],
],
];
private static array $update_field = [
'email',
'user_name',
'remark',
'pass',
'money',
'is_admin',
'ga_enable',
'is_banned',
'banned_reason',
'is_shadow_banned',
'transfer_enable',
'ref_by',
'class_expire',
'node_group',
'class',
'auto_reset_day',
'auto_reset_bandwidth',
'node_speedlimit',
'node_iplimit',
'port',
'passwd',
'method',
];
/**
* @throws Exception
*/
public function index(ServerRequest $request, Response $response, array $args): ResponseInterface
{
return $response->write(
$this->view()
->assign('details', self::$details)
->fetch('admin/user/index.tpl')
);
}
/**
* @throws Exception
*/
public function create(ServerRequest $request, Response $response, array $args): ResponseInterface
{
$email = $request->getParam('email');
$ref_by = $request->getParam('ref_by');
$password = $request->getParam('password');
$balance = $request->getParam('balance');
if ($email === '') {
return $response->withJson([
'ret' => 0,
'msg' => '',
]);
}
$exist = (new User())->where('email', $email)->first();
if ($exist !== null) {
return $response->withJson([
'ret' => 0,
'msg' => '',
]);
}
if ($password === '') {
$password = Tools::genRandomChar(16);
}
(new AuthController())->registerHelper($response, 'user', $email, $password, '', 0, '', $balance, 1);
$user = (new User())->where('email', $email)->first();
if ($ref_by !== '') {
$user->ref_by = (int) $ref_by;
$user->save();
}
return $response->withJson([
'ret' => 1,
'msg' => '' . $email . ' '.$password,
]);
}
/**
* @throws Exception
*/
public function edit(ServerRequest $request, Response $response, array $args): ResponseInterface
{
$user = (new User())->find($args['id']);
return $response->write(
$this->view()
->assign('update_field', self::$update_field)
->assign('edit_user', $user)
->fetch('admin/user/edit.tpl')
);
}
public function update(ServerRequest $request, Response $response, array $args): ResponseInterface
{
$id = (int) $args['id'];
$user = (new User())->find($id);
if ($request->getParam('pass') !== '' && $request->getParam('pass') !== null) {
$user->pass = Hash::passwordHash($request->getParam('pass'));
if (Config::obtain('enable_forced_replacement')) {
$user->removeLink();
}
}
if ($request->getParam('money') !== '' &&
$request->getParam('money') !== null &&
(float) $request->getParam('money') !== $user->money
) {
$money = (float) $request->getParam('money');
$diff = $money - $user->money;
$remark = ($diff > 0 ? '' : '');
(new UserMoneyLog())->add($id, (float) $user->money, $money, $diff, $remark);
$user->money = $money;
}
$user->email = $request->getParam('email');
$user->user_name = $request->getParam('user_name');
$user->remark = $request->getParam('remark');
$user->is_admin = $request->getParam('is_admin') === 'true' ? 1 : 0;
$user->ga_enable = $request->getParam('ga_enable') === 'true' ? 1 : 0;
$user->is_banned = $request->getParam('is_banned') === 'true' ? 1 : 0;
$user->banned_reason = $request->getParam('banned_reason');
$user->is_shadow_banned = $request->getParam('is_shadow_banned') === 'true' ? 1 : 0;
$user->transfer_enable = Tools::autoBytesR($request->getParam('transfer_enable'));
$user->ref_by = $request->getParam('ref_by');
$user->class_expire = $request->getParam('class_expire');
$user->node_group = $request->getParam('node_group');
$user->class = $request->getParam('class');
$user->auto_reset_day = $request->getParam('auto_reset_day');
$user->auto_reset_bandwidth = $request->getParam('auto_reset_bandwidth');
$user->node_speedlimit = $request->getParam('node_speedlimit');
$user->node_iplimit = $request->getParam('node_iplimit');
$user->port = $request->getParam('port');
$user->method = $request->getParam('method');
if (! $user->save()) {
return $response->withJson([
'ret' => 0,
'msg' => '',
]);
}
return $response->withJson([
'ret' => 1,
'msg' => '',
]);
}
public function delete(ServerRequest $request, Response $response, array $args): ResponseInterface
{
$id = $args['id'];
$user = (new User())->find((int) $id);
if (! $user->kill()) {
return $response->withJson([
'ret' => 0,
'msg' => '',
]);
}
return $response->withJson([
'ret' => 1,
'msg' => '',
]);
}
public function ajax(ServerRequest $request, Response $response, array $args): ResponseInterface
{
$users = (new User())->orderBy('id', 'desc')->get();
foreach ($users as $user) {
$user->op = '<button class="btn btn-red" id="delete-user-' . $user->id . '"
onclick="deleteUser(' . $user->id . ')"></button>
<a class="btn btn-primary" href="/admin/user/' . $user->id . '/edit"></a>';
$user->transfer_enable = $user->enableTraffic();
$user->transfer_used = $user->usedTraffic();
$user->is_admin = $user->is_admin === 1 ? '' : '';
$user->is_banned = $user->is_banned === 1 ? '' : '';
$user->is_inactive = $user->is_inactive === 1 ? '' : '';
}
return $response->withJson([
'users' => $users,
]);
}
}
?>
Did this file decode correctly?
Original Code
<?php
declare(strict_types=1);
namespace App\Controllers\Admin;
use App\Controllers\AuthController;
use App\Controllers\BaseController;
use App\Models\Config;
use App\Models\User;
use App\Models\UserMoneyLog;
use App\Utils\Hash;
use App\Utils\Tools;
use Exception;
use Psr\Http\Message\ResponseInterface;
use Slim\Http\Response;
use Slim\Http\ServerRequest;
final class UserController extends BaseController
{
private static array $details = [
'field' => [
'op' => '',
'id' => 'ID',
'user_name' => '',
'email' => '',
'money' => '',
'ref_by' => '',
'transfer_enable' => '',
'transfer_used' => '',
'class' => '',
'is_admin' => '',
'is_banned' => '',
'is_inactive' => '',
'reg_date' => '',
'class_expire' => '',
],
'create_dialog' => [
[
'id' => 'email',
'info' => '',
'type' => 'input',
'placeholder' => '',
],
[
'id' => 'password',
'info' => '',
'type' => 'input',
'placeholder' => '',
],
[
'id' => 'ref_by',
'info' => '',
'type' => 'input',
'placeholder' => 'id',
],
[
'id' => 'balance',
'info' => '',
'type' => 'input',
'placeholder' => '-1',
],
],
];
private static array $update_field = [
'email',
'user_name',
'remark',
'pass',
'money',
'is_admin',
'ga_enable',
'is_banned',
'banned_reason',
'is_shadow_banned',
'transfer_enable',
'ref_by',
'class_expire',
'node_group',
'class',
'auto_reset_day',
'auto_reset_bandwidth',
'node_speedlimit',
'node_iplimit',
'port',
'passwd',
'method',
];
/**
* @throws Exception
*/
public function index(ServerRequest $request, Response $response, array $args): ResponseInterface
{
return $response->write(
$this->view()
->assign('details', self::$details)
->fetch('admin/user/index.tpl')
);
}
/**
* @throws Exception
*/
public function create(ServerRequest $request, Response $response, array $args): ResponseInterface
{
$email = $request->getParam('email');
$ref_by = $request->getParam('ref_by');
$password = $request->getParam('password');
$balance = $request->getParam('balance');
if ($email === '') {
return $response->withJson([
'ret' => 0,
'msg' => '',
]);
}
$exist = (new User())->where('email', $email)->first();
if ($exist !== null) {
return $response->withJson([
'ret' => 0,
'msg' => '',
]);
}
if ($password === '') {
$password = Tools::genRandomChar(16);
}
(new AuthController())->registerHelper($response, 'user', $email, $password, '', 0, '', $balance, 1);
$user = (new User())->where('email', $email)->first();
if ($ref_by !== '') {
$user->ref_by = (int) $ref_by;
$user->save();
}
return $response->withJson([
'ret' => 1,
'msg' => '' . $email . ' '.$password,
]);
}
/**
* @throws Exception
*/
public function edit(ServerRequest $request, Response $response, array $args): ResponseInterface
{
$user = (new User())->find($args['id']);
return $response->write(
$this->view()
->assign('update_field', self::$update_field)
->assign('edit_user', $user)
->fetch('admin/user/edit.tpl')
);
}
public function update(ServerRequest $request, Response $response, array $args): ResponseInterface
{
$id = (int) $args['id'];
$user = (new User())->find($id);
if ($request->getParam('pass') !== '' && $request->getParam('pass') !== null) {
$user->pass = Hash::passwordHash($request->getParam('pass'));
if (Config::obtain('enable_forced_replacement')) {
$user->removeLink();
}
}
if ($request->getParam('money') !== '' &&
$request->getParam('money') !== null &&
(float) $request->getParam('money') !== $user->money
) {
$money = (float) $request->getParam('money');
$diff = $money - $user->money;
$remark = ($diff > 0 ? '' : '');
(new UserMoneyLog())->add($id, (float) $user->money, $money, $diff, $remark);
$user->money = $money;
}
$user->email = $request->getParam('email');
$user->user_name = $request->getParam('user_name');
$user->remark = $request->getParam('remark');
$user->is_admin = $request->getParam('is_admin') === 'true' ? 1 : 0;
$user->ga_enable = $request->getParam('ga_enable') === 'true' ? 1 : 0;
$user->is_banned = $request->getParam('is_banned') === 'true' ? 1 : 0;
$user->banned_reason = $request->getParam('banned_reason');
$user->is_shadow_banned = $request->getParam('is_shadow_banned') === 'true' ? 1 : 0;
$user->transfer_enable = Tools::autoBytesR($request->getParam('transfer_enable'));
$user->ref_by = $request->getParam('ref_by');
$user->class_expire = $request->getParam('class_expire');
$user->node_group = $request->getParam('node_group');
$user->class = $request->getParam('class');
$user->auto_reset_day = $request->getParam('auto_reset_day');
$user->auto_reset_bandwidth = $request->getParam('auto_reset_bandwidth');
$user->node_speedlimit = $request->getParam('node_speedlimit');
$user->node_iplimit = $request->getParam('node_iplimit');
$user->port = $request->getParam('port');
$user->method = $request->getParam('method');
if (! $user->save()) {
return $response->withJson([
'ret' => 0,
'msg' => '',
]);
}
return $response->withJson([
'ret' => 1,
'msg' => '',
]);
}
public function delete(ServerRequest $request, Response $response, array $args): ResponseInterface
{
$id = $args['id'];
$user = (new User())->find((int) $id);
if (! $user->kill()) {
return $response->withJson([
'ret' => 0,
'msg' => '',
]);
}
return $response->withJson([
'ret' => 1,
'msg' => '',
]);
}
public function ajax(ServerRequest $request, Response $response, array $args): ResponseInterface
{
$users = (new User())->orderBy('id', 'desc')->get();
foreach ($users as $user) {
$user->op = '<button class="btn btn-red" id="delete-user-' . $user->id . '"
onclick="deleteUser(' . $user->id . ')"></button>
<a class="btn btn-primary" href="/admin/user/' . $user->id . '/edit"></a>';
$user->transfer_enable = $user->enableTraffic();
$user->transfer_used = $user->usedTraffic();
$user->is_admin = $user->is_admin === 1 ? '' : '';
$user->is_banned = $user->is_banned === 1 ? '' : '';
$user->is_inactive = $user->is_inactive === 1 ? '' : '';
}
return $response->withJson([
'users' => $users,
]);
}
}
Function Calls
None |
Stats
MD5 | 3776697932ada609a5dfc73e6a978842 |
Eval Count | 0 |
Decode Time | 113 ms |