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\ProxmoxVps\App\UI\Admin\IpSet\Pages; use ModulesGarden\ProxmoxAddon\App\Services\ApiService; use ModulesGarden\ProxmoxAddon\App\Services\Vps\ProductService; use ModulesGarden\Servers\ProxmoxVps\Core\UI\Interfaces\AdminArea; use ModulesGarden\Servers\ProxmoxVps\Core\UI\Widget\DataTable\Column; use ModulesGarden\Servers\ProxmoxVps\Core\UI\Widget\DataTable\DataProviders\Providers\ArrayDataProvider; use ModulesGarden\Servers\ProxmoxVps\Core\UI\Widget\DataTable\DataTable; class IpSetDataTable extends DataTable implements AdminArea { use ProductService; use ApiService; protected $id = 'ipSetDataTable'; protected $name = 'ipSetDataTable'; protected $title = 'ipSetDataTable'; protected $searchable = false; protected $tableLength = "100"; protected function loadHtml() { $this->addColumn((new Column('name'))) ->addColumn((new Column('comment'))) ->addColumn((new Column('ipCidr'))); } public function replaceFieldIpCidr($key, $row) { return $row[$key] ? $row[$key] : '-'; } protected function loadData() { $data = []; foreach ($this->vm()->getIpSet() as $ipSet) { $cidr = []; foreach ($ipSet->getIpCidr() as $ipCidr) { $cidr[] = $ipCidr->getCidr(); } $data[] = [ "name" => $ipSet->getName(), "comment" => $ipSet->getComment(), "ipCidr" => implode(", ", $cidr) ]; } $dataProv = new ArrayDataProvider(); $dataProv->setData($data); $this->setDataProvider($dataProv); } public function initContent() { } public function isViewFooter() { return false; } public function isViewTopBody() { return false; } }