You are here

function _ajax_form_entity_load_entities in Ajax form entity 7.x

Same name and namespace in other branches
  1. 7 ajax_form_entity.module \_ajax_form_entity_load_entities()

Helper function to correct badly declared entities.

3 calls to _ajax_form_entity_load_entities()
ajax_form_entity_field_extra_fields in ./ajax_form_entity.module
Adds edit link and modify link. Implements hook_field_extra_fields().
ajax_form_entity_form in ./ajax_form_entity.admin.inc
Implements hook_form().
ajax_form_entity_form_submit in ./ajax_form_entity.admin.inc
Saves one variable per bundle. Implements hook_form_submit().

File

./ajax_form_entity.module, line 73
Ajaxify entity forms.

Code

function _ajax_form_entity_load_entities() {
  $return_entities = array();

  // Get all entites.
  $entities = module_invoke_all('entity_info');
  $allowed_entities = array(
    'entityforms',
    'node',
    'user',
    'taxonomy',
    'comment',
    'field_collection_item',
  );

  // Only select fieldable entites that have bundle defined.
  foreach ($entities as $entity_name => $entity) {
    if (isset($entity['fieldable']) && isset($entity['bundles']) && $entity['bundles'] && array_search($entity_name, $allowed_entities)) {
      $return_entities[$entity_name] = $entity;
    }
  }

  // Correction for entityforms that do not declare its bundles.
  if (isset($entities['entityform_type']) && $entities['entityform_type']) {
    $results = db_query("SELECT type, label FROM {entityform_type}");

    // TODO : use entityform_get_types
    $return_entities['entityform'] = $entities['entityform'];
    foreach ($results as $result) {
      $return_entities['entityform']['bundles'][$result->type]['label'] = $result->label;
    }
  }
  return $return_entities;
}