private void SetDefaultFormValues(bool isAdmin) { EnableComments.Checked = CommentSettings.Get().EnableCommentsDefault; featuresiteRegion.Visible = isAdmin; featuredCategoryRegion.Visible = isAdmin; if (isAdmin || RolePermissionManager.GetPermissions(Int32.Parse(CategoryList.SelectedValue), GraffitiUsers.Current).Publish) { PublishStatus.Items.Add(new ListItem("Published", "1")); } PublishStatus.Items.Add(new ListItem("Draft", "2")); PublishStatus.Items.Add(new ListItem("Request Approval", "3")); if (isAdmin) { PublishStatus.Items.Add(new ListItem("Requires Changes", "4")); } PublishDate.DateTime = DateTime.Now.AddHours(SiteSettings.Get().TimeZoneOffSet); }
protected void Page_Load(object sender, EventArgs e) { LiHyperLink.SetNameToCompare(Context, "settings"); if (!IsPostBack) { CommentSettings settings = CommentSettings.Get(); EnableComments.Checked = settings.EnableCommentsDefault; CommentDays.Items.FindByValue(settings.CommentDays.ToString()).Selected = true; txtEmail.Text = settings.Email; txtSpamScore.Text = settings.SpamScore.ToString(); txtAkismetId.Text = settings.AkismetId; txtAkismetScore.Text = settings.AkismetScore.ToString(); chkUseAkismet.Checked = settings.UseAkismet; if (settings.CommentDays > 0 && String.IsNullOrEmpty(settings.AkismetId)) { Message.Text = "We noticed you have enabled new comments, but have not added Akismet. Hopefully that is what you are doing right now, if not, please think about it."; Message.Type = StatusType.Warning; } } string display = chkUseAkismet.Checked ? "display: block; padding-left: 20px;" : "display: none; padding-left: 20px;"; akismetSettings.Attributes.Add("style", display); }
/// <summary> /// 构造函数 /// </summary> /// <param name="siteSettings">站点设置</param> /// <param name="commentSettings">评论设置</param> public SiteSettingsEditModel(SiteSettings siteSettings, CommentSettings commentSettings) { if (siteSettings != null) { SiteName = siteSettings.SiteName; SiteDescription = siteSettings.SiteDescription; MainSiteRootUrl = siteSettings.MainSiteRootUrl; SearchMetaDescription = siteSettings.SearchMetaDescription; BeiAnScript = siteSettings.BeiAnScript; StatScript = siteSettings.StatScript; Links = siteSettings.Links; EnableAnonymousBrowse = siteSettings.EnableAnonymousBrowse; EnableAnonymousPosting = siteSettings.EnableAnonymousPosting; ShareToThirdDisplayType = siteSettings.ShareToThirdDisplayType; ShareDisplayIconSize = siteSettings.ShareDisplayIconSize; ShareToThirdBusiness = siteSettings.ShareToThirdBusiness; ShareToThirdIsEnabled = siteSettings.ShareToThirdIsEnabled; SearchMetaKeyWords = siteSettings.SearchMetaKeyWords; EnableSimpleHome = siteSettings.EnableSimpleHome; } if (commentSettings != null) { EnableComment = commentSettings.EnableComment; AllowAnonymousComment = commentSettings.AllowAnonymousComment; } }
/// <summary> /// 是否具有创建评论的权限 /// </summary> /// <returns></returns> public bool Comment_Create(string tenantTypeId, long?userId = null) { IUser currentUser = UserContext.CurrentUser; //站点设置是否启用了匿名发帖 TenantCommentSettings settings = TenantCommentSettings.GetRegisteredSettings(tenantTypeId); //不允许匿名用户的时候,并且是匿名用户的时候 if (!settings.AllowAnonymousComment && currentUser == null) { return(false); } CommentSettings commentSettings = DIContainer.Resolve <ISettingsManager <CommentSettings> >().Get(); if (!commentSettings.AllowAnonymousComment && currentUser == null) { return(false); } //允许匿名用户,并且是匿名用户的时候 if (currentUser == null) { return(true); } if (userId.HasValue) { return(new PrivacyService().Validate(userId.Value, currentUser.UserId, PrivacyItemKeys.Instance().Comment())); } return(true); }
public void CheckComment( ICSharpCommentNode commentNode, IHighlightingConsumer highlightingConsumer, CommentSettings settings) { // Ignore it unless it's something we're re-evalutating if (!_daemonProcess.IsRangeInvalidated(commentNode.GetDocumentRange())) { return; } // Only look for ones that are not doc comments if (commentNode.CommentType != CommentType.END_OF_LINE_COMMENT && commentNode.CommentType != CommentType.MULTILINE_COMMENT) { return; } ISpellChecker spellChecker = SpellCheckManager.GetSpellChecker(_settingsStore, _solution, settings.DictionaryNames); SpellCheck( commentNode.GetDocumentRange().Document, commentNode, spellChecker, _solution, highlightingConsumer, _settingsStore, settings); }
/// <summary> /// 转换为评论实体 /// </summary> /// <returns></returns> public CommentSettings AsCommentSettings() { CommentSettings commentSettings = DIContainer.Resolve <ISettingsManager <CommentSettings> >().Get(); commentSettings.EnableComment = EnableComment; commentSettings.AllowAnonymousComment = AllowAnonymousComment; return(commentSettings); }
protected void SettingsSave_Click(object sender, EventArgs e) { try { if (!string.IsNullOrEmpty(txtAkismetId.Text.Trim())) { Macros m = new Macros(); Akismet akismet = new Akismet(txtAkismetId.Text.Trim(), m.FullUrl(new Urls().Home), SiteSettings.Version); if (!akismet.VerifyKey()) { Message.Text = "Your Akismet key could not be verified. Please check it and re-enter it."; Message.Type = StatusType.Error; return; } } CommentSettings settings = CommentSettings.Get(); settings.EnableCommentsDefault = EnableComments.Checked; settings.CommentDays = Int32.Parse(CommentDays.SelectedValue); settings.Email = txtEmail.Text; settings.SpamScore = Int32.Parse(txtSpamScore.Text); if (chkUseAkismet.Checked && String.IsNullOrEmpty(txtAkismetId.Text)) { Message.Text = "Please provide your Akismet Id."; Message.Type = StatusType.Error; return; } settings.UseAkismet = chkUseAkismet.Checked; settings.AkismetId = txtAkismetId.Text; settings.AkismetScore = Int32.Parse(txtAkismetScore.Text); settings.Save(); Message.Text = "Your Comment & Spam settings have been updated!"; Message.Type = StatusType.Success; } catch (Exception ex) { Message.Text = "Your Comment & Spam settings could not be updated. Reason: " + ex.Message; Message.Type = StatusType.Error; } }
public void Save(CommentSettings settings) { repository.Save(settings); }
public static void SpellCheck( IDocument document, ITokenNode token, ISpellChecker spellChecker, ISolution solution, IHighlightingConsumer highlightingConsumer, IContextBoundSettingsStore settingsStore, CommentSettings settings) { if (spellChecker == null) { return; } string buffer = token.GetText(); ILexer wordLexer = new WordLexer(buffer); wordLexer.Start(); while (wordLexer.TokenType != null) { string tokenText = wordLexer.GetCurrTokenText(); if (SpellCheckUtil.ShouldSpellCheck(tokenText, settings.CompiledWordsToIgnore) && !spellChecker.TestWord(tokenText, true)) { IClassMemberDeclaration containingElement = token.GetContainingNode <IClassMemberDeclaration>(false); if (containingElement == null || !IdentifierResolver.IsIdentifier(containingElement, solution, tokenText)) { CamelHumpLexer camelHumpLexer = new CamelHumpLexer(buffer, wordLexer.TokenStart, wordLexer.TokenEnd); foreach (LexerToken humpToken in camelHumpLexer) { if (SpellCheckUtil.ShouldSpellCheck(humpToken.Value, settings.CompiledWordsToIgnore) && !spellChecker.TestWord(humpToken.Value, true)) { //int start = token.GetTreeStartOffset().Offset + wordLexer.TokenStart; //int end = start + tokenText.Length; //var range = new TextRange(start, end); //var documentRange = new DocumentRange(document, range); DocumentRange documentRange = token.GetContainingFile().TranslateRangeForHighlighting(token.GetTreeTextRange()); documentRange = documentRange.ExtendLeft(-wordLexer.TokenStart); documentRange = documentRange.ExtendRight(-1 * (documentRange.GetText().Length - tokenText.Length)); TextRange textRange = new TextRange(humpToken.Start - wordLexer.TokenStart, humpToken.End - wordLexer.TokenStart); //string word = document.GetText(range); string word = documentRange.GetText(); var highlighting = new StringSpellCheckHighlighting( document.GetText(textRange), documentRange, humpToken.Value, textRange, solution, spellChecker, settingsStore); var file = token.GetContainingFile(); highlightingConsumer.AddHighlighting(highlighting, documentRange, file); break; } } } } wordLexer.Advance(); } }
public static YoutubeComment Comment(CommentSettings settings = null) { return(new YoutubeComment(settings)); }
public static YoutubeComments Comments(CommentSettings settings = null) { return(new YoutubeComments(settings, null, ResultsPerPage)); }