You are here

function amp_get_enabled_types in Accelerated Mobile Pages (AMP) 7

Helper function to retrieve an array of AMP-enabled content types.

7 calls to amp_get_enabled_types()
amp_admin_metadata_form in ./amp.admin.inc
Form constructor for the AMP metadata form.
amp_ctools_render_alter in ./amp.module
Implements hook_ctools_render_alter().
amp_form_node_type_form_alter in ./amp.module
Implements hook_form_FORM_ID_alter().
amp_get_formatted_status_list in ./amp.admin.inc
Helper function to retrieve a formatted list of AMP-enabled content types.
amp_is_amp_request in ./amp.module
Determines whether a request should return AMP HTML.

... See full list

File

./amp.admin.inc, line 225
Administrative page callbacks for the AMP module.

Code

function amp_get_enabled_types() {
  $enabled_types =& drupal_static(__FUNCTION__, array());
  if (empty($enabled_types)) {
    if ($cache = cache_get('amp_enabled_types')) {
      $enabled_types = $cache->data;
    }
    else {
      $node_types = array_keys(node_type_get_names());
      foreach ($node_types as $node_type) {
        $view_mode_settings = field_view_mode_settings('node', $node_type);
        if (isset($view_mode_settings['amp']) && $view_mode_settings['amp']['custom_settings']) {
          $enabled_types[] = $node_type;
        }
      }
      cache_set('amp_enabled_types', $enabled_types, 'cache');
    }
  }
  return $enabled_types;
}