function CloudRequestGetList($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]; // check all user input for ($i = 0; $i <= 3; $i++) { if (!$this->check_param($parameter_array[$i])) { $event->log("cloudsoap->CloudRequestGetList", $_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 != 4) { $event->log("cloudsoap->CloudRequestGetList", $_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->CloudRequestGetList", $_SERVER['REQUEST_TIME'], 2, "cloud-soap-server.php", "User authentication failed (mode {$mode})", "", "", 0, 0, 0); return; } $clouduser = new clouduser(); // check that in user mode the username is the same as the cloud_username switch ($mode) { case 'user': if ($clouduser->is_name_free($clouduser_name)) { $event->log("cloudsoap->CloudRequestGetList", $_SERVER['REQUEST_TIME'], 2, "cloud-soap-server.php", "Cloud User name {$clouduser_name} does not exists in the Cloud. Not adding the request !", "", "", 0, 0, 0); return; } if (strcmp($username, $clouduser_name)) { $event->log("cloudsoap->CloudRequestGetList", $_SERVER['REQUEST_TIME'], 2, "cloud-soap-server.php", "Cloud User {$username} is trying to gather the request list of Cloud User {$clouduser_name} !", "", "", 0, 0, 0); return; } break; case 'admin': if (!strlen($clouduser_name)) { $event->log("cloudsoap->CloudRequestGetList", $_SERVER['REQUEST_TIME'], 5, "cloud-soap-server.php", "Providing list of all Cloud-requests", "", "", 0, 0, 0); $cloudrequest_list = array(); $cloudrequest = new cloudrequest(); $cloudrequest_id_list = $cloudrequest->get_all_ids(); foreach ($cloudrequest_id_list as $cr_id_list) { foreach ($cr_id_list as $cr_id) { $cloudrequest_list[] = $cr_id; } } return $cloudrequest_list; } else { if ($clouduser->is_name_free($clouduser_name)) { $event->log("cloudsoap->CloudRequestGetList", $_SERVER['REQUEST_TIME'], 2, "cloud-soap-server.php", "Cloud User name {$clouduser_name} does not exists in the Cloud. Not adding the request !", "", "", 0, 0, 0); return; } } break; } $cloudrequest_list = array(); $clouduser->get_instance_by_name($clouduser_name); $cu_id = $clouduser->id; $event->log("cloudsoap->CloudRequestGetList", $_SERVER['REQUEST_TIME'], 5, "cloud-soap-server.php", "Providing list of Cloud-requests for Cloud User {$clouduser_name} ({$cu_id})", "", "", 0, 0, 0); $cloudrequest = new cloudrequest(); $cloudrequest_id_list = $cloudrequest->get_all_active_ids_per_user($cu_id); foreach ($cloudrequest_id_list as $cr_id_list) { foreach ($cr_id_list as $cr_id) { $cloudrequest_list[] = $cr_id; } } return $cloudrequest_list; }