Index: source/newtelligence.DasBlog.Web.Core/ActivityCore.cs
===================================================================
--- source/newtelligence.DasBlog.Web.Core/ActivityCore.cs	(revision 0)
+++ source/newtelligence.DasBlog.Web.Core/ActivityCore.cs	(revision 0)
@@ -0,0 +1,269 @@
+using System;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using System.Net.Mail;
+using System.IO;
+using System.Threading;
+using newtelligence.DasBlog.Runtime;
+using newtelligence.DasBlog.Util;
+using System.Collections;
+using newtelligence.DasBlog.Web.Core;
+
+namespace newtelligence.DasBlog.Web.Core
+{
+    public class ActivityCore
+    {
+		string configPath;
+		string contentPath;
+		string logPath;
+
+        public ActivityCore(string configPath, string contentPath, string logPath)
+		{
+			this.configPath = configPath;
+			this.contentPath = contentPath;
+			this.logPath = logPath;
+		}
+
+        public void PopulateActivities(DateTime reportDate, Hashtable referrerUrls, Hashtable userAgents, Hashtable searchUrls, Hashtable userDomains)
+        {
+
+        	SiteConfig siteConfig = SiteConfig.GetSiteConfig( configPath );
+			ILoggingDataService logService = LoggingDataServiceFactory.GetService(logPath);
+			string siteRoot = siteConfig.Root.ToUpper();
+
+			LogDataItemCollection logItems = new LogDataItemCollection();
+			logItems.AddRange(logService.GetReferralsForDay(reportDate));
+
+			foreach (LogDataItem log in logItems)
+			{
+				bool exclude = false;
+				if (log.UrlReferrer != null)
+				{
+					exclude = log.UrlReferrer.ToUpper().StartsWith(siteRoot);
+
+					// Let Utils.ParseSearchString decide whether it's a search engine referrer.
+					HyperLink link = Utils.ParseSearchString(log.UrlReferrer);
+					if (link != null)
+					{
+						string linktext = "<a href=\"" + link.NavigateUrl + "\">" + link.Text + "</a>";
+						exclude = true;
+						if (!searchUrls.Contains(linktext))
+						{
+							searchUrls[linktext] = 0;
+						}
+						searchUrls[linktext] = ((int) searchUrls[linktext]) + 1;
+					}
+				}
+
+				if (!exclude)
+				{
+					string linktext = log.UrlReferrer;
+					if (linktext.Length > 0)
+						linktext = "<a href=\"" + log.UrlReferrer + "\">" + log.UrlReferrer + "</a>";
+
+					if (!referrerUrls.Contains(linktext))
+					{
+						referrerUrls[linktext] = 0;
+					}
+
+					referrerUrls[linktext] = ((int) referrerUrls[linktext]) + 1;
+
+					log.UserAgent = HttpUtility.HtmlEncode(log.UserAgent);
+					if (!userAgents.Contains(log.UserAgent))
+					{
+						userAgents[log.UserAgent] = 0;
+					}
+
+					userAgents[log.UserAgent] = ((int) userAgents[log.UserAgent]) + 1;
+
+					log.UserDomain = HttpUtility.HtmlEncode(log.UserDomain);
+					if(!userDomains.Contains(log.UserDomain))
+					{
+						userDomains[log.UserDomain] = 0;
+					}
+
+					userDomains[log.UserDomain] = ((int) userDomains[log.UserDomain]) + 1;
+				}
+			}
+
+        }
+
+        public string GenerateSummaryTable(Hashtable searchUrls, Hashtable referrerUrls)
+        {
+            System.Text.StringBuilder sb = new System.Text.StringBuilder();
+
+            sb.Append("<p>");
+            sb.Append("<table width=\"100%\">");
+            sb.Append(MakeTableHeader("Summary", "Hits"));
+            sb.Append(MakeTableRow("Internet Searches", GetTotal(searchUrls)));
+            sb.Append(MakeTableRow("Referrers", GetTotal(referrerUrls)));
+            sb.Append("</table>");
+            sb.Append("</p>");
+
+            return sb.ToString();
+        }
+
+        public string GenerateSearchesTable(Hashtable searchUrls)
+        {
+            System.Text.StringBuilder sb = new System.Text.StringBuilder();
+
+            sb.Append("<p>");
+            sb.Append("<table width=\"100%\">");
+            sb.Append(MakeTableHeader("Internet Searches", "Count"));
+            sb.Append(MakeTableRowsFromArray(searchUrls));
+            sb.Append("</table>");
+            sb.Append("</p>");
+
+            return sb.ToString();
+        }
+
+        public string GenerateReferrerTable(Hashtable referrerUrls)
+        {
+            System.Text.StringBuilder sb = new System.Text.StringBuilder();
+
+            sb.Append("<p>");
+            sb.Append("<table width=\"100%\">");
+            sb.Append(MakeTableHeader("Referrers", "Count"));
+            sb.Append(MakeTableRowsFromArray(referrerUrls));
+            sb.Append("</table>");
+            sb.Append("</p>");
+
+            return sb.ToString();
+        }
+
+        public string GenerateUserAgentTable(Hashtable userAgents)
+        {
+            System.Text.StringBuilder sb = new System.Text.StringBuilder();
+
+            sb.Append("<p>");
+            sb.Append("<table width=\"100%\">");
+            sb.Append(MakeTableHeader("User Agents", "Count"));
+            sb.Append(MakeTableRowsFromArray(userAgents));
+            sb.Append("</table>");
+            sb.Append("</p>");
+
+            return sb.ToString();
+        }
+
+        public string GenerateUserDomainTable(Hashtable userDomains)
+        {
+            System.Text.StringBuilder sb = new System.Text.StringBuilder();
+
+            sb.Append("<p>");
+            sb.Append("<table width=\"100%\">");
+            sb.Append(MakeTableHeader("User Domains", "Count"));
+            sb.Append(MakeTableRowsFromArray(userDomains));
+            sb.Append("</table>");
+            sb.Append("</p>");
+            sb.Append("<br/><br/>");
+
+            return sb.ToString();
+        }
+
+        public string GetStyleSheet()
+        {
+            System.Text.StringBuilder sb = new System.Text.StringBuilder();
+            sb.Append("<style type=\"text/css\">");
+            sb.Append("table {border: 0; border-spacing: 0;	border-collapse: collapse; padding: 0;	width: 100%; font-family: Tahoma,Arial,Helvetica; font-size: 8pt; }");
+            sb.Append("td.heading { text-align: left;	font-weight: bold; color: white; background-color: #919eae;	border: 0;	padding: 10px 5px 10px 5px;}");
+            sb.Append("td.data {font-weight: normal;	border: 0; border-color: #fff #fff #abc #fff; border-style: solid; border-width: 1px;	padding: 0 5px 0 5px; }");
+            sb.Append("td.mainheader {text-align: center; font-weight: bold; color: white; background-color: #919eae; border: 0; padding: 10px 5px 10px 5px;	font-size: 16pt;}");
+            sb.Append("</style>");
+            return sb.ToString();
+        }
+
+        private string GetTotal(Hashtable hash)
+        {
+            int count = 0;
+            foreach (object key in hash.Keys)
+            {
+                count += (int)hash[key];
+            }
+            return count.ToString();
+
+        }
+
+        private string MakeTableHeader(string col1, string col2)
+        {
+            System.Text.StringBuilder sb = new System.Text.StringBuilder();
+            sb.Append("<tr>");
+            sb.Append("<td class=\"heading\" width=\"90%\"><b>" + HttpUtility.HtmlEncode(col1) + "</b></td>");
+            sb.Append("<td class=\"heading\" width=\"10%\"><b>" + HttpUtility.HtmlEncode(col2) + "</b></td>");
+            sb.Append("</tr>");
+            return sb.ToString();
+        }
+
+        private string MakeTableRow(string title, string count)
+        {
+            System.Text.StringBuilder sb = new System.Text.StringBuilder();
+            sb.Append("<tr>");
+
+            sb.Append("<td class=\"data\">"); // needed to split this as the doted IP is not liked 
+            sb.Append(title);                 // when adding strings together ??
+            sb.Append("</td>");               // depending on email client / SMTP server ??
+
+            sb.Append("<td class=\"data\">" + count + "</td>");
+            sb.Append("</tr>");
+            return sb.ToString();
+        }
+
+        private string MakeTableRowsFromArray(Hashtable hash)
+        {
+            System.Text.StringBuilder sb = new System.Text.StringBuilder();
+
+            ArrayList arrayList = GenerateSortedItemList(hash);
+            foreach (ActivityItem ai in arrayList)
+            {
+                sb.Append(MakeTableRow(ai.Key, ai.Val.ToString()));
+            }
+
+            return sb.ToString();
+
+        }
+
+        protected ArrayList GenerateSortedItemList(IDictionary dict)
+        {
+            ArrayList listItems = new ArrayList(dict.Count);
+            foreach (DictionaryEntry de in dict)
+            {
+                listItems.Add(new ActivityItem(de.Key.ToString(), (int)de.Value));
+            }
+            listItems.Sort(new ActivityItem.Comparer());
+            return listItems;
+        }
+
+    }
+
+    class ActivityItem
+    {
+        public string Key;
+        public int Val;
+
+        public ActivityItem(string key, int val)
+        {
+            Key = key;
+            Val = val;
+        }
+
+        public class Comparer : IComparer
+        {
+            public int Compare(object left, object right)
+            {
+                int leftValue = ((ActivityItem)left).Val;
+                int rightValue = ((ActivityItem)right).Val;
+                if (leftValue > rightValue)
+                {
+                    return -1;
+                }
+                else if (leftValue < rightValue)
+                {
+                    return 1;
+                }
+                return 0;
+            }
+        }
+
+    }
+
+}
Index: source/newtelligence.DasBlog.Web.Core/newtelligence.DasBlog.Web.Core.csproj
===================================================================
--- source/newtelligence.DasBlog.Web.Core/newtelligence.DasBlog.Web.Core.csproj	(revision 707)
+++ source/newtelligence.DasBlog.Web.Core/newtelligence.DasBlog.Web.Core.csproj	(working copy)
@@ -127,6 +127,7 @@
       <Link>AssemblyInfo.cs</Link>
       <SubType>Code</SubType>
     </Compile>
+    <Compile Include="ActivityCore.cs" />
     <Compile Include="AkismetSpamBlockingService.cs">
       <SubType>Code</SubType>
     </Compile>
Index: source/newtelligence.DasBlog.Web.Core/SiteConfig.cs
===================================================================
--- source/newtelligence.DasBlog.Web.Core/SiteConfig.cs	(revision 707)
+++ source/newtelligence.DasBlog.Web.Core/SiteConfig.cs	(working copy)
@@ -1146,6 +1146,20 @@
             set { preferredBloggingAPI = value; }
         }
 
+        private string activityRssUrl = Guid.NewGuid().ToString();
+        public string ActivityRssUrl
+        {
+            get { return activityRssUrl; }
+            set { activityRssUrl = value; }
+        }
+
+        bool enableActivityRss = false;
+        public bool EnableActivityRss
+        {
+            get { return enableActivityRss; }
+            set { enableActivityRss = value; }
+        }
+
 		/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
 		/* Add new properties just above this comment*/
 		/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
