Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }