function drupal_find_base_themes
drupal_find_base_themes($themes, $key, $used_keys = array())
Find all the base themes for the specified theme.
Themes can inherit templates and function implementations from earlier themes.
Parameters
$themes: An array of available themes.
$key: The name of the theme whose base we are looking for.
$used_keys: A recursion parameter preventing endless loops.
Return value
Returns an array of all of the theme's ancestors; the first element's value will be NULL if an error occurred.
File
- includes/theme.inc, line 843
- The theme system, which controls the output of Drupal.
Code
function drupal_find_base_themes($themes, $key, $used_keys = array()) { $base_key = $themes[$key]->info['base theme']; // Does the base theme exist? if (!isset($themes[$base_key])) { return array($base_key => NULL); } $current_base_theme = array($base_key => $themes[$base_key]->info['name']); // Is the base theme itself a child of another theme? if (isset($themes[$base_key]->info['base theme'])) { // Do we already know the base themes of this theme? if (isset($themes[$base_key]->base_themes)) { return $themes[$base_key]->base_themes + $current_base_theme; } // Prevent loops. if (!empty($used_keys[$base_key])) { return array($base_key => NULL); } $used_keys[$base_key] = TRUE; return drupal_find_base_themes($themes, $base_key, $used_keys) + $current_base_theme; } // If we get here, then this is our parent theme. return $current_base_theme; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/includes!theme.inc/function/drupal_find_base_themes/7.x