function CloudUserSetLimits($method_parameters) { global $event; $parameter_array = explode(',', $method_parameters); $mode = $parameter_array[0]; $username = $parameter_array[1]; $password = $parameter_array[2]; $clouduser_name = $parameter_array[3]; $resource_limit = $parameter_array[4]; $memory_limit = $parameter_array[5]; $disk_limit = $parameter_array[6]; $cpu_limit = $parameter_array[7]; $network_limit = $parameter_array[8]; // check all user input for ($i = 0; $i <= 8; $i++) { if (!$this->check_param($parameter_array[$i])) { $event->log("cloudsoap->CloudUserSetLimits", $_SERVER['REQUEST_TIME'], 2, "cloud-soap-server.php", "Not allowing user-intput with special-characters : {$parameter_array[$i]}", "", "", 0, 0, 0); return; } } // check parameter count $parameter_count = count($parameter_array); if ($parameter_count != 9) { $event->log("cloudsoap->CloudUserSetLimits", $_SERVER['REQUEST_TIME'], 2, "cloud-soap-server.php", "Wrong parameter count {$parameter_count} ! Exiting.", "", "", 0, 0, 0); return; } // check authentication if (!$this->check_user($mode, $username, $password)) { $event->log("cloudsoap->CloudUserSetLimits", $_SERVER['REQUEST_TIME'], 2, "cloud-soap-server.php", "User authentication failed (mode {$mode})", "", "", 0, 0, 0); return; } // check for admin if (strcmp($mode, "admin")) { $event->log("cloudsoap->CloudUserSetLimits", $_SERVER['REQUEST_TIME'], 2, "cloud-soap-server.php", "Cloud method only available in admin mode", "", "", 0, 0, 0); return; } $cl_user = new clouduser(); if ($cl_user->is_name_free($clouduser_name)) { $event->log("cloudsoap->CloudUserSetLimits", $_SERVER['REQUEST_TIME'], 2, "cloud-soap-server.php", "Cloud User name {$clouduser_name} does not exists in the Cloud !", "", "", 0, 0, 0); return 1; } $event->log("cloudsoap->CloudUserSetLimits", $_SERVER['REQUEST_TIME'], 5, "cloud-soap-server.php", "Setting Cloud Limits for Cloud Users {$clouduser_name}", "", "", 0, 0, 0); $cloud_user_limits_fields = array(); $cloud_user_limits_fields['cl_resource_limit'] = $resource_limit; $cloud_user_limits_fields['cl_memory_limit'] = $memory_limit; $cloud_user_limits_fields['cl_disk_limit'] = $disk_limit; $cloud_user_limits_fields['cl_cpu_limit'] = $cpu_limit; $cloud_user_limits_fields['cl_network_limit'] = $network_limit; $cl_user->get_instance_by_name($clouduser_name); $clouduser_limit = new clouduserlimits(); $clouduser_limit->get_instance_by_cu_id($cl_user->id); $clouduser_limit->update($clouduser_limit->id, $cloud_user_limits_fields); return 0; }