Example #1
0
function update_user_limits($server_id, $client_id)
{
    $sql_select = "SELECT\n            configoption2 + sub.sortorder as value,\n\n            onapp_user_id as serveruserid,\n            tblservers.ipaddress as serveripaddres,\n            tblservers.hostname  as serverhostname,\n            tblservers.username  as serverusername,\n            tblservers.password  as serverpassword\n        FROM\n            tblhosting\n            LEFT JOIN tblproducts\n                ON tblproducts.id = packageid\n            LEFT JOIN tblhostingconfigoptions AS options ON\n                relid = tblhosting.id\n            LEFT JOIN tblproductconfigoptionssub AS sub\n                ON options.configid = sub.configid\n                AND optionid = sub.id\n            LEFT JOIN tblproductconfigoptions\n                ON tblproductconfigoptions.id = options.configid\n            LEFT JOIN tblonappclients\n                ON tblhosting.userid = client_id\n                AND configoption1 = server_id\n            LEFT JOIN tblservers ON tblproducts.configoption1 = tblservers.id\n        WHERE\n            servertype            = 'onappbackupspace'\n            AND domainstatus      = 'Active'\n            AND tblhosting.userid = {$client_id}\n            AND configoption1     = {$server_id}";
    $rows = full_query($sql_select);
    $storage_disk_size_limit = 0;
    $sql_select_user = "******";
    $user_rows = full_query($sql_select_user);
    if ($user_rows) {
        while ($user_row = mysql_fetch_assoc($user_rows)) {
            $user = array('userid' => $user_row['serveruserid'], 'username' => $user_row['serverusername'], 'password' => decrypt($user_row['serverpassword']), 'hostname' => $user_row["serveripaddres"] != "" ? 'http://' . $user_row["serveripaddres"] : $user_row['serverhostname']);
        }
    }
    if ($rows) {
        while ($row = mysql_fetch_assoc($rows)) {
            $storage_disk_size_limit += $row['value'];
        }
    }
    if (!is_null($user)) {
        $limits = new ONAPP_ResourceLimit();
        $limits->auth($user["hostname"], $user['username'], $user['password']);
        $limits->load($user['userid']);
        $limits->_storage_disk_size = $storage_disk_size_limit;
        $limits->save();
    }
}
Example #2
0
function storagedisksizes()
{
    global $user_id;
    $select_services = "SELECT\n        tblhosting.id as id,\n\n        tblonappclients.onapp_user_id,\n        tblonappclients.email,\n        tblonappclients.password,\n\n        tblproducts.name as product,\n        LOWER(domainstatus) as domainstatus,\n        tblproducts.configoption1 as serverid,\n        tblproducts.configoption2 basespace,\n        tblproducts.configoption3,\n\n        CASE optiontype\n            WHEN 1 THEN optionssub.sortorder\n            WHEN 2 THEN optionssub.sortorder\n            WHEN 4 THEN options.qty * optionssub.sortorder\n            ELSE 0\n        END AS additionalspace,\n\n        tblservers.name      as servername,\n        tblservers.ipaddress as serveripaddres,\n        tblservers.hostname  as serverhostname,\n        tblservers.username  as serverusername,\n        tblservers.password  as serverpassword,\n\n        optionssub.id as subid,\n        optionssub.optionname,\n        options.configid,\n        tblproductconfigoptions.optionname as configoptionname,\n        tblproductconfigoptions.optiontype,\n        tblproductconfigoptions.qtymaximum AS max,\n        tblproductconfigoptions.qtyminimum AS min,\n        options.qty,\n        optionssub.sortorder,\n        options.optionid as active\n    FROM\n        tblhosting\n        LEFT JOIN tblproducts ON\n            tblproducts.id = packageid\n        LEFT JOIN tblonappservices ON\n            service_id = tblhosting.id\n        LEFT JOIN tblonappclients ON\n            tblproducts.configoption1 = tblonappclients.server_id AND\n            tblhosting.userid = tblonappclients.client_id\n        LEFT JOIN tblhostingconfigoptions AS options ON\n            relid = tblhosting.id\n        LEFT JOIN tblproductconfigoptionssub AS sub\n            ON options.configid = sub.configid\n            AND options.configid = tblproducts.configoption3\n            AND optionid = sub.id\n        LEFT JOIN tblproductconfigoptions\n            ON tblproductconfigoptions.id = options.configid\n        LEFT JOIN tblproductconfigoptionssub AS optionssub\n            ON optionssub.configid = tblproductconfigoptions.id AND\n            options.configid = tblproducts.configoption3\n        LEFT JOIN tblservers ON tblproducts.configoption1 = tblservers.id\n    WHERE\n        servertype = 'onappbackupspace'\n        AND options.optionid = optionssub.id\n        AND userid = '{$user_id}'\n    ORDER BY servername, tblhosting.id ASC";
    $services_rows = full_query($select_services);
    while ($service = mysql_fetch_assoc($services_rows)) {
        $rows[] = $service;
    }
    $servers = array();
    if (count($rows)) {
        foreach ($rows as $key => $value) {
            if (!isset($servers[$value['serverid']])) {
                $servers[$value['serverid']] = array('services' => array(), 'name' => $rows[$key]['servername'], 'adress' => $rows[$key]["serveripaddres"] != "" ? 'http://' . $rows[$key]["serveripaddres"] : $rows[$key]['serverhostname'], 'username' => $rows[$key]['serverusername'], 'password' => decrypt($rows[$key]['serverpassword']), 'onapp_user_id' => $rows[$key]['onapp_user_id']);
            }
            $servers[$value['serverid']]['services'][] = $value;
        }
    }
    foreach ($servers as $key => $server) {
        $limit = new ONAPP_ResourceLimit();
        $limit->auth($server['adress'], $server['username'], $server['password']);
        $limit->load($server['onapp_user_id']);
        $servers[$key]['storage_disk_size'] = $limit->_obj->_storage_disk_size ? $limit->_obj->_storage_disk_size : 0;
        $vms = new ONAPP_VirtualMachine();
        $vms->auth($server['adress'], $server['username'], $server['password']);
        $backups_size = 0;
        foreach ($vms->getList($server['onapp_user_id']) as $vm) {
            $backups = new ONAPP_VirtualMachine_Backup();
            $backups->_virtual_machine_id = $vm->_id;
            $backups->auth($server['adress'], $server['username'], $server['password']);
            foreach ($backups->getList() as $backup) {
                $backups_size += $backup->_backup_size;
            }
        }
        if ($backups_size > 0) {
            $backups_size = sprintf("%01.2f", $backups_size / 1024 / 1024);
        }
        $servers[$value['serverid']]['backups_size'] = $backups_size;
    }
    show_template("onapp/clientareastoragedisksizes", array('rows' => $servers));
}