Esempio n. 1
0
        public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, Object obj)
        {
            Boolean useFullValidation = AWS.Utils.WebUtils.GetFromString(ConfigurationManager.AppSettings["full-image-security-validation"], false);

            String imagePath;
            String requestPath = context.Request.FilePath;

            if (useFullValidation)
            {
                Boolean isThumbinal = context.Request.QueryString["thumb"] == null ? false:true;

                requestPath = context.Request.QueryString["id"];

                /*else
                 * {
                 *  if( (idx = requestPath.LastIndexOf(".")) != -1 )
                 *      requestPath = requestPath.Substring( 0, idx );
                 *
                 *  if( (idx = requestPath.ToLower().LastIndexOf("_thumb")) != -1 )
                 *  {
                 *      isThumbinal = true;
                 *      requestPath = requestPath.Substring( 0, idx );
                 *  }
                 *  else
                 *      isThumbinal = false;
                 * }*/

                SiteMapProvider prov = AWS.Utils.WebUtils.GetCurrProvider(context.Request);
                SiteMapNode     nd   = prov.FindSiteMapNodeFromKey(requestPath);
                if (nd == null)
                {
                    imagePath = context.Server.MapPath(requestPath);
                }
                else
                {
                    requestPath = GetClientPath(nd, isThumbinal);
                    if (!prov.SecurityTrimmingEnabled || prov.IsAccessibleToUser(context, nd))
                    {
                        imagePath = context.Server.MapPath(requestPath);
                    }
                    else
                    {
                        throw new Exception(String.Format("Access to image is denied: '{0}'." + requestPath));
                    }
                }
            }
            else
            {
                imagePath = context.Server.MapPath(requestPath);
            }


            MyAsyncRequestState st = new MyAsyncRequestState(context, cb, obj, imagePath);

            Thread t = new Thread(new ThreadStart(st.ProcessRequest));

            t.Start();

            return(st);
        }
Esempio n. 2
0
        private SiteMapNode GetTopNodes()
        {
            SiteMapProvider smp     = PortalSiteMapProvider.GlobalNavSiteMapProvider;
            SiteMapNode     rootMap = smp.RootNode;

            return(rootMap);
        }
        public static SiteMapNode GetCurrentNode(SiteMapProvider selectedSiteMapProvider)
        {
            // get the node matching the current URL location
            var currentNode = selectedSiteMapProvider.CurrentNode;

            // if there is no node matching the current URL path,
            // remove parts until we get a hit
            if (currentNode == null)
            {
                var url = HttpContext.Current.Request.Url.LocalPath;

                while (url.Length > 0)
                {
                    // see if we can find a matching node
                    currentNode = selectedSiteMapProvider.FindSiteMapNode(url);

                    // if we get a hit, stop
                    if (currentNode != null)
                    {
                        break;
                    }

                    // if not, remove the last path item
                    var lastSlashlocation = url.LastIndexOf("/");
                    if (lastSlashlocation < 0)
                    {
                        break;                        // protects us from malformed URLs
                    }
                    url = url.Remove(lastSlashlocation);
                }
            }

            return(currentNode);
        }
Esempio n. 4
0
        private static void Initialise()
        {
            if (!_initialised)
            {
                lock (SyncLock)
                {
                    if (!_initialised)
                    {
                        try
                        {
                            // Create the collections.

                            _excludedWildcards  = new List <string>();
                            _excludedExtensions = new List <string>();

                            // Iterate over all nodes.

                            _siteMapProvider = SiteMap.Provider;
                            var siteMapNode = _siteMapProvider.RootNode as NavigationSiteMapNode;
                            if (siteMapNode != null)
                            {
                                Initialise(siteMapNode);
                            }
                        }
                        catch (Exception ex)
                        {
                            throw new ApplicationException("Failed to load navigation manager configuration from the site map.", ex);
                        }

                        _initialised = true;
                    }
                }
            }
        }
    protected UnboundSiteMapProvider CloneNodes(SiteMapProvider srcProvider, int levelCount)   // levelCount >= 1
    {
        UnboundSiteMapProvider provider = new UnboundSiteMapProvider();

        AddRecursive(provider, provider.RootNode, srcProvider.RootNode, levelCount);
        return(provider);
    }
