You are here

function _expand_views_node_selector in Views Bulk Operations (VBO) 5

True views_node_selector form element expansion function.

See also

views_bulk_operations_elements() in views_bulk_operations.module

expand_views_node_selector() in views_bulk_operations.module

form_builder() in Drupal core includes/form.inc

1 call to _expand_views_node_selector()
expand_views_node_selector in ./views_bulk_operations.module
A place holder for the element processing function, located in views_form.inc

File

./views_form.inc, line 97
Helper functions for the views_node_selector form element type.

Code

function _expand_views_node_selector($element) {
  $options = array();
  foreach ($element['#view_nodes'] as $node) {
    $options[$node->nid] = '';
  }
  $element['#options'] = $options;
  if ($element['#multiple']) {
    $element = expand_checkboxes($element);
  }
  else {

    // Handle the case of an array of default values for radios.
    if (is_array($element['#default_value'])) {
      $element['#default_value'] = current($element['#default_value']);
    }
    $element = expand_radios($element);
  }

  // Check for disabled items
  foreach ($options as $nid => $v) {
    if (in_array($nid, $element['#disabled_nodes'])) {
      $element[$nid]['#disabled'] = TRUE;
    }

    // Disable the theme function for the radio/checkbox elements so that
    // the output can be built in theme_views_node_selector.
    $element[$nid]['#theme'] = '';

    // Add CSS class.
    $element[$nid]['#attributes']['class'] = 'view-field';
  }

  // Ummm unset the #options so that FAPI doesn't give me the "Illegal choice %choice in !name element" error.
  unset($element['#options']);
  $element['select_all'] = array(
    '#type' => 'hidden',
    '#default_value' => @$element['#value']['select_all'],
  );
  return $element;
}