ListAccounts.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\App\Http\Actions;
  3. use ThurData\Servers\KerioEmail\App\Helpers\KerioManager;
  4. use ThurData\Servers\KerioEmail\App\Libs\Product\ProductManager;
  5. use ThurData\Servers\KerioEmail\App\Traits\ExtensionsCheckerTrait;
  6. use ThurData\Servers\KerioEmail\Core\App\Controllers\Instances\AddonController;
  7. use ThurData\Servers\KerioEmail\Api\KerioWhmcs;
  8. class ListAccounts extends AddonController
  9. {
  10. use ExtensionsCheckerTrait;
  11. public function execute($params = null)
  12. {
  13. $api = new KerioWhmcs('whmcsKerioEmail', 'Thurdata', '1.0');
  14. try {
  15. $api->login($params['serverhostname'], $params['serverusername'], $params['serverpassword']);
  16. $domains = $api->getDomains(['id','name']);
  17. } catch (KerioApiException $error) {
  18. logModuleCall(
  19. 'kerioEmail',
  20. __FUNCTION__,
  21. $error,
  22. 'Debug Error',
  23. $error->getMessage()
  24. );
  25. return ['error' => $error->getMessage()];
  26. }
  27. $api->logout();
  28. $accounts = [];
  29. foreach($domains as $domain) {
  30. $accounts[] = [
  31. 'domain' => $domain,
  32. 'status' => 'Active',
  33. 'primaryip' => $params['serverip'],
  34. 'uniqueIdentifier' => $params['serverhostname'],
  35. 'product' => '',
  36. ];
  37. }
  38. return [
  39. 'success' => true,
  40. 'accounts' => $accounts
  41. ];
  42. }
  43. }