Index: source/newtelligence.DasBlog.Web.Services/ActivityRssHandler.cs
===================================================================
--- source/newtelligence.DasBlog.Web.Services/ActivityRssHandler.cs	(revision 0)
+++ source/newtelligence.DasBlog.Web.Services/ActivityRssHandler.cs	(revision 0)
@@ -0,0 +1,245 @@
+using System;
+using System.Configuration;
+using System.Collections;
+using System.Collections.Specialized;
+using System.ComponentModel;
+using System.Data;
+using System.Diagnostics;
+using System.Web;
+using System.Web.Services;
+using System.Web.Services.Protocols;
+using System.Web.Services.Description;
+using System.IO;
+using System.Text;
+using System.Xml;
+using System.Xml.Serialization;
+using newtelligence.DasBlog.Runtime;
+using newtelligence.DasBlog.Web.Services.Rss20;
+using newtelligence.DasBlog.Web.Services.Atom10;
+using newtelligence.DasBlog.Web.Core;
+using newtelligence.DasBlog.Util.Html;
+
+namespace newtelligence.DasBlog.Web.Services
+{
+    class ActivityRssHandler : IHttpHandler
+    {
+        #region IHttpHandler Members
+
+        public ActivityRssHandler()
+        {
+        }
+
+        bool IHttpHandler.IsReusable
+        {
+            get { return true; }
+        }
+
+        void IHttpHandler.ProcessRequest(HttpContext context)
+        {
+            SiteConfig siteConfig = SiteConfig.GetSiteConfig();
+
+            if (!(context.Request.RawUrl.Contains(siteConfig.ActivityRssUrl)))
+            {
+                context.Response.StatusCode = 404;
+                context.Response.End();
+                return;
+            }
+
+            // must have been good
+            String XmlizedString = null;
+            MemoryStream memoryStream = new MemoryStream();
+            XmlSerializer xs = new XmlSerializer(typeof(RssRoot));
+            XmlTextWriter xmlTextWriter = new XmlTextWriter(memoryStream,Encoding.UTF8);
+            xs.Serialize(xmlTextWriter, GetActivityRss(28, 28));
+            memoryStream = (MemoryStream)xmlTextWriter.BaseStream;
+            XmlizedString = UTF8ByteArrayToString(memoryStream.ToArray());
+            context.Response.ClearHeaders();
+            context.Response.Write(XmlizedString);
+            context.Response.ContentType = "application/rss+xml";
+            context.Response.End();
+            return;
+
+        }
+
+        #endregion
+
+        private String UTF8ByteArrayToString(Byte[] characters)
+        {
+
+            UTF8Encoding encoding = new UTF8Encoding();
+            String constructedString = encoding.GetString(characters);
+            return (constructedString);
+        }
+
+        private RssRoot GetActivityRss(int maxDayCount, int maxEntryCount)
+        {
+            SiteConfig siteConfig = SiteConfig.GetSiteConfig();
+            string activityRssUrl = Utils.GetBaseUrl(siteConfig) + siteConfig.ActivityRssUrl + @"/activityrss.ashx";
+
+            EntryCollection entries = BuildActivityEntries(maxDayCount, maxEntryCount);
+
+            RssRoot documentRoot = new RssRoot();
+            documentRoot.Namespaces.Add("dc", "http://purl.org/dc/elements/1.1/");
+
+            RssChannel ch = new RssChannel();
+            ch.Title = siteConfig.Title + " (Site Activity)";
+            if (siteConfig.Description == null || siteConfig.Description.Trim().Length == 0)
+            {
+                ch.Description = siteConfig.Subtitle;
+            }
+            else
+            {
+                ch.Description = siteConfig.Description;
+            }
+            ch.Link = activityRssUrl;
+            ch.Copyright = siteConfig.Copyright;
+            if (siteConfig.RssLanguage != null && siteConfig.RssLanguage.Length > 0)
+            {
+                ch.Language = siteConfig.RssLanguage;
+            }
+            ch.ManagingEditor = siteConfig.Contact;
+            ch.WebMaster = siteConfig.Contact;
+            ch.Image = null;
+            if (siteConfig.ChannelImageUrl != null && siteConfig.ChannelImageUrl.Trim().Length > 0)
+            {
+                ChannelImage channelImage = new ChannelImage();
+                channelImage.Title = ch.Title;
+                channelImage.Link = ch.Link;
+                if (siteConfig.ChannelImageUrl.StartsWith("http"))
+                {
+                    channelImage.Url = siteConfig.ChannelImageUrl;
+                }
+                else
+                {
+                    channelImage.Url = Utils.RelativeToRoot(siteConfig, siteConfig.ChannelImageUrl);
+                }
+                ch.Image = channelImage;
+            }
+
+            documentRoot.Channels.Add(ch);
+
+            foreach (Entry entry in entries)
+            {
+                if (entry.IsPublic == false || entry.Syndicated == false)
+                {
+                    continue;
+                }
+                XmlDocument doc2 = new XmlDocument();
+                ArrayList anyElements = new ArrayList();
+                RssItem item = new RssItem();
+                item.Title = entry.Title;
+                XmlElement dcCreator = doc2.CreateElement("dc", "creator", "http://purl.org/dc/elements/1.1/");
+                dcCreator.InnerText = siteConfig.Contact;
+                anyElements.Add(dcCreator);
+
+                item.Language = entry.Language;
+
+                //if (entry.Attachments.Count > 0)
+                //{
+                //    // RSS currently supports only a single enclsoure so we return the first one	
+                //    item.Enclosure = new Enclosure();
+                //    item.Enclosure.Url = Utils.GetEnclosureLinkUrl(entry.EntryId, entry.Attachments[0]);
+                //    item.Enclosure.Type = entry.Attachments[0].Type;
+                //    item.Enclosure.Length = entry.Attachments[0].Length.ToString();
+                //}
+
+                item.PubDate = entry.CreatedUtc.ToString("R");
+                if (ch.LastBuildDate == null || ch.LastBuildDate.Length == 0)
+                {
+                    ch.LastBuildDate = item.PubDate;
+                }
+
+
+                if (!siteConfig.AlwaysIncludeContentInRSS &&
+                    entry.Description != null &&
+                    entry.Description.Trim().Length > 0)
+                {
+                    item.Description = entry.Description;
+
+                }
+                else
+                {
+                    item.Description = ContentFormatter.FormatContentAsHTML(entry.Content);
+                    try
+                    {
+                        doc2.LoadXml(ContentFormatter.FormatContentAsXHTML(entry.Content));
+                        anyElements.Add((XmlElement)doc2.SelectSingleNode("//*[local-name() = 'body'][namespace-uri()='http://www.w3.org/1999/xhtml']"));
+                    }
+                    catch //(Exception ex)
+                    {
+                        //Debug.Write(ex.ToString());
+                        // absorb
+                    }
+                }
+
+                item.anyElements = (XmlElement[])anyElements.ToArray(typeof(XmlElement));
+                ch.Items.Add(item);
+            }
+
+            return documentRoot;
+        }
+
+        protected EntryCollection BuildActivityEntries(int maxDayCount, int maxEntryCount)
+        {
+            EntryCollection entryList = new EntryCollection();
+
+            for (int i = 1; i < maxDayCount; i++)
+            {
+                DateTime activityDate = DateTime.Now.AddDays((double)(i * -1));
+                Entry entry = BuildActivityEntryForDay(activityDate);
+                entryList.Add(entry);
+            }
+
+            entryList.Sort(new EntrySorter());
+            return entryList;
+        }
+
+        private Entry BuildActivityEntryForDay(DateTime activityDate)
+        {
+            SiteConfig siteConfig = SiteConfig.GetSiteConfig();
+
+            Entry entry = new Entry();
+            entry.AllowComments = false;
+            entry.Author = siteConfig.Contact;
+            entry.Title = "Activity : " + activityDate.ToLongDateString();
+            entry.CreatedUtc = activityDate;
+            entry.Syndicated = true;
+            entry.IsPublic = true;
+            entry.EntryId = entry.Title;
+
+            ActivityCore activityCore = new ActivityCore(SiteConfig.GetConfigFilePathFromCurrentContext(),
+                                  SiteConfig.GetContentPathFromCurrentContext(),
+                                  SiteConfig.GetLogPathFromCurrentContext());
+
+            Hashtable referrerUrls = new Hashtable();
+            Hashtable userAgents = new Hashtable();
+            Hashtable searchUrls = new Hashtable();
+            Hashtable userDomains = new Hashtable();
+
+            System.Text.StringBuilder sb = new System.Text.StringBuilder();
+            sb.Append(activityCore.GetStyleSheet());
+            sb.Append("<p><table><tr><td class=\"mainheader\" width=\"100%\">Weblog Daily Activity RSS (" + activityDate.ToShortDateString() + ")</td></tr></table></p>");
+
+            try
+            {
+                activityCore.PopulateActivities(activityDate, referrerUrls, userAgents, searchUrls, userDomains);
+                sb.Append(activityCore.GenerateSummaryTable(searchUrls, referrerUrls));
+                sb.Append(activityCore.GenerateSearchesTable(searchUrls));
+                sb.Append(activityCore.GenerateReferrerTable(referrerUrls));
+                sb.Append(activityCore.GenerateUserAgentTable(userAgents));
+                sb.Append(activityCore.GenerateUserDomainTable(userDomains));
+            }
+            catch (Exception e)
+            {
+                sb.Append("<p>Error : " + e.ToString() + "</p>");
+            }
+
+            entry.Content = sb.ToString();
+
+            entry.Description = "Activity report for " + activityDate.ToLongDateString();
+
+            return entry;
+        }
+
+    }
+}
Index: source/newtelligence.DasBlog.Web.Services/newtelligence.DasBlog.Web.Services.csproj
===================================================================
--- source/newtelligence.DasBlog.Web.Services/newtelligence.DasBlog.Web.Services.csproj	(revision 707)
+++ source/newtelligence.DasBlog.Web.Services/newtelligence.DasBlog.Web.Services.csproj	(working copy)
@@ -152,6 +152,7 @@
       <Link>AssemblyInfo.cs</Link>
       <SubType>Code</SubType>
     </Compile>
+    <Compile Include="ActivityRssHandler.cs" />
     <Compile Include="AggregatorBugHandler.cs">
       <SubType>Code</SubType>
     </Compile>
@@ -250,4 +251,4 @@
     <PostBuildEvent>
     </PostBuildEvent>
   </PropertyGroup>
-</Project>
\ No newline at end of file
+</Project>
Index: source/newtelligence.DasBlog.Web.Services/ReportMailer.cs
===================================================================
--- source/newtelligence.DasBlog.Web.Services/ReportMailer.cs	(revision 707)
+++ source/newtelligence.DasBlog.Web.Services/ReportMailer.cs	(working copy)
@@ -121,114 +121,26 @@
 		}
 
 
