コード例 #1
0
        public ISitemap CreateSitemap(Func <IEntry, string> generateEntryUrl, string homePage)
        {
            ICollection <IEntry> entries = this.daoFactory.EntryDao.LoadAll();
            int homePageId =
                Convert.ToInt32(this.daoFactory.SiteDao.LoadAttributes().GetValue(Constant.Settings.DefaultPageId));

            ISitemap sitemap = this.domainObjectFactory.CreateSitemap();

            foreach (IEntry page in entries)
            {
                if (this.IsDefaultPage(page,
                                       homePageId))
                {
                    this.AddHomePage(sitemap,
                                     page,
                                     homePage);
                    continue;
                }

                ISitemapUrl url = this.domainObjectFactory.CreateSitemapUrl();

                url.Location = generateEntryUrl(page);

                url.ChangeFrequency = CalculateFrequency(page.ModifiedAt);
                url.Priority        = 0.7;
                url.LastModified    = page.ModifiedAt.ToString();
                sitemap.Add(url);
            }

            return(sitemap);
        }
コード例 #2
0
        public void Init()
        {
            string path = Utility.GetAbsolutePath(Umc.Core.UmcConfiguration.Core["AdminXmlPath"]);

            _hashSitemap = new Hashtable();
            _sitemap     = Sitemap.ReadSitemap(path);
        }
コード例 #3
0
ファイル: Default.aspx.cs プロジェクト: powerumc/AspNet-Blog
 private void LoadPlaceTemplate(ISitemap _sitemap)
 {
     if (CommonMainPlace.Sitemap == null)
     {
         CommonMainPlace.Sitemap = _sitemap;
         CommonMainPlace.Update();
     }
 }
コード例 #4
0
        public ActionResult Sitemap()
        {
            ISitemap sitemap = this.serviceFactory.InfrastructureService
                .CreateSitemap(base.GenerateEntryUrl,
                               GetWebsiteUrl());

            return new SitemapResult(sitemap);
        }
コード例 #5
0
ファイル: Default.aspx.cs プロジェクト: powerumc/AspNet-Blog
 private void LoadPlaceTemplate(ISitemap _sitemap)
 {
     if (CommonMainPlace.Sitemap == null)
     {
         CommonMainPlace.Sitemap = _sitemap;
         CommonMainPlace.Update();
     }
 }
コード例 #6
0
 private void AddHomePage(ISitemap sitemap, IEntry page, string homePage)
 {
     ISitemapUrl url = this.domainObjectFactory.CreateSitemapUrl();
     url.Location = homePage;
     url.ChangeFrequency = CalculateFrequency(page.ModifiedAt);
     url.Priority = 0.9;
     url.LastModified = page.ModifiedAt.ToString();
     sitemap.Insert(0,
                    url);
 }
コード例 #7
0
        private void AddHomePage(ISitemap sitemap, IEntry page, string homePage)
        {
            ISitemapUrl url = this.domainObjectFactory.CreateSitemapUrl();

            url.Location        = homePage;
            url.ChangeFrequency = CalculateFrequency(page.ModifiedAt);
            url.Priority        = 0.9;
            url.LastModified    = page.ModifiedAt.ToString();
            sitemap.Insert(0,
                           url);
        }
コード例 #8
0
        private XElement CreateItemElement(ISitemap sitemap)
        {
            var element = new XElement(Utility.xmlns + "sitemap",
                new XElement(Utility.xmlns + "loc", sitemap.Url));

            if (sitemap.LastModified.HasValue)
            {
                element.Add(new XElement(Utility.xmlns + "lastmod", Utility.CreateXmlDate(sitemap.LastModified)));
            }

            return element;
        }
コード例 #9
0
        protected void AddNodes(ISitemap sitemap, Sitemap_Node node)
        {
            IEnumerator currentSitemap = sitemap.GetEnumerator();

            while (currentSitemap.MoveNext())
            {
                ISitemap newSitemap = (ISitemap)currentSitemap.Current;
                Sitemap_Node newNode = new Sitemap_Node(newSitemap);
                newNode.NavigateUrl	 = string.Format("{0}?id={1}",Request.Path,newSitemap.ID);
                if(CurrentSitemapInfo != null && CurrentSitemapInfo.ID == newSitemap.ID ) newNode.Selected = true;
                node.ChildNodes.Add(newNode);
                AddNodes(newSitemap, newNode);
            }
        }
コード例 #10
0
        // 재귀호출로 네비게이트 문자열을 가져온다
        public string GetNavigateString(ISitemap _map)
        {
            ISitemap      _tempSitemap = _map;
            StringBuilder naviString   = new StringBuilder();

            naviString.Insert(0, _tempSitemap.Title);

            while (_tempSitemap.Parent != null)
            {
                naviString.Insert(0, _tempSitemap.Parent.Title + " > ");
                _tempSitemap = _tempSitemap.Parent;
            }

            return(naviString.ToString());
        }
