function services_edit_form_endpoint_resources_submit in Services 6.3
Same name and namespace in other branches
- 7.3 plugins/export_ui/services_ctools_export_ui.class.php \services_edit_form_endpoint_resources_submit()
services_edit_form_endpoint_resources_submit function.
_state
Parameters
array $form:
Return value
void
File
- plugins/
export_ui/ services_ctools_export_ui.class.php, line 396 - Export-ui handler for the Services module.
Code
function services_edit_form_endpoint_resources_submit($form, &$form_state) {
$endpoint = $form_state['values']['endpoint_object'];
$resources = $form_state['values']['resources'];
$class_names = services_operation_class_info();
// Iterate over the resources, its operation classes and operations.
// The main purpose is to remove empty configuration for disabled elements.
foreach ($resources as $resource_name => $resource) {
if (empty($resource['alias'])) {
unset($resource['alias']);
}
foreach ($class_names as $class_name => $info) {
if (!empty($resource[$class_name])) {
foreach ($resource[$class_name] as $op_name => $op) {
// Remove the operation if it has been disabled.
if (!$op['enabled']) {
unset($resource[$class_name][$op_name]);
}
}
}
// Remove the operation class element if it doesn't
// have any enabled operations.
if (empty($resource[$class_name])) {
unset($resource[$class_name]);
}
}
// Remove the resource if it doesn't have any properties.
if (empty($resource)) {
unset($resources[$resource_name]);
}
else {
$resources[$resource_name] = $resource;
}
}
$endpoint->resources = $resources;
services_endpoint_save($endpoint);
drupal_set_message(t('Resources have been saved'));
}