fixed server manager
This commit is contained in:
@@ -34,7 +34,10 @@ function keyhelpmanager_ConfigOptions()
|
||||
"template" => [
|
||||
"FriendlyName" => "KeyHelp Template",
|
||||
"Type" => "dropdown",
|
||||
"Options" => _keyhelpmanager_GetTemplates(),
|
||||
"Options" => [
|
||||
"" => "-- Select Template --",
|
||||
"manual" => "Manual Configuration (No Template)",
|
||||
],
|
||||
"Description" => "Select a KeyHelp template/plan for this product",
|
||||
"Loader" => "keyhelpmanager_TemplateLoader",
|
||||
],
|
||||
@@ -702,34 +705,57 @@ function _keyhelpmanager_CalculatePercent(int $used, int $limit): float
|
||||
function _keyhelpmanager_GetTemplates($params = null)
|
||||
{
|
||||
try {
|
||||
// Get server configuration from module settings or server params
|
||||
if ($params && isset($params["serverid"])) {
|
||||
$server = Capsule::table("tblservers")
|
||||
->where("id", $params["serverid"])
|
||||
->first();
|
||||
|
||||
if (!$server) {
|
||||
return ["" => "-- No Server Selected --"];
|
||||
}
|
||||
|
||||
$apiParams = [
|
||||
"serverhostname" => $server->hostname,
|
||||
"serveraccesshash" => decrypt($server->accesshash),
|
||||
"serversecure" => $server->secure,
|
||||
// Return default options if no params provided
|
||||
if (!$params || !isset($params["serverid"]) || empty($params["serverid"])) {
|
||||
return [
|
||||
"" => "-- Select Template --",
|
||||
"manual" => "Manual Configuration (No Template)",
|
||||
];
|
||||
|
||||
// Get additional config options
|
||||
$configOptions = Capsule::table("tblservers")
|
||||
->where("id", $params["serverid"])
|
||||
->first();
|
||||
|
||||
if ($configOptions && isset($configOptions->username)) {
|
||||
$apiParams["serverusername"] = $configOptions->username;
|
||||
}
|
||||
} else {
|
||||
return ["" => "-- Configure Product First --"];
|
||||
}
|
||||
|
||||
// Get server configuration from module settings or server params
|
||||
$server = Capsule::table("tblservers")
|
||||
->where("id", $params["serverid"])
|
||||
->first();
|
||||
|
||||
if (!$server) {
|
||||
return [
|
||||
"" => "-- Select Template --",
|
||||
"manual" => "Manual Configuration (No Template)",
|
||||
];
|
||||
}
|
||||
|
||||
// Check if required fields are present
|
||||
if (empty($server->hostname) || empty($server->password)) {
|
||||
return [
|
||||
"" => "-- Select Template --",
|
||||
"manual" => "Manual Configuration (No Template)",
|
||||
];
|
||||
}
|
||||
|
||||
// Try to decrypt password, return default options if it fails
|
||||
try {
|
||||
$apiKey = decrypt($server->password);
|
||||
if (empty($apiKey)) {
|
||||
return [
|
||||
"" => "-- Select Template --",
|
||||
"manual" => "Manual Configuration (No Template)",
|
||||
];
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
return [
|
||||
"" => "-- Select Template --",
|
||||
"manual" => "Manual Configuration (No Template)",
|
||||
];
|
||||
}
|
||||
|
||||
$apiParams = [
|
||||
"serverhostname" => $server->hostname,
|
||||
"serveraccesshash" => $apiKey,
|
||||
"serversecure" => $server->secure ?? "on",
|
||||
"serverhttpprefix" => "",
|
||||
];
|
||||
|
||||
// Fetch templates/plans from KeyHelp
|
||||
// Note: This endpoint may not exist in all KeyHelp versions
|
||||
$result = _keyhelpmanager_APIRequest($apiParams, "/plans", "GET");
|
||||
@@ -783,11 +809,9 @@ function _keyhelpmanager_GetTemplates($params = null)
|
||||
|
||||
return $templates;
|
||||
} catch (\Exception $e) {
|
||||
logActivity(
|
||||
"KeyHelpManager: Get templates failed - " . $e->getMessage(),
|
||||
);
|
||||
// Silently return default options on error to prevent page crashes
|
||||
return [
|
||||
"" => "-- No Template (Error) --",
|
||||
"" => "-- Select Template --",
|
||||
"manual" => "Manual Configuration (No Template)",
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user