You are here

function flexiform_conditional_fields_load_depencies in Flexiform 7

Load flexiform dependencies.

Parameters

$flexiform.:

1 call to flexiform_conditional_fields_load_depencies()
flexiform_conditional_fields_element_after_build in flexiform_conditional_fields/flexiform_conditional_fields.module
After build on flexiform form elements.

File

flexiform_conditional_fields/flexiform_conditional_fields.module, line 338
Main module code for flexiform conditional fields integrations.

Code

function flexiform_conditional_fields_load_depencies($flexiform) {
  static $drupal_static_fast;
  if (!isset($drupal_static_fast)) {
    $drupal_static_fast['dependencies'] =& drupal_static(__FUNCTION__, array());
  }
  $dependencies =& $drupal_static_fast['dependencies'];
  if (isset($dependencies[$flexiform->form])) {
    return $dependencies[$flexiform->form];
  }
  $dependencies[$flexiform->form] = array();
  $id = 0;
  foreach ($flexiform->elements as $element_namespace => $settings) {
    if (empty($settings['conditional_fields'])) {
      continue;
    }
    foreach ($settings['conditional_fields'] as $dependency_key => $options) {
      list($dependee) = explode('|', $dependency_key);
      $dependencies[$flexiform->form]['dependents'][$element_namespace][$id] = array(
        'dependee' => $dependee,
        'options' => $options,
      );
      $dependencies[$flexiform->form]['dependees'][$dependee][$id] = array(
        'dependent' => $element_namespace,
        'options' => $options,
      );
      $id++;
    }
  }
  return $dependencies[$flexiform->form];
}