コード例 #11
0
        // ���ȣ��� �׺����Ʈ ���ڿ��� �����´�
        public string GetNavigateString(ISitemap _map)
        {
            ISitemap _tempSitemap		= _map;
            StringBuilder naviString	= new StringBuilder();

            naviString.Insert(0, _tempSitemap.Title);

            while (_tempSitemap.Parent != null)
            {
                naviString.Insert(0, _tempSitemap.Parent.Title + " > " );
                _tempSitemap	= _tempSitemap.Parent;
            }

            return naviString.ToString();
        }
コード例 #12
0
        protected void AddNodes(ISitemap sitemap, Sitemap_Node node)
        {
            IEnumerator currentSitemap = sitemap.GetEnumerator();

            while (currentSitemap.MoveNext())
            {
                ISitemap     newSitemap = (ISitemap)currentSitemap.Current;
                Sitemap_Node newNode    = new Sitemap_Node(newSitemap);
                newNode.NavigateUrl = string.Format("{0}?id={1}", Request.Path, newSitemap.ID);
                if (CurrentSitemapInfo != null && CurrentSitemapInfo.ID == newSitemap.ID)
                {
                    newNode.Selected = true;
                }
                node.ChildNodes.Add(newNode);
                AddNodes(newSitemap, newNode);
            }
        }
コード例 #13
0
 protected string GenerateUrl(ISitemap page)
 {
     if (page != null)
     {
         if (!String.IsNullOrEmpty(page.Redirect))
         {
             if (page.Redirect.Contains("://"))
                 return page.Redirect;
             else if (page.Redirect.StartsWith("~/"))
                 return Url(page.Redirect);
         }
         if (page.IsStartpage)
             return Url("~/");
         return Url("~/" + (!Config.PrefixlessPermalinks ?
             Piranha.Application.Current.Handlers.GetUrlPrefix("PERMALINK").ToLower() + "/" : "") + page.Permalink.ToLower());
     }
     return "";
 }
コード例 #14
0
 /// <summary>
 /// Generate the correct URL for the given sitemap node
 /// </summary>
 /// <param name="page">The sitemap</param>
 /// <returns>An action url</returns>
 private string GenerateUrl(ISitemap page)
 {
     if (page != null)
     {
         if (!String.IsNullOrEmpty(page.Redirect))
         {
             if (page.Redirect.Contains("://"))
             {
                 return(page.Redirect);
             }
             else if (page.Redirect.StartsWith("~/"))
             {
                 return(Url(page.Redirect));
             }
         }
         if (page.IsStartpage)
         {
             return(Url("~/"));
         }
         return(Url("~/" + (!Config.PrefixlessPermalinks ?
                            Application.Current.Handlers.GetUrlPrefix("PERMALINK").ToLower() + "/" : "") + page.Permalink.ToLower()));
     }
     return("");
 }
コード例 #15
0
 /// <summary>
 /// Generate the correct URL for the given sitemap node
 /// </summary>
 /// <param name="page">The sitemap</param>
 /// <returns>An action url</returns>
 private string GenerateUrl(ISitemap page)
 {
     if (page != null)
     {
         if (!String.IsNullOrEmpty(page.Redirect))
         {
             if (page.Redirect.Contains("://"))
             {
                 return(page.Redirect);
             }
             else if (page.Redirect.StartsWith("~/"))
             {
                 return(Url(page.Redirect));
             }
         }
         if (page.IsStartpage)
         {
             return(Url("~/"));
         }
         return(Url("~/" + WebPages.WebPiranha.GetUrlPrefixForHandlerId("PERMALINK").ToLower() + "/" +
                    page.Permalink.ToLower()));
     }
     return("");
 }
コード例 #16
0
ファイル: ModuleInfo.cs プロジェクト: powerumc/AspNet-Blog
 public ModuleInfo(ISitemap _parent)
     : base(_parent)
 {
 }
コード例 #17
0
ファイル: SItemapModule.cs プロジェクト: powerumc/AspNet-Blog
 /// <summary>
 /// ��带 �߰��Ѵ�
 /// </summary>
 /// <param name="sitemap"></param>
 public virtual void Add(ISitemap sitemap)
 {
     this.sitemap.Add( sitemap );
     SitemapManager.GetInstance().SetSitemapByID( sitemap );
 }
コード例 #18
0
 public void Init()
 {
     string path	= Utility.GetAbsolutePath( Umc.Core.UmcConfiguration.Core["AdminXmlPath"]);
     _hashSitemap	= new Hashtable();
     _sitemap		= Sitemap.ReadSitemap(path);
 }
コード例 #19
0
ファイル: SItemapModule.cs プロジェクト: powerumc/AspNet-Blog
 public SItemapModule(ISitemap _parent)
 {
     this.parent			= _parent;
     this.sitemap		= new ArrayList();
 }