-		private string GenerateReportEmailBody(DateTime reportDate)
+		public string GenerateReportEmailBody(DateTime reportDate)
 	    {
-			System.Text.StringBuilder sb = new System.Text.StringBuilder();
-			sb.Append(GetStyleSheet());
+            ActivityCore activityCore = new ActivityCore(configPath, contentPath, logPath);
+            Hashtable referrerUrls = new Hashtable();
+            Hashtable userAgents = new Hashtable();
+            Hashtable searchUrls = new Hashtable();
+            Hashtable userDomains = new Hashtable();
+
+            System.Text.StringBuilder sb = new System.Text.StringBuilder();
+			sb.Append(activityCore.GetStyleSheet());
 			sb.Append("<p><table><tr><td class=\"mainheader\" width=\"100%\">Weblog Daily Email Report (" + reportDate.ToLongDateString() + " UTC)</td></tr></table></p>");
 
 			try
 			{
-				Hashtable referrerUrls = new Hashtable();
-				Hashtable userAgents = new Hashtable();
-				Hashtable searchUrls = new Hashtable();
-				Hashtable userDomains = new Hashtable();
-				SiteConfig siteConfig = SiteConfig.GetSiteConfig( configPath );
-				ILoggingDataService logService = LoggingDataServiceFactory.GetService(logPath);
-				string siteRoot = siteConfig.Root.ToUpper();
-
-				LogDataItemCollection logItems = new LogDataItemCollection();
-				logItems.AddRange(logService.GetReferralsForDay(reportDate));
-
-				foreach (LogDataItem log in logItems)
-				{
-					bool exclude = false;
-					if (log.UrlReferrer != null)
-					{
-						exclude = log.UrlReferrer.ToUpper().StartsWith(siteRoot);
-
-						// Let Utils.ParseSearchString decide whether it's a search engine referrer.
-						HyperLink link = Utils.ParseSearchString(log.UrlReferrer);
-						if (link != null)
-						{
-							string linktext = "<a href=\"" + link.NavigateUrl + "\">" + link.Text + "</a>";
-							exclude = true;
-							if (!searchUrls.Contains(linktext))
-							{
-								searchUrls[linktext] = 0;
-							}
-							searchUrls[linktext] = ((int) searchUrls[linktext]) + 1;
-						}
-					}
-
-					if (!exclude)
-					{
-						string linktext = log.UrlReferrer;
-						if (linktext.Length > 0)
-							linktext = "<a href=\"" + log.UrlReferrer + "\">" + log.UrlReferrer + "</a>";
-
-						if (!referrerUrls.Contains(linktext))
-						{
-							referrerUrls[linktext] = 0;
-						}
-
-						referrerUrls[linktext] = ((int) referrerUrls[linktext]) + 1;
-
-						log.UserAgent = HttpUtility.HtmlEncode(log.UserAgent);
-						if (!userAgents.Contains(log.UserAgent))
-						{
-							userAgents[log.UserAgent] = 0;
-						}
-
-						userAgents[log.UserAgent] = ((int) userAgents[log.UserAgent]) + 1;
-
-						log.UserDomain = HttpUtility.HtmlEncode(log.UserDomain);
-						if(!userDomains.Contains(log.UserDomain))
-						{
-							userDomains[log.UserDomain] = 0;
-						}
-
-						userDomains[log.UserDomain] = ((int) userDomains[log.UserDomain]) + 1;
-					}
-				}
-
-				sb.Append("<p>");
-				sb.Append("<table width=\"100%\">");
-				sb.Append(MakeTableHeader("Summary", "Hits"));
-				sb.Append(MakeTableRow("Internet Searches", GetTotal(searchUrls)));
-				sb.Append(MakeTableRow("Referrers", GetTotal(referrerUrls) ));
-				sb.Append("</table>");
-				sb.Append("</p>");
-				
-				sb.Append("<p>");
-				sb.Append("<table width=\"100%\">");
-				sb.Append(MakeTableHeader("Internet Searches", "Count"));
-				sb.Append(MakeTableRowsFromArray(searchUrls));
-				sb.Append("</table>");
-				sb.Append("</p>");
-
-				sb.Append( "<p>");
-				sb.Append( "<table width=\"100%\">");
-				sb.Append( MakeTableHeader("Referrers", "Count"));
-				sb.Append( MakeTableRowsFromArray(referrerUrls));
-				sb.Append( "</table>");
-				sb.Append( "</p>");
-
-				sb.Append("<p>");
-				sb.Append("<table width=\"100%\">");
-				sb.Append(MakeTableHeader("User Agents", "Count"));
-				sb.Append(MakeTableRowsFromArray(userAgents));
-				sb.Append("</table>");
-				sb.Append("</p>");
-
-				sb.Append("<p>");
-				sb.Append("<table width=\"100%\">");
-				sb.Append(MakeTableHeader("User Domains", "Count"));
-				sb.Append(MakeTableRowsFromArray(userDomains));
-				sb.Append("</table>");
-				sb.Append("</p>");
-				sb.Append("<br/><br/>");
-
+                activityCore.PopulateActivities(reportDate, referrerUrls, userAgents, searchUrls, userDomains);
+                sb.Append(activityCore.GenerateSummaryTable(searchUrls, referrerUrls));
+                sb.Append(activityCore.GenerateSearchesTable(searchUrls));
+                sb.Append(activityCore.GenerateReferrerTable(referrerUrls));
+                sb.Append(activityCore.GenerateUserAgentTable(userAgents));
+                sb.Append(activityCore.GenerateUserDomainTable(userDomains));
 			}
 			catch ( Exception e)
 			{
@@ -240,115 +152,7 @@
 	    }
 
 
-		private string GetStyleSheet()
-		{
-			System.Text.StringBuilder sb = new System.Text.StringBuilder();
-			sb.Append("<style type=\"text/css\">");
-			sb.Append("table {border: 0; border-spacing: 0;	border-collapse: collapse; padding: 0;	width: 100%; font-family: Tahoma,Arial,Helvetica; font-size: 8pt; }");
-			sb.Append("td.heading { text-align: left;	font-weight: bold; color: white; background-color: #919eae;	border: 0;	padding: 10px 5px 10px 5px;}");
-			sb.Append("td.data {font-weight: normal;	border: 0; border-color: #fff #fff #abc #fff; border-style: solid; border-width: 1px;	padding: 0 5px 0 5px; }");
-			sb.Append("td.mainheader {text-align: center; font-weight: bold; color: white; background-color: #919eae; border: 0; padding: 10px 5px 10px 5px;	font-size: 16pt;}");
-			sb.Append("</style>");
-			return sb.ToString();
-		}
-
-
-		private string GetTotal(Hashtable hash)
-		{
-			int count = 0;
-			foreach (object key in hash.Keys)
-			{
-				count += (int)hash[key];
-			}
-			return count.ToString();
-
-		}
 	
-
-		private string MakeTableHeader(string col1, string col2)
-		{
-			System.Text.StringBuilder sb = new System.Text.StringBuilder();
-			sb.Append("<tr>");
-			sb.Append("<td class=\"heading\" width=\"90%\"><b>" + HttpUtility.HtmlEncode(col1) + "</b></td>");
-			sb.Append("<td class=\"heading\" width=\"10%\"><b>" + HttpUtility.HtmlEncode(col2) + "</b></td>");
-			sb.Append("</tr>");
-			return sb.ToString();
-		}
-
-
-		private string MakeTableRow(string title, string count)
-		{
-			System.Text.StringBuilder sb = new System.Text.StringBuilder();
-			sb.Append("<tr>");
-
-			sb.Append("<td class=\"data\">"); // needed to split this as the doted IP is not liked 
-			sb.Append(title);                 // when adding strings together ??
-			sb.Append("</td>");               // depending on email client / SMTP server ??
-			
-			sb.Append("<td class=\"data\">" + count + "</td>");
-			sb.Append("</tr>");
-			return sb.ToString();
-		}
-
-
-		private string MakeTableRowsFromArray(Hashtable hash)
-		{
-			System.Text.StringBuilder sb = new System.Text.StringBuilder();
-
-			ArrayList arrayList = GenerateSortedItemList(hash);
-			foreach (ActivityItem ai in arrayList)
-			{
-				sb.Append(MakeTableRow(ai.Key, ai.Val.ToString()));
-			}
-
-			return sb.ToString();
-
-		}
-
-
-		protected ArrayList GenerateSortedItemList( IDictionary dict )
-		{
-			ArrayList listItems = new ArrayList(dict.Count);
-			foreach (DictionaryEntry de in dict)
-			{
-				listItems.Add(new ActivityItem(de.Key.ToString(), (int)de.Value));
-			}
-			listItems.Sort(new ActivityItem.Comparer());
-			return listItems;
-		}
-
-	
 	}
 
-	class ActivityItem
-	{
-		public string Key;
-		public int Val;
-
-		public ActivityItem(string key, int val)
-		{
-			Key = key;
-			Val = val;
-		}
-
-		public class Comparer : IComparer
-		{
-			public int Compare(object left, object right)
-			{
-				int leftValue = ((ActivityItem)left).Val;
-				int rightValue = ((ActivityItem)right).Val;
-				if (leftValue > rightValue)
-				{
-					return -1;
-				}
-				else if (leftValue < rightValue)
-				{
-					return 1;
-				}
-				return 0;
-			}
-		}
-
-	}
-
 }
Index: source/newtelligence.DasBlog.Web/EditConfigBox.ascx
===================================================================
--- source/newtelligence.DasBlog.Web/EditConfigBox.ascx	(revision 707)
+++ source/newtelligence.DasBlog.Web/EditConfigBox.ascx	(working copy)
@@ -120,13 +120,37 @@
 					</asp:CheckBox></td>
 			</tr>
 			<tr>
-				<td class="configLabelColumnStyle" nowrap>
+				<td class="configLabelColumnStyle" nowrap style="height: 24px">
 					<asp:CheckBox ID="checkEnableAutoSave" runat="server" Text='<%# resmgr.GetString("text_config_enable_auto_save") %>' CssClass="configControlStyle">
 					</asp:CheckBox></td>
-				<td class="configLabelColumnStyle" nowrap>
+				<td class="configLabelColumnStyle" nowrap style="height: 24px">
 					<asp:CheckBox ID="checkEnableEntryReferral" runat="server" Text='<%# resmgr.GetString("text_config_enable_entry_referral") %>' CssClass="configControlStyle">
 					</asp:CheckBox></td>
 			</tr>
+			<tr>
+				<td class="configLabelColumnStyle" colspan="2">
+					<fieldset>
+						<legend>
+							<%# resmgr.GetString("text_config_activity_rss_field")%>
+						</legend>
+						<table>
+							<tr>
+								<td class="configLabelColumnStyle" style="HEIGHT: 21px; width: 374px;" nowrap colspan="2">
+									<asp:CheckBox ID="checkEnableActivityRss" runat="server" Text='<%# resmgr.GetString("text_config_enable_activityrss") %>' CssClass="configControlStyle"></asp:CheckBox>
+								</td>
+							</tr>
+							<tr>
+							    <td class="configLabelColumnStyle" nowrap>
+                                    <asp:Label ID="Label16" runat="server" Text='<%# resmgr.GetString("text_activity_rss_url")%>' CssClass="configLabelStyle"></asp:Label>
+                                </td>
+                                <td class="configLabelColumnStyle" nowrap>
+									<asp:Label ID="labelActivityRssUrl" runat="server" Text='test message' CssClass="configLabelStyle" ></asp:Label>
+                                </td>
+							</tr>
+						</table>
+					</fieldset>
+				</td>
+			</tr>
 		</table>
 	</div>
 	<div class="configSectionStyle">
Index: source/newtelligence.DasBlog.Web/EditConfigBox.ascx.cs
===================================================================
--- source/newtelligence.DasBlog.Web/EditConfigBox.ascx.cs	(revision 707)
+++ source/newtelligence.DasBlog.Web/EditConfigBox.ascx.cs	(working copy)
@@ -214,6 +214,18 @@
 				checkDailyReport.Text = resmgr.GetString("text_daily_activity_report");
 				checkDailyReport.Checked = siteConfig.EnableDailyReportEmail;
 
+
+                // activity rss
+                checkEnableActivityRss.Checked = siteConfig.EnableActivityRss;
+                if (siteConfig.EnableActivityRss)
+                {
+                    labelActivityRssUrl.Text = siteConfig.Root + siteConfig.ActivityRssUrl + @"/activityrss.ashx";
+                }
+                else
+                {
+                    labelActivityRssUrl.Text = string.Empty;
+                }
+
 				
 				WindowsTimeZoneCollection timeZones = WindowsTimeZone.TimeZones;
 				foreach (WindowsTimeZone tz in timeZones)
@@ -549,6 +561,22 @@
 				siteConfig.PingServices = savePingServices;
 				siteConfig.EntryEditControl = drpEntryEditControl.SelectedValue;
 
+
+                // activity rss
+                siteConfig.EnableActivityRss = checkEnableActivityRss.Checked;
+                if (checkEnableActivityRss.Checked)
+                {
+                    if (siteConfig.ActivityRssUrl.Length == 0)
+                    {
+                        siteConfig.ActivityRssUrl = Guid.NewGuid().ToString();
+                    }
+                }
+                else
+                {
+                    siteConfig.ActivityRssUrl = Guid.NewGuid().ToString();
+                }
+
+
 				SiteConfig.Save(siteConfig);
 
 				/*
Index: source/newtelligence.DasBlog.Web/EditConfigBox.ascx.designer.cs
===================================================================
--- source/newtelligence.DasBlog.Web/EditConfigBox.ascx.designer.cs	(revision 707)
+++ source/newtelligence.DasBlog.Web/EditConfigBox.ascx.designer.cs	(working copy)
@@ -1,7 +1,7 @@
 //------------------------------------------------------------------------------
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:2.0.50727.1318
+//     Runtime Version:2.0.50727.312
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
 //     the code is regenerated.
@@ -362,6 +362,33 @@
         protected global::System.Web.UI.WebControls.CheckBox checkEnableEntryReferral;
         
         /// <summary>
+        /// checkEnableActivityRss control.
+        /// </summary>
+        /// <remarks>
+        /// Auto-generated field.
+        /// To modify move field declaration from designer file to code-behind file.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.CheckBox checkEnableActivityRss;
+        
+        /// <summary>
+        /// Label16 control.
+        /// </summary>
+        /// <remarks>
+        /// Auto-generated field.
+        /// To modify move field declaration from designer file to code-behind file.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.Label Label16;
+        
+        /// <summary>
+        /// labelActivityRssUrl control.
+        /// </summary>
+        /// <remarks>
+        /// Auto-generated field.
+        /// To modify move field declaration from designer file to code-behind file.
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.Label labelActivityRssUrl;
+        
+        /// <summary>
         /// labelCommentSettings control.
         /// </summary>
         /// <remarks>
Index: source/newtelligence.DasBlog.Web/StringTables/StringTables.resx
===================================================================
--- source/newtelligence.DasBlog.Web/StringTables/StringTables.resx	(revision 707)
+++ source/newtelligence.DasBlog.Web/StringTables/StringTables.resx	(working copy)
@@ -1,878 +1,975 @@
-<?xml version="1.0" encoding="utf-8" ?>
+<?xml version="1.0" encoding="utf-8"?>
 <root>
-	<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-		<xsd:element name="root" msdata:IsDataSet="true">
-			<xsd:complexType>
-				<xsd:choice maxOccurs="unbounded">
-					<xsd:element name="data">
-						<xsd:complexType>
-							<xsd:sequence>
-								<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-								<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-							</xsd:sequence>
-							<xsd:attribute name="name" type="xsd:string" />
-							<xsd:attribute name="type" type="xsd:string" />
-							<xsd:attribute name="mimetype" type="xsd:string" />
-						</xsd:complexType>
-					</xsd:element>
-					<xsd:element name="resheader">
-						<xsd:complexType>
-							<xsd:sequence>
-								<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-							</xsd:sequence>
-							<xsd:attribute name="name" type="xsd:string" use="required" />
-						</xsd:complexType>
-					</xsd:element>
-				</xsd:choice>
-			</xsd:complexType>
-		</xsd:element>
-	</xsd:schema>
-	<resheader name="ResMimeType">
-		<value>text/microsoft-resx</value>
-	</resheader>
-	<resheader name="Version">
-		<value>1.0.0.0</value>
-	</resheader>
-	<resheader name="Reader">
-		<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-	</resheader>
-	<resheader name="Writer">
-		<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-	</resheader>
-	<data name="text_person_name">
-		<value>Name</value>
-	</data>
-	<data name="text_person_email">
-		<value>E-mail</value>
-	</data>
-	<data name="text_person_homepage">
-		<value>Home page</value>
-	</data>
-	<data name="text_person_remember">
-		<value>Remember Me</value>
-	</data>
-	<data name="text_comment_content">
-		<value>Comment (HTML not allowed)</value>
-	</data>
-	<data name="text_config_referralblacklist404s">
-		<value>Send 404s to blacklisted referrals</value>
-	</data>
-	<data name="text_captcha">
-		<value>&lt;B&gt;Enter the code shown (prevents robots):&lt;/B&gt;</value>
-	</data>
-	<data name="text_save_comment">
-		<value>Save Comment</value>
-	</data>
-	<data name="text_comment_livepreview">
-		<value>Live Comment Preview</value>
-	</data>
-	<data name="text_error_person_name_rf">
-		<value>You must enter your name - or at least some name.</value>
-	</data>
-	<data name="text_error_person_email_re">
-		<value>The e-mail address is optional, but if you provide it, it should be valid.</value>
-	</data>
-	<data name="text_comment_content_rf">
-		<value>Empty comments aren't allowed.</value>
-	</data>
-	<data name="text_admin_add_entry">
-		<value>Add Entry</value>
-	</data>
-	<data name="text_admin_referrers">
-		<value>Referrers</value>
-	</data>
-	<data name="text_admin_events">
-		<value>Events</value>
-	</data>
-	<data name="text_admin_config">
-		<value>Configuration</value>
-	</data>
-	<data name="text_admin_content_filters">
-		<value>Content Filters</value>
-	</data>
-	<data name="text_admin_blogroll">
-		<value>Blogroll</value>
-	</data>
-	<data name="text_admin_navlinks">
-		<value>Navigator Links</value>
-	</data>
-	<data name="text_admin_userclickthrough">
-		<value>User Click-Through</value>
-	</data>
-	<data name="text_admin_logout">
-		<value>Log off</value>
-	</data>
-	<data name="text_admin_loggedonas">
-		<value>Logged on as</value>
-	</data>
-	<data name="text_yes">
-		<value>Yes</value>
-	</data>
-	<data name="text_no">
-		<value>No</value>
-	</data>
-	<data name="text_delete_confirm">
-		<value>Are you sure you want to delete this item?</value>
-	</data>
-	<data name="text_blogrolls_title">
-		<value>Edit Your Blogroll(s)</value>
-	</data>
-	<data name="text_select">
-		<value>Select</value>
-	</data>
-	<data name="text_create">
-		<value>Create</value>
-	</data>
-	<data name="text_opml_files">
-		<value>OPML Files</value>
-	</data>
-	<data name="text_title">
-		<value>Title</value>
-	</data>
-	<data name="text_date">
-		<value>Date</value>
-	</data>
-	<data name="text_description">
-		<value>Description</value>
-	</data>
-	<data name="text_html_url">
-		<value>HTML Url</value>
-	</data>
-	<data name="text_xml_url">
-		<value>XML Url</value>
-	</data>
-	<data name="tooltip_item_add">
-		<value>Click here to add a new item</value>
-	</data>
-	<data name="tooltip_item_delete">
-		<value>Click here to delete this item</value>
-	</data>
-	<data name="tooltip_item_ok">
-		<value>Click here to save this item</value>
-	</data>
-	<data name="tooltip_item_cancel">
-		<value>Click here to abandon the current changes</value>
-	</data>
-	<data name="tooltip_item_edit">
-		<value>Click here to edit this item</value>
-	</data>
-	<data name="tooltip_item_moveup">
-		<value>Click here to move this item one position up</value>
-	</data>
-	<data name="tooltip_item_movedown">
-		<value>Click here to move this item one position down</value>
-	</data>
-	<data name="text_time">
-		<value>Time</value>
-	</data>
-	<data name="text_message_code">
-		<value>Code</value>
-	</data>
-	<data name="text_message_text">
-		<value>Message</value>
-	</data>
-	<data name="text_filters_title">
-		<value>Edit Content Filters</value>
-	</data>
-	<data name="text_filters_apply_web">
-		<value>Apply filters when rendering content on web pages</value>
-	</data>
-	<data name="text_filters_apply_xml">
-		<value>Apply filters when rendering content in syndication formats</value>
-	</data>
-	<data name="text_filters_warning">
-		<value>&lt;b&gt;Note:&lt;/b&gt;Using complex regular expressions with backward and forward references as well as .* and .*? can lead to very long processing times and high CPU load when items are rendered. Please check, depending on the options you enabled above, your weblog front page and/or RSS feed after you have saved the changes on this page.</value>
-	</data>
-	<data name="text_filters_not_saved">
-		<value>Your changes have not been saved, yet. Click the "Save Changes" button to save them once you are done editing.</value>
-	</data>
-	<data name="text_save_changes">
-		<value>Save Changes</value>
-	</data>
-	<data name="text_filters_view_results">
-		<value>View filter results</value>
-	</data>
-	<data name="text_filters_find_expression">
-		<value>Find Expression</value>
-	</data>
-	<data name="text_filters_replace_expression">
-		<value>Replace Expression</value>
-	</data>
-	<data name="text_filters_regex_question">
-		<value>Pattern?</value>
-	</data>
-	<data name="text_html_content">
-		<value>HTML Content</value>
-	</data>
-	<data name="text_add_image">
-		<value>Add Image</value>
-	</data>
-	<data name="text_add_attachment">
-		<value>Add File</value>
-	</data>
-	<data name="text_add_enclosure">
-		<value>Add Enclosure</value>
-	</data>
-	<data name="text_upload_image">
-		<value>Upload Image</value>
-	</data>
-	<data name="text_upload">
-		<value>Upload</value>
-	</data>
-	<data name="text_categories">
-		<value>Categories</value>
-	</data>
-	<data name="text_categories_delimited">
-		<value>Categories (semicolon-separated list)</value>
-	</data>
-	<data name="text_trackback_to">
-		<value>Trackback URL</value>
-	</data>
-	<data name="text_post_to_weblog">
-		<value>Post to Weblog</value>
-	</data>
-	<data name="text_edit_title">
-		<value>Edit Weblog Entry</value>
-	</data>
-	<data name="text_pick_theme">
-		<value>Pick a theme:</value>
-	</data>
-	<data name="text_username">
-		<value>Username</value>
-	</data>
-	<data name="text_password">
-		<value>Password</value>
-	</data>
-	<data name="text_log_on">
-		<value>Sign In</value>
-	</data>
-	<data name="text_remember_login">
-		<value>Remember Login</value>
-	</data>
-	<data name="text_config_title">
-		<value>Configuration Settings</value>
-	</data>
-	<data name="text_config_errors_title">
-		<value>You need to make a few changes before we can proceed</value>
-	</data>
-	<data name="text_config_basic_settings">
-		<value>Basic Settings</value>
-	</data>
-	<data name="text_config_services">
-		<value>Services Settings</value>
-	</data>
-	<data name="text_config_appearance">
-		<value>Appearance Settings</value>
-	</data>
-	<data name="text_config_notifications">
-		<value>Notification Settings</value>
-	</data>
-	<data name="text_config_syndication">
-		<value>Syndication Settings</value>
-	</data>
-	<data name="text_config_channelimage">
-		<value>RSS Channel Image</value>
-	</data>
-	<data name="text_config_mail_to_weblog">
-		<value>Mail To Weblog Settings</value>
-	</data>
-	<data name="text_config_feedburner_name">
-		<value>FeedBurner Username (if available, overrides feed links)</value>
-	</data>
-	<data name="text_config_xss">
-		<value>Xml Storage System Settings</value>
-	</data>
-	<data name="text_config_blacklist">
-		<value>Spammer Settings</value>
-	</data>
-	<data name="text_config_enable_referral_url_blacklist">
-		<value>Enable Referral Blacklist</value>
-	</data>
-	<data name="text_config_enable_search_highlighting">
-		<value>Enable Search Result Highlighting</value>
-	</data>
-	<data name="text_config_referralblacklist">
-		<value>Blacklist (';' separated values)</value>
-	</data>
-	<data name="text_config_enablecaptcha">
-		<value>Enable Captcha for Comments</value>
-	</data>
-	<data name="text_subtitle">
-		<value>Subtitle</value>
-	</data>
-	<data name="text_contact_email">
-		<value>Contact E-mail</value>
-	</data>
-	<data name="text_external_base_url">
-		<value>External Weblog URL</value>
-	</data>
-	<data name="text_copyright_owner">
-		<value>Copyright Owner</value>
-	</data>
-	<data name="text_config_auto_pingback">
-		<value>Enable Auto Pingback</value>
-	</data>
-	<data name="text_config_comment_api">
-		<value>Enable Comment API</value>
-	</data>
-	<data name="text_config_blogger_api">
-		<value>Enable Blogger/MovableType API</value>
-	</data>
-	<data name="text_config_edit_web_service">
-		<value>Enable Edit Web Service</value>
-	</data>
-	<data name="text_config_config_web_service">
-		<value>Enable Config Web Service</value>
-	</data>
-	<data name="text_config_trackback_service">
-		<value>Enable Trackback Service</value>
-	</data>
-	<data name="text_config_pingback_service">
-		<value>Enable Pingback Service</value>
-	</data>
-	<data name="text_config_default_theme">
-		<value>Default Theme</value>
-	</data>
-	<data name="text_config_category_filter">
-		<value>Category Filter for Main Page</value>
-	</data>
-	<data name="text_config_max_days_main_page">
-		<value>Max. Days on Main Page</value>
-	</data>
-	<data name="text_config_time_zone">
-		<value>Time-zone to use for display</value>
-	</data>
-	<data name="text_config_always_utc">
-		<value>Always use UTC</value>
-	</data>
-	<data name="text_config_show_comment_counters">
-		<value>Show comment counters</value>
-	</data>
-	<data name="text_config_description_in_aggregated_views">
-		<value>Show only description in aggregated views</value>
-	</data>
-	<data name="text_config_enable_output_caching">
-		<value>Enable output caching for start page</value>
-	</data>
-	<data name="text_config_enable_url_rewriting">
-		<value>Enable URL rewriting</value>
-	</data>
-	<data name="text_config_smtp_server">
-		<value>SMTP Server</value>
-	</data>
-	<data name="text_config_smtp_port">
-		<value>SMTP Port</value>
-	</data>
-	<data name="text_config_notification_email">
-		<value>Notification E-mail Address</value>
-	</data>
-	<data name="text_config_enable_smtp_auth">
-		<value>Enable SMTP Basic Authentication</value>
-	</data>
-	<data name="text_config_smtp_username">
-		<value>SMTP Username</value>
-	</data>
-	<data name="text_config_smtp_password">
-		<value>SMTP Password</value>
-	</data>
-	<data name="text_config_notify_posts">
-		<value>Posts</value>
-	</data>
-	<data name="text_config_notify_comments">
-		<value>Comments</value>
-	</data>
-	<data name="text_config_notify_trackbacks">
-		<value>Trackbacks</value>
-	</data>
-	<data name="text_config_notify_pingbacks">
-		<value>Pingbacks</value>
-	</data>
-	<data name="text_config_notify_referrals">
-		<value>Referrals</value>
-	</data>
-	<data name="text_config_main_max_days_rss">
-		<value>Max. Days in Main RSS Feed</value>
-	</data>
-	<data name="text_config_main_rss_language">
-		<value>RSS Language (example: en-us)</value>
-	</data>
-	<data name="text_config_other_max_entries_rss">
-		<value>Max. Entries in Category/Comment RSS Feeds</value>
-	</data>
-	<data name="text_config_enable_mail_to_weblog">
-		<value>Enable Mail To Weblog (change requires manual app reset)</value>
-	</data>
-	<data name="text_config_pop3_server">
-		<value>POP3 Server</value>
-	</data>
-	<data name="text_password_repeat">
-		<value>Repeat</value>
-	</data>
-	<data name="text_config_subject_prefix">
-		<value>Subject Prefix</value>
-	</data>
-	<data name="text_config_poll_interval">
-		<value>Poll Interval (s)</value>
-	</data>
-	<data name="text_config_inline_attached_pics">
-		<value>Inline Attached Pictures</value>
-	</data>
-	<data name="text_config_max_thumb_height">
-		<value>Maximum height for thumbnails</value>
-	</data>
-	<data name="text_config_endpoint">
-		<value>Endpoint</value>
-	</data>
-	<data name="text_config_xss_enable">
-		<value>Enable upstreaming RSS to XSS cloud</value>
-	</data>
-	<data name="text_config_update_interval">
-		<value>Update Interval (s)</value>
-	</data>
-	<data name="text_config_rss_file_name">
-		<value>RSS File Name</value>
-	</data>
-	<data name="text_save_settings">
-		<value>Save Settings</value>
-	</data>
-	<data name="text_error_title_required">
-		<value>'Title' is a required field and cannot be empty.</value>
-	</data>
-	<data name="text_error_contact_email_required"></data>
-	<data name="text_error_invalid_email"></data>
-	<data name="text_error_root_required"></data>
-	<data name="text_error_invalid_url"></data>
-	<data name="text_error_copyright_owner_required"></data>
-	<data name="text_error_max_days_required"></data>
-	<data name="text_error_max_days_range"></data>
-	<data name="text_referrers_title">
-		<value>Referrers</value>
-	</data>
-	<data name="text_navigatorlinks_title">
-		<value>Navigator Links</value>
-	</data>
-	<data name="text_eventlog_title">
-		<value>Today's Events</value>
-	</data>
-	<data name="text_config_other_appearance">
-		<value>Other appearance settings</value>
-	</data>
-	<data name="text_language">
-		<value>Language</value>
-	</data>
-	<data name="tooltip_language">
-		<value>Only select a language/culture other than the "Invariant" culture/language if you want to display this entry for readers with this language preference. Select "German" to display the entry to all German-language readers, select "German (Germany)" to display the entry to German-language readers who selected German as spoken in Germany as their language preference.</value>
-	</data>
-	<data name="text_config_max_entries_main_page">
-		<value>Max. Entries on Main Page</value>
-	</data>
-	<data name="text_config_entries_per_category_page">
-		<value>Entries per Page (when show all entries in categories is false)</value>
-	</data>
-	<data name="text_config_enable_blogroll_description">
-		<value>Show description in Blogrolls</value>
-	</data>
-	<data name="text_config_entrytitle_as_link">
-		<value>Show entrytitles as links</value>
-	</data>
-	<data name="text_config_comments">
-		<value>Enable Comments</value>
-	</data>
-	<data name="text_config_main_max_entries_rss">
-		<value>Max. Entries in Main RSS Feed</value>
-	</data>
-	<data name="text_config_always_comments_in_rss">
-		<value>Include Full Content in Items that have Summary Descriptions</value>
-	</data>
-	<data name="text_config_enable_ftb">
-		<value>Enable &lt;a href="http://www.freetextbox.com/"&gt;FreeTextBox&lt;/a&gt; for Editing</value>
-	</data>
-	<data name="text_config_enable_rss_footer">
-		<value>Add footer to RSS items</value>
-	</data>
-	<data name="text_config_enable_clickthrough">
-		<value>Enable Click-Through</value>
-	</data>
-	<data name="text_config_enable_aggregator_bugging">
-		<value>Enable Webbugs for RSS</value>
-	</data>
-	<data name="text_admin_aggbugs">
-		<value>Aggregator Activity</value>
-	</data>
-	<data name="text_admin_clickthrough">
-		<value>Click-Through</value>
-	</data>
-	<data name="text_clickthrough_title">
-		<value>Click-Through Statistics</value>
-	</data>
-	<data name="text_aggbug_title">
-		<value>Aggregator Activity</value>
-	</data>
-	<data name="text_admin_crosspost">
-		<value>Crosspost Sites</value>
-	</data>
-	<data name="text_crosspost_title">
-		<value>Edit Crosspost Sites</value>
-	</data>
-	<data name="text_sites_not_saved">
-		<value>The site information has not yet been saved. Click the "Save Changes" button below to save the information.</value>
-	</data>
-	<data name="text_crosspost">
-		<value>Crosspost</value>
-	</data>
-	<data name="text_profile_name">
-		<value>Profile Name</value>
-	</data>
-	<data name="text_hostname">
-		<value>Host Name</value>
-	</data>
-	<data name="text_port">
-		<value>Port</value>
-	</data>
-	<data name="text_endpoint">
-		<value>Endpoint</value>
-	</data>
-	<data name="text_test_site">
-		<value>Test Site</value>
-	</data>
-	<data name="text_select_blog">
-		<value>Select Blog</value>
-	</data>
-	<data name="text_apitype">
-		<value>API Type</value>
-	</data>
-	<data name="text_admin_crosspost">
-		<value>Crosspost Referrals</value>
-	</data>
-	<data name="text_crosspost_referrer_title">
-		<value>Crosspost Referrers</value>
-	</data>
-	<data name="text_admin_crosspostsites">
-		<value>Crosspost Sites</value>
-	</data>
-	<data name="text_config_enable_crosspost">
-		<value>Enable Crossposting</value>
-	</data>
-	<data name="text_test_smtp">
-		<value>Test SMTP Server</value>
-	</data>
-	<data name="text_config_category_all_entries">
-		<value>Display All Entries in Category View</value>
-	</data>
-	<data name="text_admin_activity">
-		<value>Activity</value>
-	</data>
-	<data name="text_activity_title">
-		<value>Activity</value>
-	</data>
-	<data name="text_search">
-		<value>Search</value>
-	</data>
-	<data name="text_search_query_title">
-		<value>Searched for </value>
-	</data>
-	<data name="text_blog_url">
-		<value>Weblog URL</value>
-	</data>
-	<data name="text_blog_software">
-		<value>Weblog Software</value>
-	</data>
-	<data name="text_auto_fill">
-		<value>Auto Fill</value>
-	</data>
-	<data name="text_config_encrypt_passwords">
-		<value>Encrypt Login password</value>
-	</data>
-	<data name="text_config_mail_deletion">
-		<value>Mail Deletion Policy</value>
-	</data>
-	<data name="text_config_delete_all_messages">
-		<value>Delete all</value>
-	</data>
-	<data name="text_config_delete_processed_messages">
-		<value>Only processed</value>
-	</data>
-	<data name="text_config_log_ignored_emails">
-		<value>Log ignored emails?</value>
-	</data>
-	<data name="text_load_blogs">
-		<value>Load blogs</value>
-	</data>
-	<data name="text_remove">
-		<value>Remove</value>
-	</data>
-	<data name="text_enclosure">
-		<value>RSS Enclosure</value>
-	</data>
-	<data name="text_comments_closed">
-		<value>Comments are closed.</value>
-	</data>
-	<data name="text_allow_comments">
-		<value>Allow comments</value>
-	</data>
-	<data name="text_publish">
-		<value>Publish</value>
-	</data>
-	<data name="text_syndicate">
-		<value>Syndicate</value>
-	</data>
-	<data name="text_options">
-		<value>Options</value>
-	</data>
-	<data name="text_config_enable_mt_blacklist">
-		<value>Enable &lt;a href="http://www.jayallen.org/comment_spam/"&gt;Movable Type Blacklist&lt;/a&gt;</value>
-	</data>
-	<data name="text_referrallist_more">
-		<value>More...</value>
-	</data>
-	<data name="text_config_enable_title_permalink">
-		<value>Use Post Title for Permalink (change requires manual app reset)</value>
-	</data>
-	<data name="text_config_enable_title_permalink_unique">
-		<value>Use Unique Title (will include year, month, day in the path. This ensures that two posts with the same titles can be found)</value>
-	</data>
-	<data name="text_config_enable_title_permalink_spaces">
-		<value>Use Spaces for Title Permalinks (will replace spaces with '+')</value>
-	</data>
-	<data name="text_no_category">
-		<value>No Category</value>
-	</data>
-	<data name="text_config_enable_entry_referral">
-		<value>Save referrals along with entries (not recommended for high traffic sites)</value>
-	</data>
-	<data name="text_go">
-		<value>Go</value>
-	</data>
-	<data name="text_config_services_to_ping">
-		<value>Services to Ping</value>
-	</data>
-	<data name="text_config_services_to_ping_description">
-		<value>Pinging lets services know that you've updated your site and increases traffic to your blog. Pings are sent using the &lt;a href="http://www.xmlrpc.com/weblogsCom"&gt;XML-RPC Ping Interface&lt;/a&gt;</value>
-	</data>
-	<data name="text_config_comments_allowed">
-		<value>days</value>
-	</data>
-	<data name="text_config_entry_edit_control">
-		<value>Editor control adapter</value>
-	</data>
-	<data name="text_config_logBlockedReferrals">
-		<value>Log blocked referrals</value>
-	</data>
-	<data name="text_config_show_comments_with_entry">
-		<value>Show comments on PermaLink page (not recommended for high traffic blogs)</value>
-	</data>
-	<data name="text_admin_edit_user">
-		<value>User Settings</value>
-	</data>
-	<data name="test_config_notification_newpost"></data>
-	<data name="test_config_notification_newpost">
-		<value>Notify when new posts has been added</value>
-	</data>
-	<data name="test_config_notification_allcomment">
-		<value>Notify when comments has been added for ALL posts</value>
-	</data>
-	<data name="text_config_notification_owncomment">
-		<value>Notify when comments has been added for OWN posts</value>
-	</data>
-	<data name="text_config_notification_allcomment">
-		<value>Notify when comments has been added for ALL posts</value>
-	</data>
-	<data name="text_config_notification_newpost">
-		<value>Notify when a new post has been added</value>
-	</data>
-	<data name="text_person_profilepage">
-		<value>Profile page</value>
-	</data>
-	<data name="text_config_use_feed_scheme">
-		<value>Use feed scheme (feed://) for syndication links</value>
-	</data>
-	<data name="text_config_content_lookahead_days">
-		<value>Days in the future to include</value>
-	</data>
-	<data name="text_error_content_lookeahead_days_range">
-		<value>Days in the future cannot be less than 0</value>
-	</data>
-	<data name="text_userclickthrough_title">
-		<value>User Click-Through Statistics</value>
-	</data>
-	<data name="text_filters_col_expression">
-		<value>Find...</value>
-	</data>
-	<data name="text_filters_col_mapto">
-		<value>Replace with...</value>
-	</data>
-	<data name="text_filters_col_isregex">
-		<value>Regular Expression</value>
-	</data>
-	<data name="text_filters_postProcessors">
-		<value>If your Replacement text includes the expression $url( ), the text within the parentheses will be URL encoded.</value>
-	</data>
-	<data name="text_autosave">
-		<value>Post autosaved:</value>
-	</data>
-	<data name="text_config_enable_auto_save">
-		<value>Enable Auto Save</value>
-	</data>
-	<data name="text_config_require_comment_approval">
-		<value>Comments require approval</value>
-	</data>
-	<data name="text_comments_require_approval">
-		<value>All comments require the approval of the site owner before being displayed.</value>
-	</data>
-	<data name="text_config_comment_settings">
-		<value>Comment settings</value>
-	</data>
-	<data name="text_config_comments_allow_html">
-		<value>Allow Html in comments</value>
-	</data>
-	<data name="text_config_comments_allow_links">
-		<value>Allow hyperlinks in comments</value>
-	</data>
-	<data name="text_comment_content_html">
-		<value>Comment (Some html is allowed: &lt;code&gt;{0}&lt;/code&gt;) where the @ means "attribute." For example, you can use &amp;lt;a href="" title=""&amp;gt; or &amp;lt;blockquote cite="Scott"&amp;gt;.</value>
-	</data>
-	<data name="text_days_allowed_tags">
-		<value>Allowed Html Tags</value>
-	</data>
-	<data name="text_config_enable_gravatar">
-		<value>Allow Gravatar icons in comments</value>
-	</data>
-	<data name="text_config_no_gravatar_img">
-		<value>No gravatar icon (ie: images/nogravatar.gif or http://...)</value>
-	</data>
-	<data name="text_config_enable_commentdayslimit">
-		<value>Don't allow comments on posts older than</value>
-	</data>
-	<data name="text_days_expire_field">
-		<value>Auto expire comments</value>
-	</data>
-	<data name="text_comments_html_field">
-		<value>HTML in comments</value>
-	</data>
-	<data name="text_gravatar_field">
-		<value>&lt;a href="http://www.gravatar.com" target="_blank"&gt;Gravatar&lt;/a&gt; icons</value>
-	</data>
-	<data name="text_comment_gravatarable">
-		<value>(will show your &lt;a href="http://www.gravatar.com" target="_blank"&gt;gravatar&lt;/a&gt; icon)</value>
-	</data>
-	<data name="text_config_disableemaildisplay">
-		<value>Never show email addresses (comments or RSS)</value>
-	</data>
-	<data name="text_config_gravatar_size">
-		<value>How large of gravatar icons do you want (1-[80 default])</value>
-	</data>
-	<data name="text_config_gravatar_border">
-		<value>Gravatar border color (ie: e0e0e0)</value>
-	</data>
-	<data name="text_config_gravatar_rating">
-		<value>Maximum Gravatar ratings allowed on your blog</value>
-	</data>
-	<data name="text_admin_about">
-		<value>About</value>
-	</data>
-	<data name="text_about_title">
-		<value>About this Blog</value>
-	</data>
-	<data name="text_about_blogversion">
-		<value>Your dasBlog version</value>
-	</data>
-	<data name="text_about_corebloginfo">
-		<value>Core blog info</value>
-	</data>
-	<data name="text_about_uptime">
-		<value>Service uptime</value>
-	</data>
-	<data name="text_about_cacheloaded">
-		<value>Cache objects loaded</value>
-	</data>
-	<data name="text_about_aspnet">
-		<value>Asp.net version</value>
-	</data>
-	<data name="text_about_macrobloginfo">
-		<value>Macros available</value>
-	</data>
-	<data name="text_days_comments_allowed_invalid">
-		<value>Please enter a valid positive integer for the number of days comments are allowed.</value>
-	</data>
-	<data name="text_send_an_email">
-		<value>Send me an email</value>
-	</data>
-	<data name="text_about_cacheinfo">
-		<value>Cached items</value>
-	</data>
-	<data name="text_config_enablecocomment">
-		<value>Enable support for the CoComment service</value>
-	</data>
-	<data name="text_config_enablespamblocking">
-		<value>Enable spam blocking service (Akismet)</value>
-	</data>
-	<data name="text_config_spamblockingapikey">
-		<value>Spam blocking service API key</value>
-	</data>
-	<data name="text_reportspam_confirm">
-		<value>Are you sure you want to delete and report this item as SPAM?</value>
-	</data>
-	<data name="text_spamstate_notchecked">
-		<value>This comment has not been screened by an external service.</value>
-	</data>
-	<data name="text_spamstate_notspam">
-		<value>This comment was screened by an external service and is considered a valid contribution.</value>
-	</data>
-	<data name="text_spamstate_spam">
-		<value>This comment was screened by an external service and is considered SPAM.</value>
-	</data>
-	<data name="text_comment_potential_spam">
-		<value>Your comment has been received and is under review for potential violation of site guidelines. Do not re-submit.</value>
-	</data>
-	<data name="text_daily_activity_report">
-		<value>Daily Activity Report</value>
-	</data>
-	<data name="text_config_ssl_smtp">
-		<value>Send using SSL</value>
-	</data>
-	<data name="text_activity_click_throughs" xml:space="preserve">
-		<value>Click-Throughs</value>
-	</data>
-	<data name="text_activity_clicks" xml:space="preserve">
-		<value>Clicks</value>
-	</data>
-	<data name="text_activity_hits" xml:space="preserve">
-		<value>Hits</value>
-	</data>
-	<data name="text_activity_read_posts" xml:space="preserve">
-		<value>Read Posts</value>
-	</data>
-	<data name="text_activity_referrer_urls" xml:space="preserve">
-		<value>Referrer Urls</value>
-	</data>
-	<data name="text_activity_total" xml:space="preserve">
-		<value>Total</value>
-	</data>
-	<data name="text_activity_user_agent" xml:space="preserve">
-		<value>User Agent</value>
-	</data>
-	<data name="text_activity_user_domains" xml:space="preserve">
-		<value>User Domains</value>
-	</data>
-	<data name="text_activity_internet_searches" xml:space="preserve">
-		<value>Internet Searches</value>
-	</data>
-	<data name="text_activity_summary" xml:space="preserve">
-		<value>Summary</value>
-	</data>
-	<data name="text_new_entry" xml:space="preserve">
-		<value>New Entry</value>
-	</data>
-	<data name="text_profile" xml:space="preserve">
-		<value>Profile</value>
-	</data>
-	<data name="text_captcha_error" xml:space="preserve">
-		<value>Please enter the code shown</value>
-	</data>
-	<data name="text_save_spam">
-		<value>Save suspected spam for moderation</value>
-	</data>
-	<data name="text_delete_spam">
-		<value>Delete suspected spam immediately</value>
-	</data>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="text_person_name" xml:space="preserve">
+    <value>Name</value>
+  </data>
+  <data name="text_person_email" xml:space="preserve">
+    <value>E-mail</value>
+  </data>
+  <data name="text_person_homepage" xml:space="preserve">
+    <value>Home page</value>
+  </data>
+  <data name="text_person_remember" xml:space="preserve">
+    <value>Remember Me</value>
+  </data>
+  <data name="text_comment_content" xml:space="preserve">
+    <value>Comment (HTML not allowed)</value>
+  </data>
+  <data name="text_config_referralblacklist404s" xml:space="preserve">
+    <value>Send 404s to blacklisted referrals</value>
+  </data>
+  <data name="text_captcha" xml:space="preserve">
+    <value>&lt;B&gt;Enter the code shown (prevents robots):&lt;/B&gt;</value>
+  </data>
+  <data name="text_save_comment" xml:space="preserve">
+    <value>Save Comment</value>
+  </data>
+  <data name="text_comment_livepreview" xml:space="preserve">
+    <value>Live Comment Preview</value>
+  </data>
+  <data name="text_error_person_name_rf" xml:space="preserve">
+    <value>You must enter your name - or at least some name.</value>
+  </data>
+  <data name="text_error_person_email_re" xml:space="preserve">
+    <value>The e-mail address is optional, but if you provide it, it should be valid.</value>
+  </data>
+  <data name="text_comment_content_rf" xml:space="preserve">
+    <value>Empty comments aren't allowed.</value>
+  </data>
+  <data name="text_admin_add_entry" xml:space="preserve">
+    <value>Add Entry</value>
+  </data>
+  <data name="text_admin_referrers" xml:space="preserve">
+    <value>Referrers</value>
+  </data>
+  <data name="text_admin_events" xml:space="preserve">
+    <value>Events</value>
+  </data>
+  <data name="text_admin_config" xml:space="preserve">
+    <value>Configuration</value>
+  </data>
+  <data name="text_admin_content_filters" xml:space="preserve">
+    <value>Content Filters</value>
+  </data>
+  <data name="text_admin_blogroll" xml:space="preserve">
+    <value>Blogroll</value>
+  </data>
+  <data name="text_admin_navlinks" xml:space="preserve">
+    <value>Navigator Links</value>
+  </data>
+  <data name="text_admin_userclickthrough" xml:space="preserve">
+    <value>User Click-Through</value>
+  </data>
+  <data name="text_admin_logout" xml:space="preserve">
+    <value>Log off</value>
+  </data>
+  <data name="text_admin_loggedonas" xml:space="preserve">
+    <value>Logged on as</value>
+  </data>
+  <data name="text_yes" xml:space="preserve">
+    <value>Yes</value>
+  </data>
+  <data name="text_no" xml:space="preserve">
+    <value>No</value>
+  </data>
+  <data name="text_delete_confirm" xml:space="preserve">
+    <value>Are you sure you want to delete this item?</value>
+  </data>
+  <data name="text_blogrolls_title" xml:space="preserve">
+    <value>Edit Your Blogroll(s)</value>
+  </data>
+  <data name="text_select" xml:space="preserve">
+    <value>Select</value>
+  </data>
+  <data name="text_create" xml:space="preserve">
+    <value>Create</value>
+  </data>
+  <data name="text_opml_files" xml:space="preserve">
+    <value>OPML Files</value>
+  </data>
+  <data name="text_title" xml:space="preserve">
+    <value>Title</value>
+  </data>
+  <data name="text_date" xml:space="preserve">
+    <value>Date</value>
+  </data>
+  <data name="text_description" xml:space="preserve">
+    <value>Description</value>
+  </data>
+  <data name="text_html_url" xml:space="preserve">
+    <value>HTML Url</value>
+  </data>
+  <data name="text_xml_url" xml:space="preserve">
+    <value>XML Url</value>
+  </data>
+  <data name="tooltip_item_add" xml:space="preserve">
+    <value>Click here to add a new item</value>
+  </data>
+  <data name="tooltip_item_delete" xml:space="preserve">
+    <value>Click here to delete this item</value>
+  </data>
+  <data name="tooltip_item_ok" xml:space="preserve">
+    <value>Click here to save this item</value>
+  </data>
+  <data name="tooltip_item_cancel" xml:space="preserve">
+    <value>Click here to abandon the current changes</value>
+  </data>
+  <data name="tooltip_item_edit" xml:space="preserve">
+    <value>Click here to edit this item</value>
+  </data>
+  <data name="tooltip_item_moveup" xml:space="preserve">
+    <value>Click here to move this item one position up</value>
+  </data>
+  <data name="tooltip_item_movedown" xml:space="preserve">
+    <value>Click here to move this item one position down</value>
+  </data>
+  <data name="text_time" xml:space="preserve">
+    <value>Time</value>
+  </data>
+  <data name="text_message_code" xml:space="preserve">
+    <value>Code</value>
+  </data>
+  <data name="text_message_text" xml:space="preserve">
+    <value>Message</value>
+  </data>
+  <data name="text_filters_title" xml:space="preserve">
+    <value>Edit Content Filters</value>
+  </data>
+  <data name="text_filters_apply_web" xml:space="preserve">
+    <value>Apply filters when rendering content on web pages</value>
+  </data>
+  <data name="text_filters_apply_xml" xml:space="preserve">
+    <value>Apply filters when rendering content in syndication formats</value>
+  </data>
+  <data name="text_filters_warning" xml:space="preserve">
+    <value>&lt;b&gt;Note:&lt;/b&gt;Using complex regular expressions with backward and forward references as well as .* and .*? can lead to very long processing times and high CPU load when items are rendered. Please check, depending on the options you enabled above, your weblog front page and/or RSS feed after you have saved the changes on this page.</value>
+  </data>
+  <data name="text_filters_not_saved" xml:space="preserve">
+    <value>Your changes have not been saved, yet. Click the "Save Changes" button to save them once you are done editing.</value>
+  </data>
+  <data name="text_save_changes" xml:space="preserve">
+    <value>Save Changes</value>
+  </data>
+  <data name="text_filters_view_results" xml:space="preserve">
+    <value>View filter results</value>
+  </data>
+  <data name="text_filters_find_expression" xml:space="preserve">
+    <value>Find Expression</value>
+  </data>
+  <data name="text_filters_replace_expression" xml:space="preserve">
+    <value>Replace Expression</value>
+  </data>
+  <data name="text_filters_regex_question" xml:space="preserve">
+    <value>Pattern?</value>
+  </data>
+  <data name="text_html_content" xml:space="preserve">
+    <value>HTML Content</value>
+  </data>
+  <data name="text_add_image" xml:space="preserve">
+    <value>Add Image</value>
+  </data>
+  <data name="text_add_attachment" xml:space="preserve">
+    <value>Add File</value>
+  </data>
+  <data name="text_add_enclosure" xml:space="preserve">
+    <value>Add Enclosure</value>
+  </data>
+  <data name="text_upload_image" xml:space="preserve">
+    <value>Upload Image</value>
+  </data>
+  <data name="text_upload" xml:space="preserve">
+    <value>Upload</value>
+  </data>
+  <data name="text_categories" xml:space="preserve">
+    <value>Categories</value>
+  </data>
+  <data name="text_categories_delimited" xml:space="preserve">
+    <value>Categories (semicolon-separated list)</value>
+  </data>
+  <data name="text_trackback_to" xml:space="preserve">
+    <value>Trackback URL</value>
+  </data>
+  <data name="text_post_to_weblog" xml:space="preserve">
+    <value>Post to Weblog</value>
+  </data>
+  <data name="text_edit_title" xml:space="preserve">
+    <value>Edit Weblog Entry</value>
+  </data>
+  <data name="text_pick_theme" xml:space="preserve">
+    <value>Pick a theme:</value>
+  </data>
+  <data name="text_username" xml:space="preserve">
+    <value>Username</value>
+  </data>
+  <data name="text_password" xml:space="preserve">
+    <value>Password</value>
+  </data>
+  <data name="text_log_on" xml:space="preserve">
+    <value>Sign In</value>
+  </data>
+  <data name="text_remember_login" xml:space="preserve">
+    <value>Remember Login</value>
+  </data>
+  <data name="text_config_title" xml:space="preserve">
+    <value>Configuration Settings</value>
+  </data>
+  <data name="text_config_errors_title" xml:space="preserve">
+    <value>You need to make a few changes before we can proceed</value>
+  </data>
+  <data name="text_config_basic_settings" xml:space="preserve">
+    <value>Basic Settings</value>
+  </data>
+  <data name="text_config_services" xml:space="preserve">
+    <value>Services Settings</value>
+  </data>
+  <data name="text_config_appearance" xml:space="preserve">
+    <value>Appearance Settings</value>
+  </data>
+  <data name="text_config_notifications" xml:space="preserve">
+    <value>Notification Settings</value>
+  </data>
+  <data name="text_config_syndication" xml:space="preserve">
+    <value>Syndication Settings</value>
+  </data>
+  <data name="text_config_channelimage" xml:space="preserve">
+    <value>RSS Channel Image</value>
+  </data>
+  <data name="text_config_mail_to_weblog" xml:space="preserve">
+    <value>Mail To Weblog Settings</value>
+  </data>
+  <data name="text_config_feedburner_name" xml:space="preserve">
+    <value>FeedBurner Username (if available, overrides feed links)</value>
+  </data>
+  <data name="text_config_xss" xml:space="preserve">
+    <value>Xml Storage System Settings</value>
+  </data>
+  <data name="text_config_blacklist" xml:space="preserve">
+    <value>Spammer Settings</value>
+  </data>
+  <data name="text_config_enable_referral_url_blacklist" xml:space="preserve">
+    <value>Enable Referral Blacklist</value>
+  </data>
+  <data name="text_config_enable_search_highlighting" xml:space="preserve">
+    <value>Enable Search Result Highlighting</value>
+  </data>
+  <data name="text_config_referralblacklist" xml:space="preserve">
+    <value>Blacklist (';' separated values)</value>
+  </data>
+  <data name="text_config_enablecaptcha" xml:space="preserve">
+    <value>Enable Captcha for Comments</value>
+  </data>
+  <data name="text_subtitle" xml:space="preserve">
+    <value>Subtitle</value>
+  </data>
+  <data name="text_contact_email" xml:space="preserve">
+    <value>Contact E-mail</value>
+  </data>
+  <data name="text_external_base_url" xml:space="preserve">
+    <value>External Weblog URL</value>
+  </data>
+  <data name="text_copyright_owner" xml:space="preserve">
+    <value>Copyright Owner</value>
+  </data>
+  <data name="text_config_auto_pingback" xml:space="preserve">
+    <value>Enable Auto Pingback</value>
+  </data>
+  <data name="text_config_comment_api" xml:space="preserve">
+    <value>Enable Comment API</value>
+  </data>
+  <data name="text_config_blogger_api" xml:space="preserve">
+    <value>Enable Blogger/MovableType API</value>
+  </data>
+  <data name="text_config_edit_web_service" xml:space="preserve">
+    <value>Enable Edit Web Service</value>
+  </data>
+  <data name="text_config_config_web_service" xml:space="preserve">
+    <value>Enable Config Web Service</value>
+  </data>
+  <data name="text_config_trackback_service" xml:space="preserve">
+    <value>Enable Trackback Service</value>
+  </data>
+  <data name="text_config_pingback_service" xml:space="preserve">
+    <value>Enable Pingback Service</value>
+  </data>
+  <data name="text_config_default_theme" xml:space="preserve">
+    <value>Default Theme</value>
+  </data>
+  <data name="text_config_category_filter" xml:space="preserve">
+    <value>Category Filter for Main Page</value>
+  </data>
+  <data name="text_config_max_days_main_page" xml:space="preserve">
+    <value>Max. Days on Main Page</value>
+  </data>
+  <data name="text_config_time_zone" xml:space="preserve">
+    <value>Time-zone to use for display</value>
+  </data>
+  <data name="text_config_always_utc" xml:space="preserve">
+    <value>Always use UTC</value>
+  </data>
+  <data name="text_config_show_comment_counters" xml:space="preserve">
+    <value>Show comment counters</value>
+  </data>
+  <data name="text_config_description_in_aggregated_views" xml:space="preserve">
+    <value>Show only description in aggregated views</value>
+  </data>
+  <data name="text_config_enable_output_caching" xml:space="preserve">
+    <value>Enable output caching for start page</value>
+  </data>
+  <data name="text_config_enable_url_rewriting" xml:space="preserve">
+    <value>Enable URL rewriting</value>
+  </data>
+  <data name="text_config_smtp_server" xml:space="preserve">
+    <value>SMTP Server</value>
+  </data>
+  <data name="text_config_smtp_port" xml:space="preserve">
+    <value>SMTP Port</value>
+  </data>
+  <data name="text_config_notification_email" xml:space="preserve">
+    <value>Notification E-mail Address</value>
+  </data>
+  <data name="text_config_enable_smtp_auth" xml:space="preserve">
+    <value>Enable SMTP Basic Authentication</value>
+  </data>
+  <data name="text_config_smtp_username" xml:space="preserve">
+    <value>SMTP Username</value>
+  </data>
+  <data name="text_config_smtp_password" xml:space="preserve">
+    <value>SMTP Password</value>
+  </data>
+  <data name="text_config_notify_posts" xml:space="preserve">
+    <value>Posts</value>
+  </data>
+  <data name="text_config_notify_comments" xml:space="preserve">
+    <value>Comments</value>
+  </data>
+  <data name="text_config_notify_trackbacks" xml:space="preserve">
+    <value>Trackbacks</value>
+  </data>
+  <data name="text_config_notify_pingbacks" xml:space="preserve">
+    <value>Pingbacks</value>
+  </data>
+  <data name="text_config_notify_referrals" xml:space="preserve">
+    <value>Referrals</value>
+  </data>
+  <data name="text_config_main_max_days_rss" xml:space="preserve">
+    <value>Max. Days in Main RSS Feed</value>
+  </data>
+  <data name="text_config_main_rss_language" xml:space="preserve">
+    <value>RSS Language (example: en-us)</value>
+  </data>
+  <data name="text_config_other_max_entries_rss" xml:space="preserve">
+    <value>Max. Entries in Category/Comment RSS Feeds</value>
+  </data>
+  <data name="text_config_enable_mail_to_weblog" xml:space="preserve">
+    <value>Enable Mail To Weblog (change requires manual app reset)</value>
+  </data>
+  <data name="text_config_pop3_server" xml:space="preserve">
+    <value>POP3 Server</value>
+  </data>
+  <data name="text_password_repeat" xml:space="preserve">
+    <value>Repeat</value>
+  </data>
+  <data name="text_config_subject_prefix" xml:space="preserve">
+    <value>Subject Prefix</value>
+  </data>
+  <data name="text_config_poll_interval" xml:space="preserve">
+    <value>Poll Interval (s)</value>
+  </data>
+  <data name="text_config_inline_attached_pics" xml:space="preserve">
+    <value>Inline Attached Pictures</value>
+  </data>
+  <data name="text_config_max_thumb_height" xml:space="preserve">
+    <value>Maximum height for thumbnails</value>
+  </data>
+  <data name="text_config_endpoint" xml:space="preserve">
+    <value>Endpoint</value>
+  </data>
+  <data name="text_config_xss_enable" xml:space="preserve">
+    <value>Enable upstreaming RSS to XSS cloud</value>
+  </data>
+  <data name="text_config_update_interval" xml:space="preserve">
+    <value>Update Interval (s)</value>
+  </data>
+  <data name="text_config_rss_file_name" xml:space="preserve">
+    <value>RSS File Name</value>
+  </data>
+  <data name="text_save_settings" xml:space="preserve">
+    <value>Save Settings</value>
+  </data>
+  <data name="text_error_title_required" xml:space="preserve">
+    <value>'Title' is a required field and cannot be empty.</value>
+  </data>
+  <data name="text_error_contact_email_required" xml:space="preserve">
+    <value />
+  </data>
+  <data name="text_error_invalid_email" xml:space="preserve">
+    <value />
+  </data>
+  <data name="text_error_root_required" xml:space="preserve">
+    <value />
+  </data>
+  <data name="text_error_invalid_url" xml:space="preserve">
+    <value />
+  </data>
+  <data name="text_error_copyright_owner_required" xml:space="preserve">
+    <value />
+  </data>
+  <data name="text_error_max_days_required" xml:space="preserve">
+    <value />
+  </data>
+  <data name="text_error_max_days_range" xml:space="preserve">
+    <value />
+  </data>
+  <data name="text_referrers_title" xml:space="preserve">
+    <value>Referrers</value>
+  </data>
+  <data name="text_navigatorlinks_title" xml:space="preserve">
+    <value>Navigator Links</value>
+  </data>
+  <data name="text_eventlog_title" xml:space="preserve">
+    <value>Today's Events</value>
+  </data>
+  <data name="text_config_other_appearance" xml:space="preserve">
+    <value>Other appearance settings</value>
+  </data>
+  <data name="text_language" xml:space="preserve">
+    <value>Language</value>
+  </data>
+  <data name="tooltip_language" xml:space="preserve">
+    <value>Only select a language/culture other than the "Invariant" culture/language if you want to display this entry for readers with this language preference. Select "German" to display the entry to all German-language readers, select "German (Germany)" to display the entry to German-language readers who selected German as spoken in Germany as their language preference.</value>
+  </data>
+  <data name="text_config_max_entries_main_page" xml:space="preserve">
+    <value>Max. Entries on Main Page</value>
+  </data>
+  <data name="text_config_entries_per_category_page" xml:space="preserve">
+    <value>Entries per Page (when show all entries in categories is false)</value>
+  </data>
+  <data name="text_config_enable_blogroll_description" xml:space="preserve">
+    <value>Show description in Blogrolls</value>
+  </data>
+  <data name="text_config_entrytitle_as_link" xml:space="preserve">
+    <value>Show entrytitles as links</value>
+  </data>
+  <data name="text_config_comments" xml:space="preserve">
+    <value>Enable Comments</value>
+  </data>
+  <data name="text_config_main_max_entries_rss" xml:space="preserve">
+    <value>Max. Entries in Main RSS Feed</value>
+  </data>
+  <data name="text_config_always_comments_in_rss" xml:space="preserve">
+    <value>Include Full Content in Items that have Summary Descriptions</value>
+  </data>
+  <data name="text_config_enable_ftb" xml:space="preserve">
+    <value>Enable &lt;a href="http://www.freetextbox.com/"&gt;FreeTextBox&lt;/a&gt; for Editing</value>
+  </data>
+  <data name="text_config_enable_rss_footer" xml:space="preserve">
+    <value>Add footer to RSS items</value>
+  </data>
+  <data name="text_config_enable_clickthrough" xml:space="preserve">
+    <value>Enable Click-Through</value>
+  </data>
+  <data name="text_config_enable_aggregator_bugging" xml:space="preserve">
+    <value>Enable Webbugs for RSS</value>
+  </data>
+  <data name="text_admin_aggbugs" xml:space="preserve">
+    <value>Aggregator Activity</value>
+  </data>
+  <data name="text_admin_clickthrough" xml:space="preserve">
+    <value>Click-Through</value>
+  </data>
+  <data name="text_clickthrough_title" xml:space="preserve">
+    <value>Click-Through Statistics</value>
+  </data>
+  <data name="text_aggbug_title" xml:space="preserve">
+    <value>Aggregator Activity</value>
+  </data>
+  <data name="text_admin_crosspost" xml:space="preserve">
+    <value>Crosspost Referrals</value>
+  </data>
+  <data name="text_crosspost_title" xml:space="preserve">
+    <value>Edit Crosspost Sites</value>
+  </data>
+  <data name="text_sites_not_saved" xml:space="preserve">
+    <value>The site information has not yet been saved. Click the "Save Changes" button below to save the information.</value>
+  </data>
+  <data name="text_crosspost" xml:space="preserve">
+    <value>Crosspost</value>
+  </data>
+  <data name="text_profile_name" xml:space="preserve">
+    <value>Profile Name</value>
+  </data>
+  <data name="text_hostname" xml:space="preserve">
+    <value>Host Name</value>
+  </data>
+  <data name="text_port" xml:space="preserve">
+    <value>Port</value>
+  </data>
+  <data name="text_endpoint" xml:space="preserve">
+    <value>Endpoint</value>
+  </data>
+  <data name="text_test_site" xml:space="preserve">
+    <value>Test Site</value>
+  </data>
+  <data name="text_select_blog" xml:space="preserve">
+    <value>Select Blog</value>
+  </data>
+  <data name="text_apitype" xml:space="preserve">
+    <value>API Type</value>
+  </data>
+  <data name="text_crosspost_referrer_title" xml:space="preserve">
+    <value>Crosspost Referrers</value>
+  </data>
+  <data name="text_admin_crosspostsites" xml:space="preserve">
+    <value>Crosspost Sites</value>
+  </data>
+  <data name="text_config_enable_crosspost" xml:space="preserve">
+    <value>Enable Crossposting</value>
+  </data>
+  <data name="text_test_smtp" xml:space="preserve">
+    <value>Test SMTP Server</value>
+  </data>
+  <data name="text_config_category_all_entries" xml:space="preserve">
+    <value>Display All Entries in Category View</value>
+  </data>
+  <data name="text_admin_activity" xml:space="preserve">
+    <value>Activity</value>
+  </data>
+  <data name="text_activity_title" xml:space="preserve">
+    <value>Activity</value>
+  </data>
+  <data name="text_search" xml:space="preserve">
+    <value>Search</value>
+  </data>
+  <data name="text_search_query_title" xml:space="preserve">
+    <value>Searched for </value>
+  </data>
+  <data name="text_blog_url" xml:space="preserve">
+    <value>Weblog URL</value>
+  </data>
+  <data name="text_blog_software" xml:space="preserve">
+    <value>Weblog Software</value>
+  </data>
+  <data name="text_auto_fill" xml:space="preserve">
+    <value>Auto Fill</value>
+  </data>
+  <data name="text_config_encrypt_passwords" xml:space="preserve">
+    <value>Encrypt Login password</value>
+  </data>
+  <data name="text_config_mail_deletion" xml:space="preserve">
+    <value>Mail Deletion Policy</value>
+  </data>
+  <data name="text_config_delete_all_messages" xml:space="preserve">
+    <value>Delete all</value>
+  </data>
+  <data name="text_config_delete_processed_messages" xml:space="preserve">
+    <value>Only processed</value>
+  </data>
+  <data name="text_config_log_ignored_emails" xml:space="preserve">
+    <value>Log ignored emails?</value>
+  </data>
+  <data name="text_load_blogs" xml:space="preserve">
+    <value>Load blogs</value>
+  </data>
+  <data name="text_remove" xml:space="preserve">
+    <value>Remove</value>
+  </data>
+  <data name="text_enclosure" xml:space="preserve">
+    <value>RSS Enclosure</value>
+  </data>
+  <data name="text_comments_closed" xml:space="preserve">
+    <value>Comments are closed.</value>
+  </data>
+  <data name="text_allow_comments" xml:space="preserve">
+    <value>Allow comments</value>
+  </data>
+  <data name="text_publish" xml:space="preserve">
+    <value>Publish</value>
+  </data>
+  <data name="text_syndicate" xml:space="preserve">
+    <value>Syndicate</value>
+  </data>
+  <data name="text_options" xml:space="preserve">
+    <value>Options</value>
+  </data>
+  <data name="text_config_enable_mt_blacklist" xml:space="preserve">
+    <value>Enable &lt;a href="http://www.jayallen.org/comment_spam/"&gt;Movable Type Blacklist&lt;/a&gt;</value>
+  </data>
+  <data name="text_referrallist_more" xml:space="preserve">
+    <value>More...</value>
+  </data>
+  <data name="text_config_enable_title_permalink" xml:space="preserve">
+    <value>Use Post Title for Permalink (change requires manual app reset)</value>
+  </data>
+  <data name="text_config_enable_title_permalink_unique" xml:space="preserve">
+    <value>Use Unique Title (will include year, month, day in the path. This ensures that two posts with the same titles can be found)</value>
+  </data>
+  <data name="text_config_enable_title_permalink_spaces" xml:space="preserve">
+    <value>Use Spaces for Title Permalinks (will replace spaces with '+')</value>
+  </data>
+  <data name="text_no_category" xml:space="preserve">
+    <value>No Category</value>
+  </data>
+  <data name="text_config_enable_entry_referral" xml:space="preserve">
+    <value>Save referrals along with entries (not recommended for high traffic sites)</value>
+  </data>
+  <data name="text_go" xml:space="preserve">
+    <value>Go</value>
+  </data>
+  <data name="text_config_services_to_ping" xml:space="preserve">
+    <value>Services to Ping</value>
+  </data>
+  <data name="text_config_services_to_ping_description" xml:space="preserve">
+    <value>Pinging lets services know that you've updated your site and increases traffic to your blog. Pings are sent using the &lt;a href="http://www.xmlrpc.com/weblogsCom"&gt;XML-RPC Ping Interface&lt;/a&gt;</value>
+  </data>
+  <data name="text_config_comments_allowed" xml:space="preserve">
+    <value>days</value>
+  </data>
+  <data name="text_config_entry_edit_control" xml:space="preserve">
+    <value>Editor control adapter</value>
+  </data>
+  <data name="text_config_logBlockedReferrals" xml:space="preserve">
+    <value>Log blocked referrals</value>
+  </data>
+  <data name="text_config_show_comments_with_entry" xml:space="preserve">
+    <value>Show comments on PermaLink page (not recommended for high traffic blogs)</value>
+  </data>
+  <data name="text_admin_edit_user" xml:space="preserve">
+    <value>User Settings</value>
+  </data>
+  <data name="test_config_notification_newpost" xml:space="preserve">
+    <value>Notify when new posts has been added</value>
+  </data>
+  <data name="test_config_notification_allcomment" xml:space="preserve">
+    <value>Notify when comments has been added for ALL posts</value>
+  </data>
+  <data name="text_config_notification_owncomment" xml:space="preserve">
+    <value>Notify when comments has been added for OWN posts</value>
+  </data>
+  <data name="text_config_notification_allcomment" xml:space="preserve">
+    <value>Notify when comments has been added for ALL posts</value>
+  </data>
+  <data name="text_config_notification_newpost" xml:space="preserve">
+    <value>Notify when a new post has been added</value>
+  </data>
+  <data name="text_person_profilepage" xml:space="preserve">
+    <value>Profile page</value>
+  </data>
+  <data name="text_config_use_feed_scheme" xml:space="preserve">
+    <value>Use feed scheme (feed://) for syndication links</value>
+  </data>
+  <data name="text_config_content_lookahead_days" xml:space="preserve">
+    <value>Days in the future to include</value>
+  </data>
+  <data name="text_error_content_lookeahead_days_range" xml:space="preserve">
+    <value>Days in the future cannot be less than 0</value>
+  </data>
+  <data name="text_userclickthrough_title" xml:space="preserve">
+    <value>User Click-Through Statistics</value>
+  </data>
+  <data name="text_filters_col_expression" xml:space="preserve">
+    <value>Find...</value>
+  </data>
+  <data name="text_filters_col_mapto" xml:space="preserve">
+    <value>Replace with...</value>
+  </data>
+  <data name="text_filters_col_isregex" xml:space="preserve">
+    <value>Regular Expression</value>
+  </data>
+  <data name="text_filters_postProcessors" xml:space="preserve">
+    <value>If your Replacement text includes the expression $url( ), the text within the parentheses will be URL encoded.</value>
+  </data>
+  <data name="text_autosave" xml:space="preserve">
+    <value>Post autosaved:</value>
+  </data>
+  <data name="text_config_enable_auto_save" xml:space="preserve">
+    <value>Enable Auto Save</value>
+  </data>
+  <data name="text_config_require_comment_approval" xml:space="preserve">
+    <value>Comments require approval</value>
+  </data>
+  <data name="text_comments_require_approval" xml:space="preserve">
+    <value>All comments require the approval of the site owner before being displayed.</value>
+  </data>
+  <data name="text_config_comment_settings" xml:space="preserve">
+    <value>Comment settings</value>
+  </data>
+  <data name="text_config_comments_allow_html" xml:space="preserve">
+    <value>Allow Html in comments</value>
+  </data>
+  <data name="text_config_comments_allow_links" xml:space="preserve">
+    <value>Allow hyperlinks in comments</value>
+  </data>
+  <data name="text_comment_content_html" xml:space="preserve">
+    <value>Comment (Some html is allowed: &lt;code&gt;{0}&lt;/code&gt;) where the @ means "attribute." For example, you can use &amp;lt;a href="" title=""&amp;gt; or &amp;lt;blockquote cite="Scott"&amp;gt;.</value>
+  </data>
+  <data name="text_days_allowed_tags" xml:space="preserve">
+    <value>Allowed Html Tags</value>
+  </data>
+  <data name="text_config_enable_gravatar" xml:space="preserve">
+    <value>Allow Gravatar icons in comments</value>
+  </data>
+  <data name="text_config_no_gravatar_img" xml:space="preserve">
+    <value>No gravatar icon (ie: images/nogravatar.gif or http://...)</value>
+  </data>
+  <data name="text_config_enable_commentdayslimit" xml:space="preserve">
+    <value>Don't allow comments on posts older than</value>
+  </data>
+  <data name="text_days_expire_field" xml:space="preserve">
+    <value>Auto expire comments</value>
+  </data>
+  <data name="text_comments_html_field" xml:space="preserve">
+    <value>HTML in comments</value>
+  </data>
+  <data name="text_gravatar_field" xml:space="preserve">
+    <value>&lt;a href="http://www.gravatar.com" target="_blank"&gt;Gravatar&lt;/a&gt; icons</value>
+  </data>
+  <data name="text_comment_gravatarable" xml:space="preserve">
+    <value>(will show your &lt;a href="http://www.gravatar.com" target="_blank"&gt;gravatar&lt;/a&gt; icon)</value>
+  </data>
+  <data name="text_config_disableemaildisplay" xml:space="preserve">
+    <value>Never show email addresses (comments or RSS)</value>
+  </data>
+  <data name="text_config_gravatar_size" xml:space="preserve">
+    <value>How large of gravatar icons do you want (1-[80 default])</value>
+  </data>
+  <data name="text_config_gravatar_border" xml:space="preserve">
+    <value>Gravatar border color (ie: e0e0e0)</value>
+  </data>
+  <data name="text_config_gravatar_rating" xml:space="preserve">
+    <value>Maximum Gravatar ratings allowed on your blog</value>
+  </data>
+  <data name="text_admin_about" xml:space="preserve">
+    <value>About</value>
+  </data>
+  <data name="text_about_title" xml:space="preserve">
+    <value>About this Blog</value>
+  </data>
+  <data name="text_about_blogversion" xml:space="preserve">
+    <value>Your dasBlog version</value>
+  </data>
+  <data name="text_about_corebloginfo" xml:space="preserve">
+    <value>Core blog info</value>
+  </data>
+  <data name="text_about_uptime" xml:space="preserve">
+    <value>Service uptime</value>
+  </data>
+  <data name="text_about_cacheloaded" xml:space="preserve">
+    <value>Cache objects loaded</value>
+  </data>
+  <data name="text_about_aspnet" xml:space="preserve">
+    <value>Asp.net version</value>
+  </data>
+  <data name="text_about_macrobloginfo" xml:space="preserve">
+    <value>Macros available</value>
+  </data>
+  <data name="text_days_comments_allowed_invalid" xml:space="preserve">
+    <value>Please enter a valid positive integer for the number of days comments are allowed.</value>
+  </data>
+  <data name="text_send_an_email" xml:space="preserve">
+    <value>Send me an email</value>
+  </data>
+  <data name="text_about_cacheinfo" xml:space="preserve">
+    <value>Cached items</value>
+  </data>
+  <data name="text_config_enablecocomment" xml:space="preserve">
+    <value>Enable support for the CoComment service</value>
+  </data>
+  <data name="text_config_enablespamblocking" xml:space="preserve">
+    <value>Enable spam blocking service (Akismet)</value>
+  </data>
+  <data name="text_config_spamblockingapikey" xml:space="preserve">
+    <value>Spam blocking service API key</value>
+  </data>
+  <data name="text_reportspam_confirm" xml:space="preserve">
+    <value>Are you sure you want to delete and report this item as SPAM?</value>
+  </data>
+  <data name="text_spamstate_notchecked" xml:space="preserve">
+    <value>This comment has not been screened by an external service.</value>
+  </data>
+  <data name="text_spamstate_notspam" xml:space="preserve">
+    <value>This comment was screened by an external service and is considered a valid contribution.</value>
+  </data>
+  <data name="text_spamstate_spam" xml:space="preserve">
+    <value>This comment was screened by an external service and is considered SPAM.</value>
+  </data>
+  <data name="text_comment_potential_spam" xml:space="preserve">
+    <value>Your comment has been received and is under review for potential violation of site guidelines. Do not re-submit.</value>
+  </data>
+  <data name="text_daily_activity_report" xml:space="preserve">
+    <value>Daily Activity Report</value>
+  </data>
+  <data name="text_config_ssl_smtp" xml:space="preserve">
+    <value>Send using SSL</value>
+  </data>
+  <data name="text_activity_click_throughs" xml:space="preserve">
+    <value>Click-Throughs</value>
+  </data>
+  <data name="text_activity_clicks" xml:space="preserve">
+    <value>Clicks</value>
+  </data>
+  <data name="text_activity_hits" xml:space="preserve">
+    <value>Hits</value>
+  </data>
+  <data name="text_activity_read_posts" xml:space="preserve">
+    <value>Read Posts</value>
+  </data>
+  <data name="text_activity_referrer_urls" xml:space="preserve">
+    <value>Referrer Urls</value>
+  </data>
+  <data name="text_activity_total" xml:space="preserve">
+    <value>Total</value>
+  </data>
+  <data name="text_activity_user_agent" xml:space="preserve">
+    <value>User Agent</value>
+  </data>
+  <data name="text_activity_user_domains" xml:space="preserve">
+    <value>User Domains</value>
+  </data>
+  <data name="text_activity_internet_searches" xml:space="preserve">
+    <value>Internet Searches</value>
+  </data>
+  <data name="text_activity_summary" xml:space="preserve">
+    <value>Summary</value>
+  </data>
+  <data name="text_new_entry" xml:space="preserve">
+    <value>New Entry</value>
+  </data>
+  <data name="text_profile" xml:space="preserve">
+    <value>Profile</value>
+  </data>
+  <data name="text_captcha_error" xml:space="preserve">
+    <value>Please enter the code shown</value>
+  </data>
+  <data name="text_save_spam" xml:space="preserve">
+    <value>Save suspected spam for moderation</value>
+  </data>
+  <data name="text_delete_spam" xml:space="preserve">
+    <value>Delete suspected spam immediately</value>
+  </data>
+  <data name="text_activity_rss_url" xml:space="preserve">
+    <value>Activity RSS Url:</value>
+  </data>
+  <data name="text_config_activity_rss_field" xml:space="preserve">
+    <value>ActivityRSS</value>
+  </data>
+  <data name="text_config_enable_activityrss" xml:space="preserve">
+    <value>Enable ActivityRSS</value>
+  </data>
 </root>
\ No newline at end of file
Index: source/newtelligence.DasBlog.Web/Web.config
===================================================================
--- source/newtelligence.DasBlog.Web/Web.config	(revision 707)
+++ source/newtelligence.DasBlog.Web/Web.config	(working copy)
@@ -151,6 +151,7 @@
 			<add verb="GET" path="googleSitemap.ashx" type="newtelligence.DasBlog.Web.Services.GoogleSitemapHandler, newtelligence.DasBlog.Web.Services"/>
 			<add verb="GET" path="timeline.ashx" type="newtelligence.DasBlog.Web.Services.TimelineHandler, newtelligence.DasBlog.Web.Services"/>
 			<add verb="*" path="*.blogtemplate" type="System.Web.HttpForbiddenHandler"/>
+      <add verb="*" path="activityrss.ashx" type="newtelligence.DasBlog.Web.Services.ActivityRssHandler, newtelligence.DasBlog.Web.Services"/>
 		</httpHandlers>
 		<webServices>
 			<protocols>
