Esempio n. 1
0
        /// <summary>
        /// Gets the package from the page template or from the Current PageSiteNode.
        /// </summary>
        /// <returns></returns>
        private string GetPackageFromPageInfo()
        {
            string packageName = null;
            var    context     = SystemManager.CurrentHttpContext;

            if (context.Items.Contains("IsTemplate") && (bool)context.Items["IsTemplate"])
            {
                var templateId = PackageManager.GetEditedContainerKey(context);
                packageName = this.GetPackageFromTemplateId(templateId);
            }
            else if (context.Request.Path.Contains("/Sitefinity/SFNwslttrs"))
            {
                var pageNodeId = PackageManager.GetEditedContainerKey(context);
                packageName = this.GetPackageFromNodeId(pageNodeId);
            }
            else if (context.Request.Path.Contains("/Sitefinity/Versioning"))
            {
                var pageNodeId = new Guid(context.Request.RequestContext.RouteData.Values["itemId"].ToString());
                var page       = PageManager.GetManager().GetPageData(pageNodeId);

                if (page.NavigationNodeId != Guid.Empty)
                {
                    packageName = this.GetPackageFromNodeId(page.NavigationNodeId.ToString());
                }

                if (packageName == null)
                {
                    packageName = this.GetPackageFromTemplate(page.Template);
                }
            }
            else
            {
                var requestContext = context.Request.RequestContext;
                var currentNode    = requestContext.RouteData.DataTokens["SiteMapNode"] as PageSiteNode;

                if (currentNode == null)
                {
                    currentNode = SiteMapBase.GetActualCurrentNode();
                }

                packageName = currentNode != null?this.GetPackageFromNodeId(currentNode.Id.ToString()) : null;
            }

            return(packageName);
        }
Esempio n. 2
0
        /// <summary>
        /// Gets the package from the page template or from the Current PageSiteNode.
        /// </summary>
        /// <returns></returns>
        private string GetPackageFromPageInfo()
        {
            string packageName;
            var    context = SystemManager.CurrentHttpContext;

            if (context.Items.Contains("IsTemplate") && (bool)context.Items["IsTemplate"])
            {
                var templateId = PackageManager.GetEditedContainerKey(context);
                packageName = this.GetPackageFromTemplateId(templateId);
            }
            else if (context.Request.Path.Contains("/Sitefinity/SFNwslttrs"))
            {
                var pageNodeId = PackageManager.GetEditedContainerKey(context);
                packageName = this.GetPackageFromNodeId(pageNodeId);
            }
            else
            {
                var currentNode = SiteMapBase.GetActualCurrentNode();
                packageName = currentNode != null?this.GetPackageFromNodeId(currentNode.Id.ToString()) : null;
            }

            return(packageName);
        }