From cb17abd73ae0ad91f4fc270864f03666dc5a0cf6 Mon Sep 17 00:00:00 2001 From: Dave Reed Date: Tue, 19 Oct 2010 13:34:39 -0700 Subject: [PATCH] ThemeService now finds first theme that is _enabled_ in priority list. If no theme exists or is enabled the SafeMode theme is selected. --HG-- branch : dev --- .../Modules/Orchard.Themes/Services/ThemeService.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Themes/Services/ThemeService.cs b/src/Orchard.Web/Modules/Orchard.Themes/Services/ThemeService.cs index 019ae977c..c58033463 100644 --- a/src/Orchard.Web/Modules/Orchard.Themes/Services/ThemeService.cs +++ b/src/Orchard.Web/Modules/Orchard.Themes/Services/ThemeService.cs @@ -154,11 +154,11 @@ namespace Orchard.Themes.Services { foreach (var theme in requestTheme) { var t = GetThemeByName(theme.ThemeName); - if (t != null) + if (t != null && t.Enabled) return t; } - return null; + return GetThemeByName("SafeMode"); } public ITheme GetThemeByName(string name) { @@ -221,7 +221,8 @@ namespace Orchard.Themes.Services { } private bool IsThemeEnabled(ExtensionDescriptor descriptor) { - return _shellDescriptorManager.GetShellDescriptor().Features.Any(sf => sf.Name == descriptor.Name); + return (descriptor.Name == "TheAdmin" || descriptor.Name == "SafeMode") || + _shellDescriptorManager.GetShellDescriptor().Features.Any(sf => sf.Name == descriptor.Name); } private ITheme CreateTheme(ExtensionDescriptor descriptor) {