function flexiform_display_info in Flexiform 7
Get information about flexiform displays.
7 calls to flexiform_display_info()
- Flexiform::createDisplay in ./flexiform.entity.inc 
- Flexiform::getDisplay in ./flexiform.entity.inc 
- Get hold of a particular display.
- FlexiformController::invoke in ./flexiform.entity.inc 
- Overrides EntityAPIController::invoke().
- flexiform_entity_type_get_displays in ./flexiform.module 
- Get display plugins for a particular entity type.
- flexiform_form in ./flexiform.admin.inc 
- Generates the model type editing form.
File
- ./flexiform.module, line 680 
- Module for the Flexiform system.
Code
function flexiform_display_info($display = FALSE) {
  $displays =& drupal_static(__FUNCTION__, array());
  if (empty($displays)) {
    if ($cache = cache_get('flexiform:display_info', 'cache')) {
      $displays = $cache->data;
    }
    else {
      $displays = array();
      foreach (module_implements('flexiform_display_info') as $module) {
        // Due to http://drupal.org/node/890660 we can't use module_invoke_all()
        // because we need to know the provenance of each set.
        $displays_module = module_invoke($module, 'flexiform_display_info');
        foreach ($displays_module as $display_name => $display_info) {
          $display_info += array(
            'class' => $display_name,
            'label' => $display_name,
            'module' => $module,
            'entity_types' => array(),
          );
          $displays[$display_name] = $display_info;
        }
      }
      // Alter the data sets with hook_party_data_set_info_alter().
      drupal_alter('flexiform_display_info', $displays);
      cache_set('flexiform:display_info', $displays);
    }
  }
  if (!empty($display)) {
    return empty($displays[$display]) ? FALSE : $displays[$display];
  }
  return $displays;
}