getWhmcsParamByKey('userid')); if ($this->configuration()->isQemu()) { $this->loadQemuTemplates(); /* if ($advancedUser->isAdvanced() || $this->configuration()->isPermissionIsoImage()) { $this->availableValues[] = [ "key" => 'installationFromIso', "value" => sl('lang')->abtr('Installation From ISO'), ]; } if($this->availableValues[0]['key']=="installationFromIso"){ $this->callBackFunction = 'pcOsTemplateLoadShowIsoFields'; } */ } if ($this->configuration()->isLxc()) { $this->loadLxcTemplates(); } if($this->availableValues[0]['key']){ $this->value = $this->availableValues[0]['key']; } $this->data['additionalData']['showItemDescription'] = true; } private function defaultNode() { if ($this->getRequestValue('location')) { return $this->getRequestValue('location'); } else { return $this->getNode()->getNode(); } } private function loadQemuTemplates() { $vmTemplate = (new VmModel)->ofId($this->getRequestValue('vm', false))->firstOrFail(); $id = "{$vmTemplate->node}/{$vmTemplate->vmid}"; $name = $vmTemplate->name; $description = $vmTemplate->description; if(!$description){ $description = $vmTemplate->name; } $description = str_replace('\n','
', $description); $desc = sl('lang')->abtr('template_desc',$description ); $desc = nl2br($desc); $this->availableValues[] = [ "key" => $id, "value" => $name, 'description' => $name != $desc ? $desc : null, ]; } private function loadLxcTemplates() { $defaultNode = $this->defaultNode(); $storageRepository = new StorageRepository(); $storageRepository->findByNodes([$defaultNode])->findEnabed(); $fileRepository = new FileRepository(); $fileRepository->setApi($this->api()); $fileRepository->findLxcTemplates(); $fileRepository->findByNodes([$defaultNode]); $fileRepository->findByStorages($storageRepository->fetchAsArray()); foreach ($fileRepository->fetch() as $file) { if ($this->configuration()->isPermissionOsTemplates() && !in_array($file->getVolid(), $this->configuration()->getPermissionOsTemplates())) { continue; } $this->availableValues[] = [ "key" => $file->getVolid(), "value" => sl('lang')->abtr('template', $file->getFriendlyName()), ]; } } }