public function previewTheme($ThemeName = '', $transientKey = '')
{
$this->permission('Garden.Settings.Manage');
if (Gdn::session()->validateTransientKey($transientKey)) {
$ThemeInfo = Gdn::themeManager()->getThemeInfo($ThemeName);
$PreviewThemeName = $ThemeName;
$displayName = val('Name', $ThemeInfo);
$IsMobile = val('IsMobile', $ThemeInfo);
// If we failed to get the requested theme, cancel preview
if ($ThemeInfo === false) {
$PreviewThemeName = '';
}
if ($IsMobile) {
Gdn::session()->setPreference(['PreviewMobileThemeFolder' => $PreviewThemeName, 'PreviewMobileThemeName' => $displayName]);
} else {
Gdn::session()->setPreference(['PreviewThemeFolder' => $PreviewThemeName, 'PreviewThemeName' => $displayName]);
}
$this->fireEvent('PreviewTheme', ['ThemeInfo' => $ThemeInfo]);
redirect('/');
} else {
redirect('settings/themes');
}
}