http://modulesgarden.com * CONTACT -> contact@modulesgarden.com * * * This software is furnished under a license and may be used and copied * only in accordance with the terms of such license and with the * inclusion of the above copyright notice. This software or any other * copies thereof may not be provided or otherwise made available to any * other person. No title to and ownership of the software is hereby * transferred. * * * ******************************************************************** */ namespace ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Network\Modals; use MGProvision\Proxmox\v2\models\Kvm; use ModulesGarden\ProxmoxAddon\App\Services\ApiService; use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ProductService; use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Network\Forms\InfoForm; use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Interfaces\ClientArea; use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Buttons\ModalActionButtons\BaseCancelButton; use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Modals\BaseEditModal; class InfoModal extends BaseEditModal implements ClientArea { use ProductService; use ApiService; public function initContent() { $this->initIds('infoNetworkModal'); $networkId = $this->getRequestValue('actionElementId'); $vm = \ModulesGarden\ProxmoxAddon\Core\Helper\sl('Vm')->getVm(); foreach ($vm->getNetworkDevices() as $nd) { if($nd->getId() != $networkId){ continue; } if($vm instanceof Kvm){ $ipConfig = $vm->getIpConfig()->findByNetworkId($nd->getId())->fetch()[0]; } if ($ipConfig) { $this->customTplVars['network'] = array_merge($nd->getAttributes(), $ipConfig->getAttributes()); }else{ $this->customTplVars['network'] = $nd->getAttributes(); } break; } } protected function initActionButtons() { if (!empty($this->actionButtons)) { return $this; } $this->addActionButton(new BaseCancelButton()); return $this; } }