Esempio n. 1
0
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";
    }
}
Esempio n. 2
0
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));
    }
}