Esempio n. 6
0
        private SiteMapNode GetSiteMapRootNodeOfCurrentWeb()
        {
            SiteMapProvider smp     = PortalSiteMapProvider.GlobalNavSiteMapProvider;
            SiteMapNode     rootMap = smp.RootNode;

            return(rootMap);
        }
Esempio n. 7
0
        public static SiteMapNode FindByKey(this SiteMapProvider provider, string key)
        {
            if (key.IsEmpty())
            {
                return(null);
            }

            if (HttpContext.Current != null)
            {
                // The standard implementation requires HttpContext.
                return(provider.RootNode.GetAllNodes().OfType <SiteMapNode>().FirstOrDefault(n => n.ResourceKey == key));
            }
            else
            {
                var root = AppDomain.CurrentDomain.GetPath("Web.SiteMap").AsFile().Get(x => x.Exists() ? x : null)
                           .Get(x => x.ReadAllText().To <XDocument>().Root);

                if (root != null)
                {
                    root.RemoveNamespaces();
                }

                var node = root?.Descendants().OrEmpty().FirstOrDefault(x => x.GetValue <string>("@resourceKey") == key);
                if (node == null)
                {
                    return(null);
                }

                return(new SiteMapNode(provider, key, node.GetValue <string>("@url"), node.GetValue <string>("@title"),
                                       node.GetValue <string>("@description")));
            }
        }
Esempio n. 8
0
 public FileSiteMapNode(SiteMapProvider provider, string url)
     : base(provider, url)
 {
     Url           = url;
     Title         = VirtualPathUtility.GetFileName(url);
     FileExtension = VirtualPathUtility.GetExtension(url).TrimStart('.');
 }
Esempio n. 9
0
 public mojoSiteMapNode(
     SiteMapProvider provider,
     string key,
     string url)
     : base(provider, key, url)
 {
 }
Esempio n. 10
0
        private SiteMapNode GetSiteMapRootNodeofCurrentWeb()
        {
            SiteMapProvider siteMapProvider = PortalSiteMapProvider.CombinedNavSiteMapProvider;
            SiteMapNode     rootNode        = siteMapProvider.RootNode;

            return(rootNode);
        }
Esempio n. 11
0
        public PortalViewContext(ISettingDataAdapter settings, ISiteMarkerDataAdapter siteMarkers, ISnippetDataAdapter snippets,
                                 IWebLinkSetDataAdapter webLinks, IAdDataAdapter ads, IPollDataAdapter polls, IEntityUrlProvider urlProvider,
                                 SiteMapProvider siteMapProvider = null, string portalName = null, RequestContext requestContext = null)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }

            if (siteMarkers == null)
            {
                throw new ArgumentNullException("siteMarkers");
            }

            if (snippets == null)
            {
                throw new ArgumentNullException("snippets");
            }

            if (urlProvider == null)
            {
                throw new ArgumentNullException("urlProvider");
            }

            if (webLinks == null)
            {
                throw new ArgumentNullException("webLinks");
            }

            if (ads == null)
            {
                throw new ArgumentNullException("ads");
            }

            if (polls == null)
            {
                throw new ArgumentNullException("polls");
            }

            SiteMapProvider = siteMapProvider ?? (SiteMap.Enabled ? SiteMap.Provider : null);
            PortalName      = portalName;
            RequestContext  = requestContext;

            Settings    = settings;
            SiteMarkers = siteMarkers;
            Snippets    = snippets;
            UrlProvider = urlProvider;
            WebLinks    = webLinks;

            Ads = ads;

            Polls = polls;

            _currentSiteMapNode          = new Lazy <SiteMapNode>(GetCurrentSiteMapNode, LazyThreadSafetyMode.None);
            _currentSiteMapNodeAncestors = new Lazy <SiteMapNode[]>(GetCurrentSiteMapNodeAncestors, LazyThreadSafetyMode.None);
            _entity  = new Lazy <IPortalViewEntity>(GetEntity, LazyThreadSafetyMode.None);
            _user    = new Lazy <IPortalViewEntity>(GetUser, LazyThreadSafetyMode.None);
            _website = new Lazy <IPortalViewEntity>(GetWebsite, LazyThreadSafetyMode.None);
            _websiteAccessPermissionProvider = new Lazy <IWebsiteAccessPermissionProvider>(GetWebsiteAccessPermissionProvider, LazyThreadSafetyMode.None);
        }