コード例 #20
0
ファイル: SItemapModule.cs プロジェクト: powerumc/AspNet-Blog
 /// <summary>
 /// 노드를 추가한다
 /// </summary>
 /// <param name="sitemap"></param>
 public virtual void Add(ISitemap sitemap)
 {
     this.sitemap.Add(sitemap);
     SitemapManager.GetInstance().SetSitemapByID(sitemap);
 }
コード例 #21
0
 public SitemapResult(ISitemap sitemap)
 {
     this.Sitemap = sitemap;
 }
コード例 #22
0
ファイル: Sitemap_Node.cs プロジェクト: powerumc/AspNet-Blog
 public Sitemap_Node(ISitemap _sitemap)
     : base(_sitemap.Title)
 {
     this.sitemap = _sitemap;
     base.Value   = _sitemap.ID;
 }
コード例 #23
0
ファイル: UIHelper.cs プロジェクト: Joebeazelman/Piranha
 /// <summary>
 /// Generate the correct URL for the given sitemap node
 /// </summary>
 /// <param name="page">The sitemap</param>
 /// <returns>An action url</returns>
 private string GenerateUrl(ISitemap page)
 {
     if (page != null) {
         if (!String.IsNullOrEmpty(page.Redirect)) {
             if (page.Redirect.Contains("://"))
                 return page.Redirect ;
             else if (page.Redirect.StartsWith("~/"))
                 return Url(page.Redirect) ;
         }
         if (page.IsStartpage)
             return Url("~/") ;
         return Url("~/" + WebPages.WebPiranha.GetUrlPrefixForHandlerId("PERMALINK").ToLower() + "/" +
             page.Permalink.ToLower()) ;
     }
     return "" ;
 }
コード例 #24
0
ファイル: ModuleGroup.cs プロジェクト: powerumc/AspNet-Blog
 public ModuleGroup(ISitemap _parent)
     : base(_parent)
 {
 }
コード例 #25
0
ファイル: PiranhaHelper.cs プロジェクト: NJepop/Piranha
 /// <summary>
 /// Generate the correct URL for the given sitemap node
 /// </summary>
 /// <param name="helper">The url helper</param>
 /// <param name="page">The sitemap</param>
 /// <returns>An action url</returns>
 private string GenerateUrl(ISitemap page)
 {
     if (page != null) {
         if (!String.IsNullOrEmpty(page.Redirect)) {
             if (page.Redirect.Contains("://"))
                 return page.Redirect ;
             Page sr = Page.GetByPermalink(page.Redirect) ;
             return GenerateUrl(sr) ;
         }
         if (page.IsStartpage)
             return Parent.Href("~/") ;
         return Parent.Href("~/" + WebPiranha.GetUrlPrefixForHandlerId("PERMALINK").ToLower() + "/" + page.Permalink.ToLower()) ;
     }
     return "" ;
 }
コード例 #26
0
 public SitemapResult(ISitemap sitemap)
 {
     this.Sitemap = sitemap;
 }
コード例 #27
0
ファイル: SItemapModule.cs プロジェクト: powerumc/AspNet-Blog
 public SItemapModule(ISitemap _parent)
 {
     this.parent  = _parent;
     this.sitemap = new ArrayList();
 }
コード例 #28
0
ファイル: ModuleGroup.cs プロジェクト: powerumc/AspNet-Blog
 public ModuleGroup(ISitemap _parent)
     : base(_parent)
 {
 }
コード例 #29
0
ファイル: Sitemap_Node.cs プロジェクト: powerumc/AspNet-Blog
 public Sitemap_Node(ISitemap _sitemap)
     : base(_sitemap.Title)
 {
     this.sitemap		= _sitemap;
     base.Value			= _sitemap.ID;
 }
コード例 #30
0
ファイル: Sitemap.cs プロジェクト: powerumc/AspNet-Blog
 public Sitemap(ISitemap _parent)
     : base(_parent)
 {
 }
コード例 #31
0
ファイル: Sitemap.cs プロジェクト: powerumc/AspNet-Blog
 public Sitemap(ISitemap _parent)
     : base(_parent)
 {
 }
コード例 #32
0
ファイル: ModuleInfo.cs プロジェクト: powerumc/AspNet-Blog
 public ModuleInfo(ISitemap _parent)
     : base(_parent)
 {
 }
コード例 #33
0
 /// <summary>
 /// ����Ʈ���� �ش� ID �� �����Ѵ�.
 /// </summary>
 /// <param name="_hash"></param>
 public void SetSitemapByID(ISitemap _hash)
 {
     _hashSitemap.Add( _hash.ID, _hash );
 }
コード例 #34
0
 /// <summary>
 /// 사이트맵을 해당 ID 로 저장한다.
 /// </summary>
 /// <param name="_hash"></param>
 public void SetSitemapByID(ISitemap _hash)
 {
     _hashSitemap.Add(_hash.ID, _hash);
 }