You are here

function fb_instant_articles_display_get_field_settings in Facebook Instant Articles 7

Same name and namespace in other branches
  1. 7.2 modules/fb_instant_articles_display/includes/view_mode_layout.inc \fb_instant_articles_display_get_field_settings()

Gets the field settings.

Parameters

string $entity_type: The name of the entity.

string $bundle: The name of bundle (ie, page or story for node types, profile for users).

string $view_mode: The name of view mode.

Return value

array Stored field settings.

1 call to fb_instant_articles_display_get_field_settings()
fb_instant_articles_display_field_ui_fields in modules/fb_instant_articles_display/includes/view_mode_layout.inc
Adds the fields to the Field UI form.

File

modules/fb_instant_articles_display/includes/view_mode_layout.inc, line 434
View mode layout functions for Facebook Instant Articles Display.

Code

function fb_instant_articles_display_get_field_settings($entity_type, $bundle, $view_mode, $default = TRUE) {
  static $field_settings = NULL;
  if (!isset($field_settings)) {
    if ($cache = cache_get('fb_instant_articles_display_field_settings')) {
      $field_settings = $cache->data;
    }
    else {
      ctools_include('export');
      $fbia_field_settings = ctools_export_crud_load_all('fb_instant_articles_display_field_settings');
      foreach ($fbia_field_settings as $layout_settings) {

        // Do not store configuration when the field settings is disabled.
        if (!empty($layout_settings->disabled)) {
          continue;
        }

        // Do not store configuration if settings key is not set.
        if (!isset($layout_settings->settings)) {
          continue;
        }
        foreach ($layout_settings->settings as $field => $settings) {
          $field_settings[$layout_settings->entity_type][$layout_settings->bundle][$layout_settings->view_mode][$field] = $settings;
        }
      }
      cache_set('fb_instant_articles_display_field_settings', $field_settings, 'cache');
    }
  }
  return isset($field_settings[$entity_type][$bundle][$view_mode]) ? $field_settings[$entity_type][$bundle][$view_mode] : (isset($field_settings[$entity_type][$bundle]['default']) && $default ? $field_settings[$entity_type][$bundle]['default'] : array());
}