public HttpResponseMessage ListParentPages(int id) { var apiResponse = new DTO.ApiResponse <List <DTO.GenericPageListItem> >(); try { var portalId = PortalSettings.PortalId; var tab = new DotNetNuke.Entities.Tabs.TabController().GetTab(id, portalId); if (tab != null) { var listOfPages = DotNetNuke.Entities.Tabs.TabController.GetTabsByParent(tab.ParentId, portalId); apiResponse.CustomObject = new List <DTO.GenericPageListItem>(); foreach (var page in listOfPages.Where(i => i.IsDeleted == false).OrderBy(i => i.TabOrder)) { var newItem = new DTO.GenericPageListItem() { Value = page.TabID.ToString(), Name = page.TabName }; if (string.IsNullOrWhiteSpace(page.IconFileLarge) == false) { newItem.Image = VirtualPathUtility.ToAbsolute(page.IconFileLarge); } else { newItem.Image = string.Empty; } newItem.HasChildren = page.HasChildren; apiResponse.CustomObject.Add(newItem); } apiResponse.Success = true; return(Request.CreateResponse(HttpStatusCode.OK, apiResponse)); } } catch (Exception err) { apiResponse.Success = false; apiResponse.Message = err.Message; Exceptions.LogException(err); } return(Request.CreateResponse(HttpStatusCode.OK, apiResponse)); }
public HttpResponseMessage ListPages(string parent) { var apiResponse = new DTO.ApiResponse <List <DTO.GenericPageListItem> >(); try { var pageId = -2; var portalId = PortalSettings.PortalId; switch (parent.ToLower()) { case "admin": pageId = PortalSettings.AdminTabId; break; case "host": pageId = PortalSettings.SuperTabId; portalId = -1; break; case "all": pageId = -1; break; default: int.TryParse(parent, out pageId); break; } if (pageId > -2) { var listOfPages = DotNetNuke.Entities.Tabs.TabController.GetTabsByParent(pageId, portalId); apiResponse.CustomObject = new List <DTO.GenericPageListItem>(); foreach (var page in listOfPages.Where(i => i.IsDeleted == false).OrderBy(i => i.TabOrder)) { var newItem = new DTO.GenericPageListItem() { Value = page.TabID.ToString(), Name = page.TabName }; var localizedPageName = DotNetNuke.Services.Localization.Localization.GetString(page.TabPath + ".String", DotNetNuke.Services.Localization.Localization.GlobalResourceFile); if (!string.IsNullOrWhiteSpace(localizedPageName)) { newItem.Name = localizedPageName; } if (string.IsNullOrWhiteSpace(page.IconFileLarge) == false) { var iconPath = page.IconFileLarge; if (iconPath.StartsWith("~/icons/sigma/", StringComparison.InvariantCultureIgnoreCase)) { iconPath = "~/desktopmodules/nbrane/administrationsuite/images/pageicons/" + iconPath.Substring(14); } else if (iconPath.StartsWith("~/desktopmodules/DevicePreviewManagement/images/", StringComparison.InvariantCultureIgnoreCase)) { iconPath = "~/desktopmodules/nbrane/administrationsuite/images/pageicons/" + iconPath.Substring(48); } else if (iconPath.StartsWith("~/desktopmodules/MobileManagement/images/", StringComparison.InvariantCultureIgnoreCase)) { iconPath = "~/desktopmodules/nbrane/administrationsuite/images/pageicons/" + iconPath.Substring(41); } else if (iconPath.StartsWith("~/DesktopModules/Admin/FiftyOneClientCapabilityProvider/Images/", StringComparison.InvariantCultureIgnoreCase)) { iconPath = "~/desktopmodules/nbrane/administrationsuite/images/pageicons/" + iconPath.Substring(62); } else if (iconPath.StartsWith("~/DesktopModules/Admin/HtmlEditorManager/images/", StringComparison.InvariantCultureIgnoreCase)) { iconPath = "~/desktopmodules/nbrane/administrationsuite/images/pageicons/" + iconPath.Substring(47); } else if (iconPath.Equals("~/images/icon_dashboard_32px.gif", StringComparison.InvariantCultureIgnoreCase)) { iconPath = "~/desktopmodules/nbrane/administrationsuite/images/pageicons/dashboard_32x32_standard.png"; } else if (iconPath.Equals("~/images/icon_extensions_32px.gif", StringComparison.InvariantCultureIgnoreCase)) { iconPath = "~/desktopmodules/nbrane/administrationsuite/images/pageicons/Extensions_32x32_Standard.png"; } newItem.Image = VirtualPathUtility.ToAbsolute(iconPath); } else { newItem.Image = string.Empty; } newItem.HasChildren = page.HasChildren; apiResponse.CustomObject.Add(newItem); } apiResponse.Success = true; return(Request.CreateResponse(HttpStatusCode.OK, apiResponse)); } } catch (Exception err) { apiResponse.Success = false; apiResponse.Message = err.Message; Exceptions.LogException(err); } return(Request.CreateResponse(HttpStatusCode.OK, apiResponse)); }
public HttpResponseMessage ListPages(string parent) { var apiResponse = new DTO.ApiResponse <List <DTO.GenericPageListItem> >(); try { var pageId = -2; var portalId = PortalSettings.PortalId; switch (parent.ToLower()) { case "admin": pageId = PortalSettings.AdminTabId; break; case "host": pageId = PortalSettings.SuperTabId; portalId = -1; break; case "all": pageId = -1; break; default: int.TryParse(parent, out pageId); break; } if (pageId > -2) { var listOfPages = DotNetNuke.Entities.Tabs.TabController.GetTabsByParent(pageId, portalId); apiResponse.CustomObject = new List <DTO.GenericPageListItem>(); foreach (var page in listOfPages.Where(i => i.IsDeleted == false).OrderBy(i => i.TabOrder)) { var newItem = new DTO.GenericPageListItem() { Value = page.TabID.ToString(), Name = page.TabName }; if (string.IsNullOrWhiteSpace(page.IconFileLarge) == false) { newItem.Image = VirtualPathUtility.ToAbsolute(page.IconFileLarge); } else { newItem.Image = string.Empty; } newItem.HasChildren = page.HasChildren; apiResponse.CustomObject.Add(newItem); } apiResponse.Success = true; return(Request.CreateResponse(HttpStatusCode.OK, apiResponse)); } } catch (Exception err) { apiResponse.Success = false; apiResponse.Message = err.Message; Exceptions.LogException(err); } return(Request.CreateResponse(HttpStatusCode.OK, apiResponse)); }