Esempio n. 12
0
    //protected void Page_Load(object sender, EventArgs e)
    //{
    //
    //}
    /// <summary>
    ///
    /// </summary>
    /// <param name="e"></param>
    protected override void OnPreRender(EventArgs e)
    {
        //get current sitemap node to determine page icon and title
        SiteMapProvider objSiteMapProvider = SiteMap.Providers["RootSiteMapProvider"];

        System.Diagnostics.Debug.Assert(objSiteMapProvider != null);
        SiteMapNode objCurrentNode = objSiteMapProvider.CurrentNode;

        if (objCurrentNode != null) //This is for defaultErr.aspx which is not referenced as a node
        {
            //set page icon and title
            Page.Header.Title = Resources.Web.glossary.App_Name + " - " + objCurrentNode.Title;
            if (string.IsNullOrEmpty(PageTitle.Text))
            {
                PageTitle.Text = objCurrentNode.Title;
            }
            if (string.IsNullOrEmpty(PageTitle.ImageUrl))
            {
                PageTitle.ImageUrl = Icons.GetIcon32(objCurrentNode["image"]);
            }
        }

        //Display errors of postback events
        if (Page.Session[Constants.LastError] != null) //&& Page.IsPostBack
        {
            InfoBox.Type = InfoBoxType.Error;
            InfoBox.Text = BODisplay.Encode(Session[Constants.LastError]);
            Session[Constants.LastError] = null;
        }

        //Required to avoid "Script controls may not be registered before PreRender."
        base.OnPreRender(e);
    }
Esempio n. 13
0
        /// <exclude />
        public SiteMapNode FindSiteMapNodeFromKey(SiteMapProvider provider, string key)
        {
            var pageId = new Guid(key);
            var page   = PageManager.GetPageById(pageId);

            return(page != null ? new CmsPageSiteMapNode(provider, page) : null);
        }
Esempio n. 14
0
        private void LoadBreadCrumb()
        {
            SiteMapProvider       siteMapProvider = SiteMap.Providers["cms"];
            SiteMapNodeCollection collection      = new SiteMapNodeCollection();
            string stt2s = siteMapProvider.RootNode.Title;

            SiteMapNode currentNode = siteMapProvider.CurrentNode;

            if (currentNode == null)
            {
                currentNode = siteMapProvider.RootNode;
            }

            string stts  = currentNode.Url;
            string stt1s = Page.Request.Url.AbsolutePath;

            if (string.Compare(currentNode.Url, Page.Request.Url.AbsolutePath, true) == 0)
            {
                collection.Add(currentNode);
            }

            while (currentNode.ParentNode != null)
            {
                currentNode = currentNode.ParentNode;
                collection.Add(currentNode);
            }

            StringBuilder html = new StringBuilder();

            html.Append("<ul class='page-breadcrumb breadcrumb'>");

            for (int count = collection.Count - 1; count > -1; count--)
            {
                string title = collection[count].Title;

                if (count == 0)
                {
                    if ((collection[count].Url == "/Admin/UserRoles.aspx"))
                    {
                        html.AppendFormat("<li>{1}</li>", collection[count].Url, title);
                    }
                    else
                    {
                        html.AppendFormat("<li><a href=\"{0}\">{1}</a></li>", collection[count].Url, title);
                    }
                }
                else if (count == collection.Count - 1)
                {
                    html.AppendFormat("<li><i class=\"icon-home\"></i><a href=\"{0}\">Home</a> <i class='fa fa-angle-right'></i></li>", collection[count].Url);
                }
                else
                {
                    html.AppendFormat("<li><a href=\"{0}\">{1}</a><i class='fa fa-angle-right'></i></li>", collection[count].Url, title);
                }
            }

            html.Append("</ul>");
            this.ltrlBreadCrumb.Text = html.ToString();
        }
Esempio n. 15
0
        private void WriteFullSiteMap(SiteMapProvider provider)
        {
            _writer.WriteStartElement("urlset", _ns);

            WriteElement(provider.RootNode);

            _writer.WriteEndElement();
        }
