function theme_disable in Drupal 7
Disables a given list of themes.
Parameters
$theme_list: An array of theme names.
1 call to theme_disable()
- system_theme_disable in modules/
system/ system.admin.inc - Menu callback; Disables a theme.
File
- includes/
theme.inc, line 1629 - The theme system, which controls the output of Drupal.
Code
function theme_disable($theme_list) {
// Don't disable the default theme.
if ($pos = array_search(variable_get('theme_default', 'bartik'), $theme_list) !== FALSE) {
unset($theme_list[$pos]);
if (empty($theme_list)) {
return;
}
}
drupal_clear_css_cache();
foreach ($theme_list as $key) {
db_update('system')
->fields(array(
'status' => 0,
))
->condition('type', 'theme')
->condition('name', $key)
->execute();
}
list_themes(TRUE);
menu_rebuild();
drupal_theme_rebuild();
// Invoke hook_themes_disabled after the themes have been disabled.
module_invoke_all('themes_disabled', $theme_list);
}