function fb_instant_articles_display_get_field_settings in Facebook Instant Articles 7.2
Same name and namespace in other branches
- 7 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 436 - 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());
}