NetworkTab.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Network\Pages;
  3. use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ProductService;
  4. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Backup\Pages\BackupDataTable;
  5. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Backup\Pages\BackupRawDataTable;
  6. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\BackupJob\Pages\BackupJobDataTable;
  7. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\IpAddress\Pages\IpAddressDataTable;
  8. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Network\Pages\NetworkLxcDataTable;
  9. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Network\Pages\NetworkQemuDataTable;
  10. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VirtualInterface\Pages\VirtualInterfaceDataTable;
  11. use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Interfaces\ClientArea;
  12. use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\TabsWidget\TabsWidget;
  13. class NetworkTab extends TabsWidget implements ClientArea
  14. {
  15. use ProductService;
  16. protected $id = 'networkTab';
  17. protected $name = 'networkTabName';
  18. protected $title = 'networkTabTitle';
  19. public function initContent()
  20. {
  21. $this->unsetShowTitle();
  22. //Public Ips
  23. /**
  24. * @deprecated
  25. * $this->addElement(new IpAddressDataTable());
  26. */
  27. //Virtual Network
  28. if($this->configuration()->isPermissionVirtualNetwork())
  29. {
  30. $this->addElement(VirtualInterfaceDataTable::class);
  31. }
  32. //Interfaces
  33. if ($this->configuration()->isQemu() && $this->configuration()->isPermissionNetwork())
  34. {
  35. $this->addElement(new NetworkQemuDataTable());
  36. }
  37. if ($this->configuration()->isLxc() && $this->configuration()->isPermissionNetwork())
  38. {
  39. $this->addElement(new NetworkLxcDataTable());
  40. }
  41. }
  42. }