Home.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace ModulesGarden\Servers\ProxmoxCloudVps\App\Http\Client;
  3. use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ProductService;
  4. use ModulesGarden\ProxmoxAddon\App\Services\Cloud\UserService;
  5. use ModulesGarden\Servers\ProxmoxCloudVps\App\Helpers\AppParams;
  6. use ModulesGarden\Servers\ProxmoxCloudVps\App\Helpers\ProxmoxAddonValidator;
  7. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Home\Pages\AccountSummary;
  8. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Home\Pages\DetailsContainer;
  9. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Home\Pages\ErrorContainer;
  10. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VirtualNetwork\Pages\VirtualNetworkDataTable;
  11. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\CustomTemplate\Pages\CustomTemplateDataTable;
  12. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Vms\Pages\VmsDataTable;
  13. use ModulesGarden\Servers\ProxmoxCloudVps\Core\Helper;
  14. use ModulesGarden\Servers\ProxmoxCloudVps\Core\Http\AbstractClientController;
  15. use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Traits\WhmcsParams;
  16. class Home extends AbstractClientController
  17. {
  18. use WhmcsParams;
  19. use ProductService;
  20. use BaseClientController;
  21. use UserService;
  22. public function index()
  23. {
  24. logModuleCall(
  25. 'ProxmoxVps',
  26. __FUNCTION__,
  27. $params,
  28. 'debug',
  29. $this
  30. );
  31. if ($this->getWhmcsParamByKey('status') != 'Active')
  32. {
  33. return;
  34. }
  35. if (!ProxmoxAddonValidator::isInstalled())
  36. {
  37. ProxmoxAddonValidator::isInstalledOrFail();
  38. }
  39. if (!$this->isUser())
  40. {
  41. return Helper\view()->addElement(ErrorContainer::class);
  42. }
  43. (new AppParams())->initFromWhmcsParams();
  44. $view = Helper\view();
  45. $view->addElement((new AccountSummary())->initGraphs())
  46. ->addElement(VmsDataTable::class);
  47. if ($this->configuration()->isPermissionVirtualNetwork())
  48. {
  49. $view->addElement(VirtualNetworkDataTable::class);
  50. }
  51. if ($this->configuration()->isPermissionCustomTemplates())
  52. {
  53. $view->addElement(CustomTemplateDataTable::class);
  54. }
  55. return $view;
  56. }
  57. }