You are here

function flexiform_get_getter_parameter_combinations in Flexiform 7

Get all combinations possible for the parameters of an entity getter.

1 call to flexiform_get_getter_parameter_combinations()
flexiform_manage_form_entities_form in ./flexiform.admin.inc
flexiform_manage_form_entities_form

File

./flexiform.admin.inc, line 1503
Model type editing UI.

Code

function flexiform_get_getter_parameter_combinations($parameters, $collated_items, &$combinations, $combination_so_far = array()) {
  $key = key($parameters);
  $parameter = current($parameters);
  array_shift($parameters);
  foreach ($collated_items[$parameter['entity_type']] as $item) {
    $combination_so_far[$key] = $item;

    // If this is the last parameter then save the $combination to the list.
    if (empty($parameters)) {

      // Check for no duplicates.
      if (count(array_unique($combination_so_far)) == count($combination_so_far)) {
        $combinations[] = $combination_so_far;
      }
    }
    else {
      flexiform_get_getter_parameter_combinations($parameters, $collated_items, $combinations, $combination_so_far);
    }
  }
}