📄 blogurls.cs
字号:
//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
// Copyright (c) Telligent Systems Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
using System;using CommunityServer.Components;
using CommunityServer.Configuration;
namespace CommunityServer.Blogs.Components
{
/// <summary>
/// Summary description for BlogUrls.
/// </summary>
public class BlogUrls : ApplicationUrls
{
public static readonly string BlogUrlsProviderName = "BlogUrlsProvider";
public BlogUrls() { }
#region Instance
private static BlogUrls _defaultInstance = null;
static BlogUrls()
{
CreateDefaultCommonProvider();
}
/// <summary>
/// Returns an instance of the user-specified data provider class.
/// </summary>
/// <returns>An instance of the user-specified data provider class. This class must inherit the
/// CommonDataProvider interface.</returns>
public static BlogUrls Instance()
{
return _defaultInstance;
}
public static BlogUrls Instance (Provider dataProvider)
{
BlogUrls fdp = CSCache.Get(dataProvider.Name) as BlogUrls;
if(fdp == null)
{
fdp = DataProviders.Invoke(dataProvider) as BlogUrls;
CSCache.Max(dataProvider.Name,fdp);
}
return fdp;
}
/// <summary>
/// Creates the Default CommonDataProvider
/// </summary>
private static void CreateDefaultCommonProvider()
{
// Read the configuration specific information
// for this provider
//
Provider urlProvider = (Provider) CSConfiguration.GetConfig().Providers[BlogUrlsProviderName];
// Create the instance for the provider, or fall back on the builtin one
//
if(urlProvider != null)
_defaultInstance = CreateInstance(urlProvider) as BlogUrls;
else
_defaultInstance = new BlogUrls();
}
#endregion
public virtual string CustomCSS(string applicationkey)
{
return FormatUrl("blog_customcss",applicationkey);
}
public virtual string EmailSubscriptions(string applicationkey)
{
return FormatUrl("weblogEmailSubscription",applicationkey);
}
#region Blogging
public virtual string ContactForm(string applicationkey)
{
return FormatUrl("weblogcontact", applicationkey);
}
public virtual string IndividualSearch(Weblog blog, string searchTerms, int pageID)
{
return FormatUrl("weblog_IndividualSearch",blog.ApplicationKey,Globals.UrlEncode(searchTerms),pageID);
}
public virtual string AggregateSearch(string searchTerms, int pageID, int groupID)
{
if(groupID <= -1)
return FormatUrl("weblog_AggregateSearch",Globals.UrlEncode(searchTerms),pageID);
else
return FormatUrl("weblog_AggregateSearchByGroupID",Globals.UrlEncode(searchTerms),pageID, groupID);
}
#region Public
public virtual string Home
{
get
{
return FormatUrl("webloghome");
}
}
public virtual string GroupHome(int GroupID)
{
return FormatUrl("weblog_GroupHome",GroupID);
}
public virtual string GroupList(int GroupID)
{
return FormatUrl("weblog_GroupList",GroupID);
}
public virtual string ShortLink(int postid)
{
return FormatUrl("blog_ShortLink",postid);
}
public virtual string HomePage(string applicationKey)
{
return FormatUrl("weblogapplication",applicationKey);
}
public virtual string Rss(string applicationKey)
{
return FormatUrl("weblogIndividualRss",applicationKey);
}
public virtual string Rss(string applicationKey, int categoryID)
{
return FormatUrl("weblogCategoryRss",applicationKey,categoryID);
}
public virtual string Atom(string applicationKey)
{
return FormatUrl("weblogIndividualAtom",applicationKey);
}
public virtual string CommentsPage(string applicationKey, int PostID)
{
return FormatUrl("WeblogCommentsPage",applicationKey,PostID);
}
public virtual string CommentRss(string applicationKey, int PostID)
{
return FormatUrl("weblogCommentRss", applicationKey,PostID);
}
public virtual string MonthPage(string applicationKey,DateTime dt)
{
return FormatUrl("weblogmonth",applicationKey, dt.Year,dt.Month.ToString("00"));
}
public virtual string DayPage(string applicationKey, DateTime dt)
{
return FormatUrl("weblogday",applicationKey,dt.Year,dt.Month,dt.Day);
}
public virtual string Post(WeblogPost post)
{
return Post(post,post.Weblog);
}
public virtual string Post(WeblogPost post, Weblog weblog)
{
if(post.BlogPostType == BlogPostType.Article)
{
if(post.HasName)
return FormatUrl("weblogarticleName",weblog.ApplicationKey,Globals.HtmlEncode(post.Name));
else
return FormatUrl("weblogarticleId",weblog.ApplicationKey,post.PostID);
}
else
{
if(post.HasName)
return FormatUrl("weblogpostName",weblog.ApplicationKey,post.BloggerTime.Year,post.BloggerTime.Month.ToString("00"),post.BloggerTime.Day.ToString("00"),Globals.HtmlEncode(post.Name));
else
return FormatUrl("weblogpostId",weblog.ApplicationKey,post.BloggerTime.Year,post.BloggerTime.Month.ToString("00"),post.BloggerTime.Day.ToString("00"),post.PostID);
}
}
public virtual string Post(WeblogPost parent, Weblog weblog, WeblogPost child)
{
return string.Format("{0}#{1}",Post(parent,weblog),child.PostID);
}
public virtual string IndividualCategoryPage(string applicationKey, CategoryType ct, int categoryID)
{
if(ct == CategoryType.BlogPost)
return FormatUrl("weblogpostcategory",applicationKey,categoryID);
else
return FormatUrl("weblogarticlecategory",applicationKey,categoryID);
}
public virtual string IndividualCategoryPage(Weblog w, CategoryType ct, string name)
{
int id = PostCategories.GetCategory(name,ct,w.SectionID,false).CategoryID;
return IndividualCategoryPage(w.ApplicationKey,ct,id);
}
public virtual string CommentPosted(WeblogPost post, Weblog weblog)
{
string url =Post(post,weblog);
return string.Format("{0}?CommentPosted=true#commentmessage",url);
}
#endregion
#region Admin
public virtual string AdminMyBlogs()
{
return FormatUrl("myblogs");
}
public virtual string ReferralToPost(string applicationKey, int postID)
{
return FormatUrl("blog_referrals_to_post",applicationKey,postID);
}
public virtual string AdminMyBlogs(int blogid)
{
return FormatUrl("myblogs_selected",blogid);
}
public virtual string AdminContentList(string applicationKey, BlogPostType bpt)
{
if(bpt == BlogPostType.Post)
return FormatUrl("blog_post_list",applicationKey);
else if(bpt == BlogPostType.Article)
return FormatUrl("blog_article_list",applicationKey);
else
throw new NotImplementedException(string.Format("The BlogPostType {0} was not implement in BlogUrls.AdminContent",bpt));
}
public virtual string AdminCategories(string applicationKey, CategoryType ct)
{
return FormatUrl("blogcategories",applicationKey,ct);
}
public virtual string AdminCategoriesEditor(string applicationKey, CategoryType ct)
{
return FormatUrl("blogcategories_editor",applicationKey,ct);
}
public virtual string AdminCategoriesEditor(string applicationKey, CategoryType ct, int CategoryID)
{
return FormatUrl("blogcategories_editor_categoryToEdit",applicationKey,ct,CategoryID);
}
public virtual string AdminLinks(string applicationKey)
{
return FormatUrl("bloglinks",applicationKey);
}
public virtual string AdminFeedback(string applicationKey)
{
return FormatUrl("blogfeedback",applicationKey);
}
public virtual string PostEditor(string applicationKey, BlogPostType bpt)
{
return FormatUrl("blogposteditor",applicationKey,bpt);
}
public virtual string PostEditor(string applicationKey, int postToEdit)
{
return FormatUrl("blogposteditor_postToEdit",applicationKey,postToEdit);
}
public virtual string AdminSettings(string applicationKey)
{
return FormatUrl("blog_settings",applicationKey);
}
public virtual string AdminSettings_ReturnUrl(string applicationKey, string url, string args)
{
return FormatUrl("blog_settings_ReturnUrl",applicationKey, url, args);
}
public virtual string AdminSettings_Admin_ReturnUrl(string applicationKey, string url, string args)
{
return FormatUrl("blog_settings_Admin",applicationKey, url, args);
}
public virtual string AdminGroupSettings(int bgID)
{
return FormatUrl("blog_groupsettings",bgID);
}
public virtual string Manage
{
get { return FormatUrl("blog_manage"); }
}
public virtual string ManagePermissions
{
get { return FormatUrl("blog_managepermissions"); }
}
public virtual string ManageDefaultPermissions
{
get { return FormatUrl("blog_managedefaultpermissions"); }
}
public virtual string Permission(string applicationKey, Guid roleID)
{
return FormatUrl("blog_weblogpermission",applicationKey,roleID);
}
public virtual string Permission(Guid roleID)
{
return FormatUrl("blog_weblogdefaultpermission",roleID);
}
public virtual string TrackbackPingUrl(int postID)
{
return FormatUrl("blog_TrackBack_Ping",postID);
}
#endregion
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -