diff --git a/modules/servers/VirtFusionDirect/hooks.php b/modules/servers/VirtFusionDirect/hooks.php index 94ac0a4..28ec62a 100644 --- a/modules/servers/VirtFusionDirect/hooks.php +++ b/modules/servers/VirtFusionDirect/hooks.php @@ -22,7 +22,7 @@ if (!function_exists('add_hook_os_templates')) { $cs = new ConfigureService(); $templates_data = $cs->fetchTemplates( - $cs->fetchPackageId($vars['productinfo']['name']) + $cs->fetchPackageByDbId($vars['productinfo']['pid']) ?? $cs->fetchPackageId($vars['productinfo']['name']) ); if (empty($templates_data)) { @@ -72,7 +72,6 @@ if (!function_exists('add_hook_os_templates')) { ]; $configurableoptions = $vars['configurableoptions']; - array_push( $configurableoptions, $osTemplates, diff --git a/modules/servers/VirtFusionDirect/lib/ConfigureService.php b/modules/servers/VirtFusionDirect/lib/ConfigureService.php index 30d8c3a..22f166f 100644 --- a/modules/servers/VirtFusionDirect/lib/ConfigureService.php +++ b/modules/servers/VirtFusionDirect/lib/ConfigureService.php @@ -43,13 +43,33 @@ class ConfigureService extends Module return null; } + + /** + * @param int $productId + * @return int|null + */ + public function fetchPackageByDbId(int $productId): ?int + { + $product = DB::table('tblproducts')->where('id', $productId)->first(); + + if (is_null($product)) { + return null; + } + + return (int)$product->configoption2; + } + /** * @param int $serverPackageId * @return array|null * @throws JsonException */ - public function fetchTemplates(int $serverPackageId): ?array + public function fetchTemplates(?int $serverPackageId): ?array { + if (is_null($serverPackageId)) { + return null; + } + $request = $this->initCurl($this->cp['token']); $response = $request->get(