|
@@ -12,17 +12,14 @@ use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Interfaces\ClientArea;
|
|
|
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\AjaxFields\Select;
|
|
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\AjaxFields\Select;
|
|
|
use function ModulesGarden\Servers\ProxmoxCloudVps\Core\Helper\sl;
|
|
use function ModulesGarden\Servers\ProxmoxCloudVps\Core\Helper\sl;
|
|
|
|
|
|
|
|
-class OsTemplateSelect extends Select implements ClientArea
|
|
|
|
|
-{
|
|
|
|
|
|
|
+class OsTemplateSelect extends Select implements ClientArea {
|
|
|
use ProductService;
|
|
use ProductService;
|
|
|
use ApiService;
|
|
use ApiService;
|
|
|
|
|
|
|
|
- public function prepareAjaxData()
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ public function prepareAjaxData() {
|
|
|
session_write_close();
|
|
session_write_close();
|
|
|
$advancedUser = new AdvancedUserHelper($this->getWhmcsParamByKey('userid'));
|
|
$advancedUser = new AdvancedUserHelper($this->getWhmcsParamByKey('userid'));
|
|
|
- if ($this->configuration()->isQemu())
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ if ($this->configuration()->isQemu()) {
|
|
|
$this->loadQemuTemplates();
|
|
$this->loadQemuTemplates();
|
|
|
|
|
|
|
|
/* if ($advancedUser->isAdvanced() || $this->configuration()->isPermissionIsoImage())
|
|
/* if ($advancedUser->isAdvanced() || $this->configuration()->isPermissionIsoImage())
|
|
@@ -36,8 +33,7 @@ class OsTemplateSelect extends Select implements ClientArea
|
|
|
$this->callBackFunction = 'pcOsTemplateLoadShowIsoFields';
|
|
$this->callBackFunction = 'pcOsTemplateLoadShowIsoFields';
|
|
|
} */
|
|
} */
|
|
|
}
|
|
}
|
|
|
- if ($this->configuration()->isLxc())
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ if ($this->configuration()->isLxc()) {
|
|
|
$this->loadLxcTemplates();
|
|
$this->loadLxcTemplates();
|
|
|
}
|
|
}
|
|
|
if($this->availableValues[0]['key']){
|
|
if($this->availableValues[0]['key']){
|
|
@@ -47,40 +43,31 @@ class OsTemplateSelect extends Select implements ClientArea
|
|
|
$this->data['additionalData']['showItemDescription'] = true;
|
|
$this->data['additionalData']['showItemDescription'] = true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private function defaultNode()
|
|
|
|
|
- {
|
|
|
|
|
- if ($this->getRequestValue('location'))
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ private function defaultNode() {
|
|
|
|
|
+ if ($this->getRequestValue('location')) {
|
|
|
return $this->getRequestValue('location');
|
|
return $this->getRequestValue('location');
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ } else {
|
|
|
return $this->getNode()->getNode();
|
|
return $this->getNode()->getNode();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private function loadQemuTemplates()
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ private function loadQemuTemplates() {
|
|
|
$clusterResurces = new ClusterResourcesRepository();
|
|
$clusterResurces = new ClusterResourcesRepository();
|
|
|
$clusterResurces->findKvmTemplate();
|
|
$clusterResurces->findKvmTemplate();
|
|
|
//default node
|
|
//default node
|
|
|
$defaultNode = $this->defaultNode();
|
|
$defaultNode = $this->defaultNode();
|
|
|
//search templates on specific node
|
|
//search templates on specific node
|
|
|
- if (!$this->configuration()->isOsTemplatesInAllNodes())
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ if (!$this->configuration()->isOsTemplatesInAllNodes()) {
|
|
|
$clusterResurces->findByNodes($defaultNode);
|
|
$clusterResurces->findByNodes($defaultNode);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$VmList = $clusterResurces->fetchWithUniqueNames($defaultNode);
|
|
$VmList = $clusterResurces->fetchWithUniqueNames($defaultNode);
|
|
|
usort($VmList, function($a, $b) {return strcmp($a->getName(), $b->getName());});
|
|
usort($VmList, function($a, $b) {return strcmp($a->getName(), $b->getName());});
|
|
|
- foreach ($VmList as $entity)
|
|
|
|
|
- {
|
|
|
|
|
- if ($entity->isCustom() && !$entity->matchName($this->getWhmcsParamByKey("serviceid")))
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ foreach ($VmList as $entity) {
|
|
|
|
|
+ if ($entity->isCustom() && !$entity->matchName($this->getWhmcsParamByKey("serviceid"))) {
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
- if (!$entity->isCustom() && $this->configuration()->isPermissionOsTemplates() && !in_array($entity->getName(), $this->configuration()->getPermissionOsTemplates()))
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ if (!$entity->isCustom() && $this->configuration()->isPermissionOsTemplates() && !in_array($entity->getName(), $this->configuration()->getPermissionOsTemplates())) {
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
$id = "{$entity->getNode()}/{$entity->getVmid()}";
|
|
$id = "{$entity->getNode()}/{$entity->getVmid()}";
|
|
@@ -89,7 +76,9 @@ class OsTemplateSelect extends Select implements ClientArea
|
|
|
if(!$description){
|
|
if(!$description){
|
|
|
$description = $entity->getName();
|
|
$description = $entity->getName();
|
|
|
}
|
|
}
|
|
|
|
|
+ $description = str_replace('\n','<br />', $description);
|
|
|
$desc = sl('lang')->abtr('template_desc',$description );
|
|
$desc = sl('lang')->abtr('template_desc',$description );
|
|
|
|
|
+ $desc = nl2br($desc);
|
|
|
|
|
|
|
|
$this->availableValues[] = [
|
|
$this->availableValues[] = [
|
|
|
"key" => $id,
|
|
"key" => $id,
|
|
@@ -100,8 +89,7 @@ class OsTemplateSelect extends Select implements ClientArea
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private function loadLxcTemplates()
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ private function loadLxcTemplates() {
|
|
|
$defaultNode = $this->defaultNode();
|
|
$defaultNode = $this->defaultNode();
|
|
|
$storageRepository = new StorageRepository();
|
|
$storageRepository = new StorageRepository();
|
|
|
$storageRepository->findByNodes([$defaultNode])->findEnabed();
|
|
$storageRepository->findByNodes([$defaultNode])->findEnabed();
|
|
@@ -110,10 +98,8 @@ class OsTemplateSelect extends Select implements ClientArea
|
|
|
$fileRepository->findLxcTemplates();
|
|
$fileRepository->findLxcTemplates();
|
|
|
$fileRepository->findByNodes([$defaultNode]);
|
|
$fileRepository->findByNodes([$defaultNode]);
|
|
|
$fileRepository->findByStorages($storageRepository->fetchAsArray());
|
|
$fileRepository->findByStorages($storageRepository->fetchAsArray());
|
|
|
- foreach ($fileRepository->fetch() as $file)
|
|
|
|
|
- {
|
|
|
|
|
- if ($this->configuration()->isPermissionOsTemplates() && !in_array($file->getVolid(), $this->configuration()->getPermissionOsTemplates()))
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ foreach ($fileRepository->fetch() as $file) {
|
|
|
|
|
+ if ($this->configuration()->isPermissionOsTemplates() && !in_array($file->getVolid(), $this->configuration()->getPermissionOsTemplates())) {
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
$this->availableValues[] = [
|
|
$this->availableValues[] = [
|