You are here

function flexiform_get_entity_namespace_fields in Flexiform 7

Get the fields on a form from a particular entity namespace

Parameters

$entity_namespace: The namespace as give by flexiform_get_entity_namespace

$form: Fully Built form object

Return value

A form array with only the fields from that entity included without the namespace prefixed

File

includes/flexiform.flexiform.inc, line 363
flexiform.flexiform.inc Helper function for embedding the fields into the flexiform in an arbitrary order

Code

function flexiform_get_entity_namespace_fields($entity_namespace, $form) {
  $entity_form = array();
  $namespace_length = strlen($entity_namespace);
  foreach ($form as $key => $field) {
    if (substr($key, 0, 1) == '#') {
      $entity_form[$key] = $field;
    }
    elseif (substr($key, 0, $namespace_length) == $entity_namespace) {
      $entity_form[substr($key, $namespace_length + 2)] = $field;
    }
  }
  $entity_form['#parents'][] = $entity_namespace;
  return $entity_form;
}