You are here

function flexiform_manage_form_entities_form_submit in Flexiform 7

Validate the manage entities form

File

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

Code

function flexiform_manage_form_entities_form_submit($form, &$form_state) {
  $form_values = $form_state['values']['entities'];
  $flexiform = $form_state['#flexiform'];
  $entities = $form_state['#entities'];
  $entity_path = '';
  foreach ($form_values as $entity_namespace => $values) {
    if ($entity_namespace == '_add_entity') {
      continue;
    }
    $flexiform->entities[$entity_namespace]['weight'] = $values['weight'];
  }

  // Add a field
  $entity = array();
  if (!empty($form_values['_add_entity']['namespace'])) {
    $values = $form_values['_add_entity'];
    $entity = array(
      'namespace' => $values['namespace'],
      'label' => $values['label'],
      'entity_type' => $values['entity_type'],
      'bundle' => $values['bundle'],
      'getter' => $values['getter'],
      'create' => FALSE,
      'weight' => $values['weight'],
    );
    $input = explode(':', $values['getter']);
    if (count($input) > 1) {
      $entity['getter'] = array_shift($input);
      foreach ($input as $param_info) {
        $bits = explode('=', $param_info);
        $entity['parameters'][$bits[0]] = $bits[1];
      }
    }
    $flexiform->entities[$entity['namespace']] = $entity;

    // Send the User to the Instance Settings page
  }
  $flexiform
    ->save();
  drupal_set_message(t('Your settings have been saved'));
}