From ba96212505c8624ebfef738e9ab11748e37cc4b1 Mon Sep 17 00:00:00 2001 From: starfighter83 Date: Wed, 3 Aug 2011 08:07:25 -0200 Subject: [PATCH] Fixes issue with Base and dictionary items Work Items: 30382 --- .../umbracobase/baseHttpModule.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/umbraco/presentation/umbracobase/baseHttpModule.cs b/umbraco/presentation/umbracobase/baseHttpModule.cs index 458ba63312..18a1bdcb83 100644 --- a/umbraco/presentation/umbracobase/baseHttpModule.cs +++ b/umbraco/presentation/umbracobase/baseHttpModule.cs @@ -92,6 +92,8 @@ namespace umbraco.presentation.umbracobase if (myExtension.isAllowed) { + TrySetCulture(); + string response = invokeMethod(myExtension, urlArray); // since return value is arbitrary (set by implementor), check length before checking for error if (response.Length >= 7) @@ -225,6 +227,23 @@ namespace umbraco.presentation.umbracobase } + private static void TrySetCulture() + { + string domain = HttpContext.Current.Request.Url.Host; //Host only + if (TrySetCulture(domain)) return; + + domain = HttpContext.Current.Request.Url.Authority; //Host with port + if (TrySetCulture(domain)) return; + } + + private static bool TrySetCulture(string domain) + { + var uDomain = cms.businesslogic.web.Domain.GetDomain(domain); + if (uDomain == null) return false; + System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(uDomain.Language.CultureAlias); + return true; + } + }