📁
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: WhmApi.php
<?php namespace App\Service\Whm; use Symfony\Component\Process\Process; class WhmApi implements WhmApiInterface { const WHM_API_NAME = 'whmapi1'; const WHM_COMMAND_CREATE_TOKEN = 'api_token_create'; const WHM_COMMAND_DELETE_TOKEN = 'api_token_revoke'; const WHM_COMMAND_LIST_TOKEN = 'api_token_list'; const DEFAULT_TOKEN_NAME = 'acl_api_token_ssl'; const DEFAULT_EXPIRES_AT = 0; // The API token will not expire. const DEFAULT_USER = 'wh'; const SUCCESS_RESPONSE = 'OK'; /** * @return mixed * @throws WhmApiException */ public function createToken(): string { $consoleCommand = [ self::WHM_API_NAME, self::WHM_COMMAND_CREATE_TOKEN, '--output=jsonpretty', sprintf('token_name=%s', self::DEFAULT_TOKEN_NAME), sprintf('expires_at=%s', self::DEFAULT_EXPIRES_AT), sprintf('--user=%s', self::DEFAULT_USER), 'acl-1=create-user-session', 'acl-2=ssl', 'acl-3=ssl-info' ]; $process = new Process($consoleCommand); $process->run(); $response = $this->getResponse($process); return $response['token']; } /** * @return array * @throws WhmApiException */ public function deleteToken(): array { $consoleCommand = [ self::WHM_API_NAME, self::WHM_COMMAND_DELETE_TOKEN, '--output=jsonpretty', sprintf('--user=%s', self::DEFAULT_USER), sprintf('token_name=%s', self::DEFAULT_TOKEN_NAME) ]; $process = new Process($consoleCommand); $process->run(); return $this->getResponse($process); } /** * @return array * @throws WhmApiException */ public function listToken(): array { $consoleCommand = [ self::WHM_API_NAME, self::WHM_COMMAND_LIST_TOKEN, '--output=jsonpretty', sprintf('--user=%s', self::DEFAULT_USER) ]; $process = new Process($consoleCommand); $process->run(); $response = $this->getResponse($process); return $response['tokens'] ?? []; } /** * @param Process $process * @return array * @throws WhmApiException */ protected function getResponse(Process $process): array { if (!$process->isSuccessful()) { throw new WhmApiException($process->getOutput()); } $response = json_decode($process->getOutput(), true); $this->checkResponse($response); return $response['data'] ?? []; } /** * @param array $data * @throws WhmApiException */ protected function checkResponse(array $data = []): void { if (!isset($data['metadata']) || !isset($data['metadata']['reason'])) { throw new WhmApiException('Wrong whm response'); } if ($data['metadata']['reason'] !== self::SUCCESS_RESPONSE) { throw new WhmApiException($data['metadata']['reason']); } } }
Save