📄 weblogemailnotificationmodule.cs
字号:
//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
// Copyright (c) Telligent Systems Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
using System;
using System.Xml;
using CommunityServer.Components;
namespace CommunityServer.Blogs.Components
{
/// <summary>
/// Summary description for WeblogEmailNotificationModule.
/// </summary>
public class WeblogEmailNotificationModule : ICSModule
{
public WeblogEmailNotificationModule()
{
}
public void Init(CSApplication csa, XmlNode node)
{
csa.PostPostUpdate +=new CSPostEventHandler(csa_PostPostUpdate);
}
private void csa_PostPostUpdate(IContent content, CSPostEventArgs e)
{
WeblogPost wp = content as WeblogPost;
if(wp != null && e.State != ObjectState.Delete)
{
if (!wp.Section.BlockSpamFeedbackNotifications || ((wp.PostStatus & PostStatus.Spam) != PostStatus.Spam))
{
// Retrieve the parent if this is feedback. Do it here so we don't need 2 DB hits
WeblogPost parent = null;
if (wp.IsFeedback)
parent = WeblogPosts.GetPost(wp.ParentID, false, true, true);
// Send email notification to Blog Owner depending on FeedbackNotificationType setting
if (e.State == ObjectState.Create)
{
switch (wp.FeedbackNotificationType)
{
case FeedbackNotificationType.AllFeedback:
{
if (wp.IsFeedback)
WeblogEmails.WeblogFeedbackNotification(wp, parent);
break;
}
case FeedbackNotificationType.AllComments:
{
if (wp.BlogPostType == BlogPostType.Comment)
WeblogEmails.WeblogFeedbackNotification(wp, parent);
break;
}
}
}
// Process email subscriptions only once (when approved for the first time)
// Note: EnableExternalNotificatons is not persisted.
// It gets set to true only in the WeblogPosts Add & Update methods.
if (wp.EnableExternalNotificatons)
WeblogEmails.WeblogTracking(wp, parent);
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -