Home.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. if ($this->getWhmcsParamByKey('status') != 'Active')
  25. {
  26. return;
  27. }
  28. if (!ProxmoxAddonValidator::isInstalled())
  29. {
  30. ProxmoxAddonValidator::isInstalledOrFail();
  31. }
  32. if (!$this->isUser())
  33. {
  34. return Helper\view()->addElement(ErrorContainer::class);
  35. }
  36. (new AppParams())->initFromWhmcsParams();
  37. $view = Helper\view();
  38. $view->addElement((new AccountSummary())->initGraphs())
  39. ->addElement(VmsDataTable::class);
  40. if ($this->configuration()->isPermissionVirtualNetwork())
  41. {
  42. $view->addElement(VirtualNetworkDataTable::class);
  43. }
  44. if ($this->configuration()->isPermissionCustomTemplates())
  45. {
  46. $view->addElement(CustomTemplateDataTable::class);
  47. }
  48. return $view;
  49. }
  50. }