You are here

function services_edit_form_endpoint_resources_submit in Services 6.3

Same name and namespace in other branches
  1. 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'));
}