Esempio n. 16
0
        private void WriteFullSiteMap(XmlWriter writer, SiteMapProvider provider)
        {
            writer.WriteStartElement("urlset", SiteMapNamespace);

            WriteElement(writer, provider.RootNode, new HashSet <string>());

            writer.WriteEndElement();
        }
Esempio n. 17
0
 public CSiteMapNode(
     SiteMapProvider provider,
     string key,
     string url,
     string title)
     : base(provider, key, url, title)
 {
 }
Esempio n. 18
0
 public mojoSiteMapNode(
     SiteMapProvider provider,
     string key,
     string url,
     string title,
     string description) : base(provider, key, url, title, description)
 {
 }
Esempio n. 19
0
 public TridionSiteMapNode(SiteMapProvider provider, string key, string uri, string url, string title, string description, IList roles, NameValueCollection attributes, NameValueCollection explicitResourceKeys, string implicitResourceKey) :
     base(provider, key, url, title, description, roles, attributes, explicitResourceKeys, implicitResourceKey)
 {
     if (url.StartsWith("tcm:"))
     {
         Url = MakeDummyUrl(url);
     }
     Uri = uri;
 }
Esempio n. 20
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CmsPageSiteMapNode"/> class.
        /// </summary>
        /// <param name="provider">The provider.</param>
        /// <param name="page">The page.</param>
        public CmsPageSiteMapNode(SiteMapProvider provider, IPage page)
            : base(provider, page.Id.ToString(), PageUrls.BuildUrl(page), page.MenuTitle, page.Description)
        {
            Page          = page;
            DocumentTitle = page.Title;
            LastModified  = page.ChangeDate;
            Priority      = 5;

            Culture = page.DataSourceId.LocaleScope;
        }
Esempio n. 21
0
 private static void SetCachedProvider(string cultureID, SiteMapProvider provider)
 {
     HttpRuntime.Cache.Insert(
         ProviderCachePrefix + "_" + UrlManager.IsFacebook() + cultureID,
         provider,
         null,
         Cache.NoAbsoluteExpiration,
         Cache.NoSlidingExpiration,
         CacheItemPriority.AboveNormal,      // Site map is costly to construct
         null);
 }
Esempio n. 22
0
    private void CreateMenu()
    {
        SiteMapProvider provider = SiteMap.Provider;
        ListMenu        lm       = new ListMenu
        {
            ULClass = "clear"
        };

        this.CreateMenuRecursively(provider.RootNode.ChildNodes, lm.Items);
        litNavbar.Text = lm.ToString();
    }
Esempio n. 23
0
        public IEnumerable <SiteMapNode> GetVirtualNodes(SiteMapProvider provider)
        {
            List <SiteMapNode> list = new List <SiteMapNode>();

            var siteMapNode = new SiteMapNode(
                provider, Guid.NewGuid().ToString(), string.Empty, DummySiteMapNodeTitle, "description");

            list.Add(siteMapNode);

            return(list);
        }
Esempio n. 24
0
        /// <summary>
        /// Creates a new MvcSiteMapProvider HtmlHelper.
        /// </summary>
        /// <param name="helper">The helper.</param>
        /// <param name="providerName">Name of the sitemap provider.</param>
        /// <returns>
        /// A <see cref="MvcSiteMapHtmlHelper"/> instance
        /// </returns>
        public static MvcSiteMapHtmlHelper MvcSiteMap(this HtmlHelper helper, string providerName)
        {
            SiteMapProvider provider = SiteMap.Providers[providerName];

            if (provider == null)
            {
                throw new UnknownSiteMapProviderException(
                          string.Format(Resources.Messages.UnknownSiteMapProvider, providerName));
            }
            return(new MvcSiteMapHtmlHelper(helper, provider));
        }
Esempio n. 25
0
        public static SiteMapProvider GetProvider(string cultureID)
        {
            SiteMapProvider provider = GetCachedProvider(cultureID);

            if (provider == null)
            {
                provider = new VevoSiteMapProvider(cultureID);
                SetCachedProvider(cultureID, provider);
            }

            return(provider);
        }
