function lndynamic_CreateAccount($params) { $domain = $params["domain"]; $configoptions = $params["configoptions"]; $plan_name = $params['configoption1']; $plan_id = $params['configoption2']; $api_id = $params['configoption3']; $api_key = $params['configoption4']; if (!lunanode_customFieldExists($params['pid'], 'vmid')) { return 'Custom field vmid has not been configured.'; } if (!empty($params['customfields']['vmid'])) { $result = lndynamic_API($api_id, $api_key, 'vm', 'info', array('vm_id' => $params['customfields']['vmid'])); if (!isset($result['error'])) { return 'Virtual machine already exists, please delete and try again.'; } } if (!isset($configoptions['Operating System'])) { return "Error: you must select an operating system!"; } $os = $configoptions['Operating System']; if (empty($api_id) || empty($api_key)) { return "Error: product misconfiguration (backend interface not set)."; } if (empty($plan_id)) { if ($plan_name == '1024 MB') { $plan_id = 2; } else { if ($plan_name == '2048 MB') { $plan_id = 3; } else { if ($plan_name == '4096 MB') { $plan_id = 4; } else { if ($plan_name == '8192 MB') { $plan_id = 5; } else { if ($plan_name == '16384 MB') { $plan_id = 6; } else { $plan_id = 1; } } } } } } else { $plan_id = intval($plan_id); } $result = lndynamic_API($api_id, $api_key, 'vm', 'create', array('hostname' => $domain, 'plan_id' => $plan_id, 'image_id' => $os, 'wait' => 1)); if (isset($result['error'])) { return "Error: {$result['error']}."; } else { lunanode_customFieldSet($params['pid'], 'vmid', $params['serviceid'], $result['vm_id']); return "success"; } }
function lunanode_customFieldSet($relid, $fieldname, $serviceid, $value) { if (lunanode_customFieldExists($relid, $fieldname)) { $result = mysql_query_safe("SELECT `id` FROM tblcustomfields WHERE `relid` = ? AND `type` = 'product' AND `fieldname` LIKE ?", array($relid, strpos($fieldname, '|') ? $fieldname . '|%' : $fieldname . '%')); $row = mysql_fetch_array($result); mysql_query_safe('DELETE FROM tblcustomfieldsvalues WHERE `fieldid` = ? AND `relid` = ?', array($row[0], $serviceid)); mysql_query_safe('INSERT INTO tblcustomfieldsvalues (fieldid, relid, value) VALUES (?, ?, ?)', array($row[0], $serviceid, $value)); } }