Home.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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\Vms\Pages\VmsDataTable;
  12. use ModulesGarden\Servers\ProxmoxCloudVps\Core\Helper;
  13. use ModulesGarden\Servers\ProxmoxCloudVps\Core\Http\AbstractClientController;
  14. use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Traits\WhmcsParams;
  15. class Home extends AbstractClientController
  16. {
  17. use WhmcsParams;
  18. use ProductService;
  19. use BaseClientController;
  20. use UserService;
  21. public function index()
  22. {
  23. if ($this->getWhmcsParamByKey('status') != 'Active')
  24. {
  25. return;
  26. }
  27. if (!ProxmoxAddonValidator::isInstalled())
  28. {
  29. ProxmoxAddonValidator::isInstalledOrFail();
  30. }
  31. if (!$this->isUser())
  32. {
  33. return Helper\view()->addElement(ErrorContainer::class);
  34. }
  35. (new AppParams())->initFromWhmcsParams();
  36. $view = Helper\view();
  37. $view->addElement((new AccountSummary())->initGraphs())
  38. ->addElement(VmsDataTable::class);
  39. if ($this->configuration()->isPermissionVirtualNetwork())
  40. {
  41. $view->addElement(VirtualNetworkDataTable::class);
  42. }
  43. return $view;
  44. }
  45. }