You are here

function theme_get_registry in Drupal 7

Same name and namespace in other branches
  1. 8 core/includes/theme.inc \theme_get_registry()
  2. 6 includes/theme.inc \theme_get_registry()
  3. 9 core/includes/theme.inc \theme_get_registry()

Gets the theme registry.

Parameters

$complete: Optional boolean to indicate whether to return the complete theme registry array or an instance of the ThemeRegistry class. If TRUE, the complete theme registry array will be returned. This is useful if you want to foreach over the whole registry, use array_* functions or inspect it in a debugger. If FALSE, an instance of the ThemeRegistry class will be returned, this provides an ArrayObject which allows it to be accessed with array syntax and isset(), and should be more lightweight than the full registry. Defaults to TRUE.

Return value

The complete theme registry array, or an instance of the ThemeRegistry class.

8 calls to theme_get_registry()
contextual_preprocess in modules/contextual/contextual.module
Implements hook_preprocess().
hook_preprocess in modules/system/theme.api.php
Preprocess theme variables for templates.
l in includes/common.inc
Formats an internal or external URL link as an HTML anchor tag.
theme in includes/theme.inc
Generates themed output.
ThemeDebugMarkupTestCase::testDebugOutput in modules/simpletest/tests/theme.test
Tests debug markup added to template output.

... See full list

1 string reference to 'theme_get_registry'
drupal_theme_rebuild in includes/theme.inc
Forces the system to rebuild the theme registry.

File

includes/theme.inc, line 255
The theme system, which controls the output of Drupal.

Code

function theme_get_registry($complete = TRUE) {

  // Use the advanced drupal_static() pattern, since this is called very often.
  static $drupal_static_fast;
  if (!isset($drupal_static_fast)) {
    $drupal_static_fast['registry'] =& drupal_static('theme_get_registry');
  }
  $theme_registry =& $drupal_static_fast['registry'];

  // Initialize the theme, if this is called early in the bootstrap, or after
  // static variables have been reset.
  if (!is_array($theme_registry)) {
    drupal_theme_initialize();
    $theme_registry = array();
  }
  $key = (int) $complete;
  if (!isset($theme_registry[$key])) {
    list($callback, $arguments) = _theme_registry_callback();
    if (!$complete) {
      $arguments[] = FALSE;
    }
    $theme_registry[$key] = call_user_func_array($callback, $arguments);
  }
  return $theme_registry[$key];
}