Carrotware.CMS.Core.TrackbackHelper.GenerateSuccessResponse C# (CSharp) Method

GenerateSuccessResponse() public method

public GenerateSuccessResponse ( HttpRequest request, XmlWriter writer, TrackBackInfo tb ) : void
request HttpRequest
writer System.Xml.XmlWriter
tb TrackBackInfo
return void
        public void GenerateSuccessResponse(HttpRequest request, XmlWriter writer, TrackBackInfo tb)
        {
            SiteNav navData = null;
            using (ISiteNavHelper navHelper = SiteNavFactory.GetSiteNavHelper()) {
                navData = navHelper.FindByFilename(SiteData.CurrentSiteID, tb.BlogPostID);
            }
            string sReferer = null;
            string sIP = request.ServerVariables["REMOTE_ADDR"].ToString();
            try { sReferer = request.ServerVariables["HTTP_REFERER"].ToString(); } catch { }

            PostComment pc = new PostComment();
            pc.ContentCommentID = Guid.NewGuid();
            pc.Root_ContentID = navData.Root_ContentID;
            pc.CreateDate = SiteData.CurrentSite.Now;
            pc.IsApproved = false;
            pc.IsSpam = false;
            pc.CommenterIP = sIP;
            pc.CommenterEmail = "trackback";

            pc.CommenterName = tb.BlogName;
            pc.PostCommentText = tb.BlogExcerpt;

            #if DEBUG
            pc.PostCommentText = request.UserAgent + "\r\n" + tb.RequestSourceURL + "\r\n" + tb.BlogExcerpt;
            #endif

            pc.CommenterURL = tb.RequestSourceURL;
            if (!string.IsNullOrEmpty(sReferer)) {
                pc.CommenterURL = sReferer;
            }

            pc.Save();

            writer.WriteStartElement("response");
            writer.WriteElementString("error", "0");
            writer.WriteStartElement("rss");
            writer.WriteAttributeString("version", "0.91");
            writer.WriteStartElement("channel");

            if (navData != null) {
                writer.WriteElementString("title", navData.NavMenuText);
                writer.WriteElementString("link", SiteData.CurrentSite.ConstructedCanonicalURL(navData));
                writer.WriteElementString("description", navData.PageTextPlainSummary);
            }

            writer.WriteElementString("language", "");

            writer.WriteEndElement();
            writer.WriteEndElement();
            writer.WriteEndElement();

            writer.Flush();
            writer.Close();
        }