You are here

function _noderelationships_parent_node_form_scanner_recursive in Node Relationships 6

Scan the form recursively to append CSS classes to node reference fields.

1 call to _noderelationships_parent_node_form_scanner_recursive()
_noderelationships_parent_node_form_scanner in ./noderelationships.pages.inc
Form pre-render callback for parent node.

File

./noderelationships.pages.inc, line 662
Implementation of user land pages.

Code

function _noderelationships_parent_node_form_scanner_recursive(&$elements, $field_settings) {

  // Proceed only if user has access to this element and children.
  if (isset($elements['#access']) && !$elements['#access']) {
    return;
  }
  if (isset($elements['#field_name']) && isset($field_settings[$elements['#field_name']]) && isset($elements['#type'])) {
    $field_name = $elements['#field_name'];
    if ($elements['#type'] == 'nodereference_autocomplete' && isset($elements['nid']) && isset($elements['nid']['nid'])) {
      _noderelationships_element_append_class($elements['nid']['nid'], 'noderelationships-nodereference-autocomplete noderelationships[' . $field_name . ']');
    }
  }
  else {

    // Recurse through all children elements.
    foreach (element_children($elements) as $key) {
      if (isset($elements[$key]) && $elements[$key]) {
        _noderelationships_parent_node_form_scanner_recursive($elements[$key], $field_settings);
      }
    }
  }
}