function webform_service_submission_index in Webform Service 7.4
Same name and namespace in other branches
- 6.3 webform_service.module \webform_service_submission_index()
Retrieve all submissions for a webform.
1 string reference to 'webform_service_submission_index'
- _webform_resource_definition in resources/
webform_resource.inc - The webform resource definition.
File
- ./
webform_service.module, line 334
Code
function webform_service_submission_index($uuid, $page, $page_size, $parameters) {
global $user;
if ($webform = webform_service_resource_load($uuid)) {
// Establish the index by setting the default nid filter, and then using any
// additional parameters when getting the submissions.
$index = array();
module_load_include('inc', 'webform', 'includes/webform.submissions');
// Set appropriate parameters as filters to get submissions.
$parameters['nid'] = $webform->nid;
// First check if we have access to all
if (user_access('access all webform results')) {
// don't filter anything extra
}
else {
if (user_access('access own webform submissions')) {
$parameters['uid'] = $user->uid;
}
else {
return services_error(t('User @userid does not have access to submissions', array(
'@userid' => $user->uid,
)), 401);
}
}
// Get the submissions, then iterate over each and load it onto the index.
$submissions = webform_get_submissions($parameters);
foreach ($submissions as $submission) {
$index[] = webform_service_get_submission($webform, $submission);
}
return $index;
}
else {
return services_error(t('@uuid could not be found', array(
'@uuid' => $uuid,
)), 404);
}
}