Esempio n. 26
0
        public SiteMapDrop(IPortalLiquidContext portalLiquidContext, SiteMapProvider siteMap) : base(portalLiquidContext)
        {
            if (siteMap == null)
            {
                throw new ArgumentNullException("siteMap");
            }

            SiteMap = siteMap;

            _current = new Lazy <SiteMapNodeDrop>(() => GetDrop(SiteMap.CurrentNode), LazyThreadSafetyMode.None);
            _root    = new Lazy <SiteMapNodeDrop>(() => GetDrop(SiteMap.RootNode), LazyThreadSafetyMode.None);
        }
Esempio n. 27
0
 /// <summary>
 /// Constructs a new site map node.
 /// </summary>
 /// <param name="provider">Provider used to construct this site map node.</param>
 /// <param name="key">Unique key.</param>
 /// <param name="url">Url to render.</param>
 /// <param name="title">Title of page.</param>
 /// <param name="description">Description of page.</param>
 /// <param name="rewriteUrl">Url to use for url rewriting.</param>
 /// <param name="lastModified">Last modification date.</param>
 protected CrmSiteMapNode(
     SiteMapProvider provider,
     string key,
     string url,
     string title,
     string description,
     string rewriteUrl,
     DateTime lastModified) : base(provider, key, url, title, description)
 {
     RewriteUrl   = rewriteUrl;
     LastModified = lastModified;
 }
Esempio n. 28
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            SiteMapProvider siteMapProvider = SiteMap.Providers[_siteMapProvider];

            if (siteMapProvider == null)
            {
                return;
            }

            InitPortalSiteMapProvider(siteMapProvider);
        }
Esempio n. 29
0
        /// <exclude />
        public SiteMapNode FindSiteMapNodeFromKey(SiteMapProvider provider, string key)
        {
            if (Guid.TryParse(key, out var pageId))
            {
                var page = PageManager.GetPageById(pageId);
                if (page != null)
                {
                    return(new CmsPageSiteMapNode(provider, page));
                }
            }

            return(null);
        }
Esempio n. 30
0
 private void InitPortalSiteMapProvider(SiteMapProvider siteMapProvider)
 {
     if (siteMapProvider is PortalSiteMapProvider)
     {
         _provider = siteMapProvider as PortalSiteMapProvider;
         _provider.DynamicChildLimit    = 0;
         _provider.EncodeOutput         = true;
         _provider.IncludeAuthoredLinks = _includeAuthoredLinks;
         _provider.IncludeHeadings      = _includeHeadings;
         _provider.IncludePages         = GetIncludeOption(_includePages);
         _provider.IncludeSubSites      = GetIncludeOption(_includeSubSites);
     }
 }
 // Constructors
 public SiteMapResolveEventArgs(HttpContext context, SiteMapProvider provider)
 {
 }
 public void Add(SiteMapProvider provider)
 {
 }
 public void AddArray(SiteMapProvider[] providerArray)
 {
 }
 public SiteMapNode(SiteMapProvider provider, string key, string url, string title, string description)
 {
 }
 public SiteMapNode(SiteMapProvider provider, string key, string url, string title, string description, System.Collections.IList roles, System.Collections.Specialized.NameValueCollection attributes, System.Collections.Specialized.NameValueCollection explicitResourceKeys, string implicitResourceKey)
 {
 }
 public SiteMapNode(SiteMapProvider provider, string key, string url)
 {
 }
 /// <summary>
 /// Initializes a new instance of the SiteMapNode class
 /// </summary>
 /// <param name="provider">Провайдер карты сайта</param>
 /// <param name="key">Ключ ветви</param>
 public SiteMapNode(SiteMapProvider provider, String key)
     : base(provider, key)
 {
 }
Esempio n. 38
0
	private void PrepareSynchronizationPath(PXTreeSyncEventArgs e, SiteMapProvider prov)
	{
		List<string> path = new List<string>();
		System.Text.StringBuilder result = new System.Text.StringBuilder();
		SiteMapNode node = prov.FindSiteMapNodeFromKey(e.SyncNodeKey);

		while (node != null && node.ParentNode != prov.RootNode)
		{
			path.Add(node.Key);
			node = node.ParentNode;
		}
		for (int i = path.Count - 1; i >= 0; i--)
		{
			result.Append(path[i]);
			result.Append('|');
		}
		if (result.Length != 0)
			result = result.Remove(result.Length - 1, 1);
		e.NodePath = result.ToString();
	}