public AbstractPage() { Order = 100; Layout = "_Layout.cshtml"; Visible = true; ShowInMenu = true; ShowInSitemap = true; ShowInAdminMenu = true; CreateTime = DateTime.Now; ChangeTime = DateTime.Now; PermissionsUpdateChildPages = true; LanguageCode = SF.GetLangCodeWebconfig(); }
public static string GetMenuFormated(int MaxLevel, int CurrentPageID, string UlID, string UlClass) { List <CustomMenuItem> pages = GetDisplayMenuRepository(); if (SF.GetLangCodeThreading() == SF.GetLangCodeWebconfig()) { return(WriteChildMenu(pages.Where(r => r.Visible == true && r.LangCode == SF.GetLangCodeThreading() && r.ShowInMenu == true && r.Level <= MaxLevel).ToList(), null, MaxLevel, 1, CurrentPageID, UlID, UlClass)); } else { MaxLevel = MaxLevel + 1; return(WriteChildMenu(pages.Where(r => r.Visible == true && r.LangCode == SF.GetLangCodeThreading() && r.ShowInMenu == true && r.Level <= MaxLevel).ToList(), null, MaxLevel, 2, CurrentPageID, UlID, UlClass)); } }
public static Uco.Models.Settings GetCurrentSettings() { if (LS.CurrentEntityContext == null) { return new Settings() { AdminEmail = "*****@*****.**", Domain = "localhost", LanguageCode = "en-US", Roles = "", } } ; if (SF.UseMultiDomain() == false) { string Token = "CurrentSettings_" + SF.GetLangCodeThreading(); if (LS.Cache[Token] == null) { lock (s_lock) { Settings s = GetSettingsRepositoryList().FirstOrDefault(); if (s == null) { return(null); } string LangCodeThreading = SF.GetLangCodeThreading(); if (SF.GetLangCodeWebconfig() != LangCodeThreading) { LanguagePage l = _db.LanguagePages.FirstOrDefault(r => r.DomainID == s.ID && r.LanguageCode == LangCodeThreading); if (l != null) { s.LanguageCode = l.LanguageCode; //s.LanguageRTL = l.ShowOnMainPage; s.HeaderHtml = l.Text2; s.FotterHtml = l.Text3; } } LS.Cache[Token] = s; } } return((Uco.Models.Settings)LS.Cache[Token]); } else { string Domain = SF.GetCurrentDomain(); if (LS.CurrentHttpContext.Request.IsLocal) { string TokenAdmin = "AdminCurrentSettingsRepository"; if (LS.CurrentHttpContext.Session[TokenAdmin] != null) { return((Uco.Models.Settings)LS.CurrentHttpContext.Session[TokenAdmin]); } else { string Token = string.Format("CurrentSettingsMultiDomain_{0}_{1}", Domain, SF.GetLangCodeThreading()); if (LS.Cache[Token] == null) { lock (s_lock) { Settings s = GetSettingsRepositoryList().FirstOrDefault(); if (s == null) { return(null); } string LangCodeThreading = SF.GetLangCodeThreading(); if (SF.GetLangCodeWebconfig() != LangCodeThreading) { LanguagePage l = _db.LanguagePages.FirstOrDefault(r => r.DomainID == s.ID && r.LanguageCode == LangCodeThreading); if (l != null) { s.LanguageCode = l.LanguageCode; //s.LanguageRTL = l.ShowOnMainPage; s.HeaderHtml = l.Text2; s.FotterHtml = l.Text3; } } LS.Cache[Token] = s; } } return((Uco.Models.Settings)LS.Cache[Token]); } } else { string Token = string.Format("CurrentSettingsMultiDomain_{0}_{1}", Domain, SF.GetLangCodeThreading()); if (LS.Cache[Token] == null) { lock (s_lock) { Settings s = GetSettingsRepositoryList().FirstOrDefault(r => r.Domain == Domain); if (s == null) { return(null); } string LangCodeThreading = SF.GetLangCodeThreading(); if (SF.GetLangCodeWebconfig() != LangCodeThreading) { LanguagePage l = _db.LanguagePages.FirstOrDefault(r => r.DomainID == s.ID && r.LanguageCode == LangCodeThreading); if (l != null) { s.LanguageCode = l.LanguageCode; //s.LanguageRTL = l.ShowOnMainPage; s.HeaderHtml = l.Text2; s.FotterHtml = l.Text3; } } LS.Cache[Token] = s; } } return((Uco.Models.Settings)LS.Cache[Token]); } } }
protected override void OnActionExecuting(ActionExecutingContext filterContext) { if (CurrentSettings == null) { filterContext.Result = new RedirectResult("~/DomainError.html"); return; } if (filterContext.RouteData.Values["lang"] != null && !string.IsNullOrWhiteSpace(filterContext.RouteData.Values["lang"].ToString())) { CultureInfo culture = new CultureInfo(filterContext.RouteData.Values["lang"].ToString()); System.Threading.Thread.CurrentThread.CurrentCulture = culture; System.Threading.Thread.CurrentThread.CurrentUICulture = culture; } else { CultureInfo culture = new CultureInfo(SF.GetLangCodeWebconfig()); System.Threading.Thread.CurrentThread.CurrentCulture = culture; System.Threading.Thread.CurrentThread.CurrentUICulture = culture; } filterContext.RouteData.Values.Add("theme", CurrentSettings.Themes); string Plugin = string.Empty; if (filterContext.RouteData.DataTokens["Namespaces"] != null) { string[] Namespaces = filterContext.RouteData.DataTokens["Namespaces"] as string[]; string Namespace = Namespaces[0]; if (!string.IsNullOrEmpty(Namespace) && Namespace.StartsWith("Uco.") && Namespace.EndsWith(".Controllers") && Namespace != "Uco.Controllers") { Namespace = Namespace.Replace(".Controllers", ""); filterContext.RouteData.Values.Add("plugin", Namespace); Plugin = Namespace; } } if (CurrentPage != null) { ViewBag.Title = CurrentPage.SeoTitle != null && CurrentPage.SeoTitle != "" ? CurrentPage.SeoTitle : CurrentPage.Title; ViewBag.H1 = CurrentPage.SeoH1 != null && CurrentPage.SeoH1 != "" ? CurrentPage.SeoH1 : CurrentPage.Title; ViewBag.Keywords = CurrentPage.SeoKywords; ViewBag.Description = CurrentPage.SeoDescription; ViewBag.ID = CurrentPage.ID; ViewBag.Url = CurrentPage.Url; ViewBag.LanguageRTL = CurrentSettings.LanguageRTL; string theme = CurrentSettings.Themes; if (string.IsNullOrEmpty(theme)) { ViewBag.Layout = "~/Views/Shared/" + CurrentPage.Layout; } else { ViewBag.Layout = "~/Themes/" + theme + "/Views/Shared/" + CurrentPage.Layout; } } else { filterContext.Result = RedirectToAction("Error404", "Error");// RedirectResult("~/Error/Error404"); return; } if (SF.UsePermissions() && !SF.UserCanView(CurrentUser, CurrentPage)) { TempData["Error"] = "You don't have permissions to see this page"; filterContext.Result = new RedirectResult("~/Account/LogOn?returnUrl=" + CurrentPage.Url); return; } base.OnActionExecuting(filterContext); }