public function sweaver_plugin_themeswitch::sweaver_menu_callback in Sweaver 7
Same name and namespace in other branches
- 6 plugins/sweaver_plugin_themeswitch/sweaver_plugin_themeswitch.inc \sweaver_plugin_themeswitch::sweaver_menu_callback()
Frontend themeswitch.
Overrides sweaver_plugin::sweaver_menu_callback
File
- plugins/
sweaver_plugin_themeswitch/ sweaver_plugin_themeswitch.inc, line 94 - Themeswitch plugin.
Class
- sweaver_plugin_themeswitch
- @file Themeswitch plugin.
Code
public function sweaver_menu_callback() {
$theme = arg(1);
$theme_default = variable_get('theme_default', 'garland');
$all_themes = sweaver_get_all_themes();
if (!empty($theme) && isset($all_themes[$theme]) && $all_themes[$theme]->status == 1) {
if ($theme != $theme_default) {
sweaver_session(NULL, 'sweaver_theme', TRUE);
sweaver_session($theme, 'sweaver_theme');
}
else {
// Reset session variable because it's the default.
sweaver_session(NULL, 'sweaver_theme', TRUE);
}
// Let other modules act on the themeswitch.
$arguments = array(
'switched_theme' => $theme,
'default_theme' => $theme_default,
);
module_invoke_all('sweaver_action', 'theme_switch', $arguments);
sweaver_session(t('You have switched to @switched_theme.', array(
'@switched_theme' => $all_themes[$theme]->info['name'],
)));
}
// Go back to previous page.
drupal_goto();
}