//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
//     Copyright (c) Telligent Systems Corporation.  All rights reserved.
// </copyright> 
//------------------------------------------------------------------------------

using System;
using System.Xml;
using CommunityServer.Components;

namespace CommunityServer.Galleries.Components
{
	/// <summary>
	/// CSModule to scrub Formatted Body and Excerpt of Gallery Comments and Trackbacks
	/// </summary>
	public class FeedbackHtmlFormatting : ICSModule
	{
		public FeedbackHtmlFormatting() { }

		public void Init(CSApplication csa, XmlNode node)
		{
			csa.PrePostUpdate +=new CSPostEventHandler(csa_BeforeProcessPost);
		}

		private void csa_BeforeProcessPost(IContent content, CSPostEventArgs e)
		{
			if(e.ApplicationType == ApplicationType.Gallery && (e.State == ObjectState.Create || e.State == ObjectState.Update))
			{
				GalleryPost gp = content as GalleryPost;
				if(gp.GalleryPostType == GalleryPostType.Comment || gp.GalleryPostType == GalleryPostType.Trackback)
				{	
					gp.FormattedBody = Formatter.SafeFeedback(gp.FormattedBody);
					gp.Excerpt = Globals.HtmlEncode(gp.Excerpt);

				}	
			}
		}
	}
}
