public override List <IUIData> GetData(string Identifier, Dictionary <string, string> Parameters) { switch ((AppFactory.Identifier)Enum.Parse(typeof(AppFactory.Identifier), Identifier)) { case Factories.AppFactory.Identifier.setting_pages: return(PagesController.GetData(Identifier, Parameters, UserInfo)); case Factories.AppFactory.Identifier.setting_detail: return(PagesController.GetData(Identifier, Parameters, UserInfo)); case Factories.AppFactory.Identifier.setting_permissions: return(PagesController.GetData(Identifier, Parameters, UserInfo)); case Factories.AppFactory.Identifier.setting_recyclebin: return(PagesController.GetData(Identifier, Parameters, UserInfo)); case Factories.AppFactory.Identifier.setting_savetemplateas: return(PagesController.GetData(Identifier, Parameters, UserInfo)); case Factories.AppFactory.Identifier.setting_choosetemplate: return(PagesController.GetData(Identifier, Parameters, UserInfo)); default: break; } return(base.GetData(Identifier, Parameters)); }
public static List <IUIData> GetData(string Identifier, Dictionary <string, string> parameters, UserInfo userInfo) { Dictionary <string, IUIData> Settings = new Dictionary <string, IUIData> { { "AppPath", new UIData { Name = "AppPath", Value = HttpContext.Current.Request.ApplicationPath.TrimEnd('/') + "/DesktopModules/Vanjaro/UXManager/Extensions/Menu/Pages" } } }; PagesController pc = new PagesController(); switch (Identifier.ToLower()) { case "setting_pages": { dynamic DeletedPages = Managers.PagesManager.GetDeletedPageList(); Settings.Add("PagesTree", new UIData { Name = "PagesTree", Options = Managers.PagesManager.GetPagesTreeView() }); Settings.Add("DeletedPages", new UIData { Name = "DeletedPages", Options = DeletedPages.Data }); Settings.Add("DeletedPagesCount", new UIData { Name = "DeletedPagesCount", Options = DeletedPages.totalRecords }); Settings.Add("PageItem", new UIData { Name = "PageItem", Options = new PageItem() }); Settings.Add("List_PageItem", new UIData { Name = "List_PageItem", Options = new List <PageItem>() }); Settings.Add("PageSetting", new UIData { Name = "PageSetting", Options = pc.GetDefaultPagesSettings(PortalSettings.Current.PortalId, PortalSettings.Current.CultureCode).Data }); Settings.Add("DefaultPagesSettingsRequest", new UIData { Name = "DefaultPagesSettingsRequest", Options = new UpdateDefaultPagesSettingsRequest() }); Settings.Add("PageMoveRequest", new UIData { Name = "PageMoveRequest", Options = new PageMoveRequest() }); Settings.Add("HasTabPermission", new UIData { Name = "HasTabPermission", Value = Factories.AppFactory.GetAccessRoles(userInfo).Contains("admin").ToString().ToLower() }); return(Settings.Values.ToList()); } case "setting_detail": { int pid = 0; bool copy = false; string ParentPageValue = "-1", SitemapPriorityValue = "-1"; if (parameters.Count > 0) { pid = int.Parse(parameters["pid"]); if (parameters.ContainsKey("copy")) { copy = bool.Parse(parameters["copy"]); } } bool HasTabPermission = pid > 0 ? TabPermissionController.HasTabPermission(TabController.Instance.GetTab(pid, PortalSettings.Current.PortalId).TabPermissions, "EDIT") : true; Settings.Add("HasTabPermission", new UIData { Name = "HasTabPermission", Value = HasTabPermission.ToString() }); if (copy) { Settings.Add("IsCopy", new UIData { Name = "IsCopy", Value = copy.ToString() }); } if (HasTabPermission) { PageSettings pageSettings = new PageSettings(); pageSettings = pid > 0 ? Managers.PagesManager.GetPageDetails(pid).Data : Managers.PagesManager.GetDefaultSettings(); if (copy) { pageSettings.Name += "_Copy"; pageSettings.AbsoluteUrl = null; } ParentPageValue = pid > 0 && pageSettings.ParentId.HasValue ? pageSettings.ParentId.ToString() : ParentPageValue; SitemapPriorityValue = pid > 0 && pageSettings.SiteMapPriority != Null.NullInteger ? pageSettings.SiteMapPriority.ToString() : SitemapPriorityValue; if (pageSettings.TabId > 0) { Settings.Add("PageUrls", new UIData { Name = "PageUrls", Options = GetCustomUrls(pageSettings.TabId) }); } else { Settings.Add("PageUrls", new UIData { Name = "PageUrls", Options = "" }); } if (pageSettings.SiteAliases != null) { Settings.Add("SiteAlias", new UIData { Name = "SiteAlias", Options = pageSettings.SiteAliases.Where(x => x.Key == PortalSettings.Current.PortalAlias.PortalAliasID), OptionsText = "Value", OptionsValue = "Key", Value = PortalSettings.Current.PortalAlias.PortalAliasID.ToString() }); } Settings.Add("DeletedModules", new UIData { Name = "DeletedModules", Options = Managers.PagesManager.GetAllDeletedModules(pid, PortalSettings.Current.CultureCode) }); //disableLink Yes and Display In Menu Yes mean Folder Page if (string.IsNullOrEmpty(pageSettings.PageType)) { pageSettings.PageType = "Standard"; } pageSettings.PageType = pageSettings.PageType.ToLower() == "url" ? "URL" : (pageSettings.DisableLink && pageSettings.IncludeInMenu) ? "Folder" : "Standard"; pageSettings.AllowIndex = pid > 0 ? pageSettings.AllowIndex : true; string SiteUrl = PortalSettings.Current.PortalAlias != null ? PortalSettings.Current.PortalAlias.HTTPAlias : ServiceProvider.NavigationManager.NavigateURL(); List <Layout> pageLayouts = Managers.PagesManager.GetLayouts(); Settings.Add("PagesTemplate", new UIData { Name = "PagesTemplate", Options = pageSettings }); Settings.Add("PageLayouts", new UIData { Name = "PageLayouts", Options = pageLayouts }); Settings.Add("Permissions", new UIData { Name = "Permissions", Options = Managers.PagesManager.GetPagePermission(pageSettings, PortalSettings.Current.PortalId) }); Settings.Add("ParentPage", new UIData { Name = "ParentPage", Options = Library.Managers.PageManager.GetParentPages(PortalSettings.Current).Select(a => new { a.TabID, a.TabName }), OptionsText = "TabName", OptionsValue = "TabID", Value = ParentPageValue }); Settings.Add("SitemapPriority", new UIData { Name = "SitemapPriority", Options = "", OptionsText = "label", OptionsValue = "value", Value = SitemapPriorityValue }); Settings.Add("URLType", new UIData { Name = "URLType", Options = Managers.UrlManager.StatusCodes, OptionsText = "Value", OptionsValue = "Key", Value = "200" }); Settings.Add("WorkingPageUrls", new UIData { Name = "WorkingPageUrls", Options = new SeoUrl() { SaveUrl = new DotNetNuke.Entities.Urls.SaveUrlDto() } }); Settings.Add("ModuleItem", new UIData { Name = "ModuleItem", Options = new Recyclebin.ModuleItem() }); Settings.Add("List_ModuleItem", new UIData { Name = "List_ModuleItem", Options = new List <Recyclebin.ModuleItem>() }); Settings.Add("DefaultPageTitle", new UIData { Name = "DefaultPageTitle", Value = GetPageTitle(pid, PortalSettings.Current.PortalId) }); Settings.Add("SiteUrl", new UIData { Name = "SiteUrl", Value = SiteUrl.EndsWith("/") ? SiteUrl : SiteUrl + "/" }); int defaultWorkflow = Core.Managers.WorkflowManager.GetDefaultWorkflow(pageSettings.TabId); Settings.Add("ddlWorkFlows", new UIData { Name = "ddlWorkFlows", Options = Core.Managers.WorkflowManager.GetDDLWorkflow(PortalSettings.Current.PortalId, false), OptionsText = "Text", OptionsValue = "Value", Value = defaultWorkflow.ToString() }); Settings.Add("MaxRevisions", new UIData { Name = "MaxRevisions", Value = Core.Managers.WorkflowManager.GetMaxRevisions(pageSettings.TabId).ToString() }); Settings.Add("ReplaceTokens", new UIData { Name = "ReplaceTokens", Value = Core.Managers.SettingManager.GetValue(PortalSettings.Current.PortalId, pageSettings.TabId, Identifier, "ReplaceTokens", AppFactory.GetViews()) ?? bool.FalseString }); Settings.Add("WorkflowStateInfo", new UIData { Name = "WorkflowStateInfo", Value = Core.Managers.WorkflowManager.GetWorkflowStatesInfo(defaultWorkflow) }); DotNetNuke.Services.Localization.Locale DefaultLocale = DotNetNuke.Services.Localization.LocaleController.Instance.GetDefaultLocale(PortalSettings.Current.PortalId); Settings.Add("IsDefaultLocale", new UIData { Name = "IsDefaultLocale", Options = pid > 0 ? DefaultLocale.Code == PortalSettings.Current.CultureCode : true, Value = DefaultLocale.Code }); Settings.Add("LocalizedPage", new UIData { Name = "LocalizedPage", Options = Managers.PagesManager.AddDefaultLocalization(pid, pageSettings) }); Settings.Add("Languages", new UIData { Name = "Languages", Value = PortalSettings.Current.CultureCode, Options = LocalizationManager.GetActiveLocale(PortalSettings.Current.PortalId).Where(a => a.Value.ToLower() == PortalSettings.Current.CultureCode.ToLower()), OptionsText = "Text", OptionsValue = "Value" }); } return(Settings.Values.ToList()); } case "setting_savetemplateas": { int pid = 0; if (parameters.Count > 0) { pid = int.Parse(parameters["pid"]); } PageSettings pageSettings = new PageSettings(); pageSettings = pid > 0 ? Managers.PagesManager.GetPageDetails(pid).Data : Managers.PagesManager.GetDefaultSettings(); Settings.Add("Name", new UIData { Name = "Name", Value = pageSettings.Name }); Settings.Add("PID", new UIData { Name = "PID", Value = pid.ToString() }); Settings.Add("Icon", new UIData { Name = "Icon", Value = "" }); return(Settings.Values.ToList()); } case "setting_recyclebin": { Settings.Add("DeletedPages", new UIData { Name = "DeletedPages", Options = Managers.PagesManager.GetDeletedPageList().Data }); return(Settings.Values.ToList()); } case "setting_choosetemplate": { int pid = PortalSettings.Current.ActiveTab.TabID; bool HasTabPermission = pid > 0 ? TabPermissionController.HasTabPermission(TabController.Instance.GetTab(pid, PortalSettings.Current.PortalId).TabPermissions, "EDIT") : true; PageSettings pageSettings = new PageSettings(); pageSettings = pid > 0 ? Managers.PagesManager.GetPageDetails(pid).Data : Managers.PagesManager.GetDefaultSettings(); List <Layout> pageLayouts = Managers.PagesManager.GetLayouts(); Settings.Add("HasTabPermission", new UIData { Name = "HasTabPermission", Value = HasTabPermission.ToString() }); Settings.Add("PagesTemplate", new UIData { Name = "PagesTemplate", Options = pageSettings }); Settings.Add("PageLayouts", new UIData { Name = "PageLayouts", Options = pageLayouts }); Settings.Add("DisplayChooseTemplate", new UIData { Name = "DisplayChooseTemplate", Options = (PageManager.GetPages(PortalSettings.Current.ActiveTab.TabID).Count == 0) }); return(Settings.Values.ToList()); } default: return(null); } }