/// <summary> /// not sure what this is about but it is legacy /// TODO: reconsider when strategy for handling pingback in legacy site.config is decided. /// </summary> private WeblogUpdatePingInfo MaybeBuildWeblogPingInfo() { var fakePingServices = new PingServiceCollection { new PingService { Endpoint = "http://ping.feedburner.com" , Name = "FeedBurner" , Url = "http://www.feedburner.com" , PingApi = PingService.PingApiType.Basic } }; return(Pass <PingServiceCollection>( () => dasBlogSettings.SiteConfiguration.PingServices , () => fakePingServices , (a, b) => ArePingServiceCollectionsEqual((PingServiceCollection)a, (PingServiceCollection)b) ).Count > 0 ? new WeblogUpdatePingInfo( Pass(() => dasBlogSettings.SiteConfiguration.Title, () => opts.Title), Pass(() => dasBlogSettings.GetBaseUrl(), () => SettingsUtils.GetBaseUrl(opts.Root)), Pass(() => dasBlogSettings.GetBaseUrl(), () => SettingsUtils.GetBaseUrl(opts.Root)), Pass(() => dasBlogSettings.RsdUrl, () => SettingsUtils.RelativeToRoot("feed/rsd", opts.Root)), Pass <PingServiceCollection>( () => dasBlogSettings.SiteConfiguration.PingServices , () => fakePingServices , (a, b) => ArePingServiceCollectionsEqual((PingServiceCollection)a, (PingServiceCollection)b) ) ) : null); }
/// <summary> /// not sure what this is about but it is legacy /// TODO: reconsider when strategy for handling pingback in legacy site.config is decided. /// </summary> private WeblogUpdatePingInfo MaybeBuildWeblogPingInfo() { var fakePingServices = new PingServiceCollection { new PingService { Endpoint = "http://ping.feedburner.com" , Name = "FeedBurner" , Url = "http://www.feedburner.com" , PingApi = PingService.PingApiType.Basic } }; return (fakePingServices.Count > 0 ? new WeblogUpdatePingInfo( opts.Title, SettingsUtils.GetBaseUrl(opts.Root), SettingsUtils.GetBaseUrl(opts.Root), SettingsUtils.RelativeToRoot("feed/rsd", opts.Root), fakePingServices ) : null); }
public WeblogUpdatePingInfo(string blogName, string blogUrl, string checkUrl, string rssUrl, PingServiceCollection pingServices) { this.blogName = blogName; this.blogUrl = blogUrl; this.checkUrl = checkUrl; this.rssUrl = rssUrl; this.pingServices = pingServices; /*this.notifyBloGs = notifyBloGs; this.notifyWeblogsCom = notifyWeblogsCom; this.notifyTechnorati = notifyTechnorati;*/ }
static PingServiceCollection GetPingServiceInfo() { PingServiceCollection pingServiceCollection = new PingServiceCollection(); string fullPath = SiteConfig.GetConfigPathFromCurrentContext() + "PingServices.xml"; if (File.Exists(fullPath)) { FileStream fileStream = FileUtils.OpenForRead(fullPath); if (fileStream != null) { try { XmlSerializer ser = new XmlSerializer(typeof(PingServiceCollection)); StreamReader reader = new StreamReader(fileStream); pingServiceCollection = (PingServiceCollection)ser.Deserialize(reader); // add to cache DataCache cache = CacheFactory.GetCache(); cache.Insert("PingServices", pingServiceCollection, new CacheDependency(fullPath)); } catch (Exception e) { ErrorTrace.Trace(TraceLevel.Error, e); } finally { fileStream.Close(); } } } // add some defaults if (pingServiceCollection.Count == 0) { pingServiceCollection = PingService.GetDefaultPingServices(); } return(pingServiceCollection); }
/// <summary> /// not sure what this is about but it is legacy /// TODO: reconsider when strategy for handling pingback in legacy site.config is decided. /// </summary> private WeblogUpdatePingInfo MaybeBuildWeblogPingInfo() { var fakePingServices = new PingServiceCollection { new PingService { Endpoint = "http://ping.feedburner.com", Name = "FeedBurner", Url = "http://www.feedburner.com", PingApi = PingService.PingApiType.Basic } }; return (fakePingServices.Count > 0 ? new WeblogUpdatePingInfo(dasBlogSettings.SiteConfiguration.Title, dasBlogSettings.SiteConfiguration.Root, dasBlogSettings.PingBackUrl, dasBlogSettings.RssUrl, fakePingServices) : null); }
private bool ArePingServiceCollectionsEqual(PingServiceCollection aze, PingServiceCollection beeze) { if (aze == null || beeze == null || aze.Count != beeze.Count) { return(false); } for (int ii = 0; ii < aze.Count; ii++) { (var a, var b) = (aze[ii], beeze[ii]); if ( a.Endpoint != b.Endpoint || a.Name != b.Name || a.Url != b.Url || a.PingApi != b.PingApi ) { return(false); } } return(true); }
protected void buttonSave_Click(object sender, EventArgs e) { if (!Page.IsValid) { // There were validation errors, save client states. CleanGravatar(); CleanAutoExpire(); CleanHtmlComments(); CleanGeoRss(); return; } SharedBasePage requestPage = Page as SharedBasePage; SiteConfig siteConfig = requestPage.SiteConfig; siteConfig.Contact = textContact.Text; siteConfig.Copyright = textCopyright.Text; siteConfig.FrontPageCategory = textFrontPageCategory.Text; siteConfig.FrontPageDayCount = int.Parse(textFrontPageDayCount.Text); siteConfig.FrontPageEntryCount = int.Parse(textFrontPageEntryCount.Text); siteConfig.EntriesPerPage = int.Parse(textEntriesPerPage.Text); try { siteConfig.ContentLookaheadDays = int.Parse(textContentLookaheadDays.Text); } catch (FormatException) { siteConfig.ContentLookaheadDays = 0; } siteConfig.RssDayCount = int.Parse(textMainMaxDaysInRss.Text); siteConfig.RssMainEntryCount = int.Parse(textMainMaxEntriesInRss.Text); siteConfig.RssEntryCount = int.Parse(textOtherMaxEntriesInRss.Text); siteConfig.AlwaysIncludeContentInRSS = checkAlwaysIncludeContentInRSS.Checked; siteConfig.EnableRssItemFooters = checkEnableRSSItemFooter.Checked; siteConfig.RssItemFooter = textRSSItemFooter.Text; siteConfig.EnablePop3 = checkPop3Enabled.Checked; siteConfig.Pop3Interval = int.Parse(textPop3Interval.Text); siteConfig.Pop3Server = textPop3Server.Text; siteConfig.Pop3SubjectPrefix = textPop3SubjectPrefix.Text; siteConfig.Pop3Username = textPop3Username.Text; if (textPop3Password.Text.Length > 0 && textPop3Password.Text != passwordPlaceHolder) { siteConfig.Pop3Password = textPop3Password.Text; } siteConfig.Pop3DeleteAllMessages = mailDeletionAll.Checked; siteConfig.Pop3LogIgnoredEmails = logIgnoredEmails.Checked; siteConfig.EnableXSSUpstream = checkXssEnabled.Checked; siteConfig.XSSUpstreamEndpoint = textXssEndpoint.Text; siteConfig.XSSUpstreamInterval = int.Parse(textXssInterval.Text); if (textXssPassword.Text.Length > 0 && textXssPassword.Text != passwordPlaceHolder) { siteConfig.XSSUpstreamPassword = textXssPassword.Text; } siteConfig.XSSUpstreamUsername = textXssUsername.Text; siteConfig.XSSRSSFilename = textXssRssFilename.Text; siteConfig.Root = textRoot.Text; siteConfig.SmtpServer = textSmtpServer.Text; siteConfig.SmtpPort = int.Parse(textSmtpPort.Text); siteConfig.UseSSLForSMTP = checkUseSSLForSMTP.Checked; siteConfig.NotificationEMailAddress = textNotificationEmailAddress.Text; siteConfig.SendCommentsByEmail = checkComments.Checked; siteConfig.EnableCoComment = checkEnableCoComment.Checked; siteConfig.SendPingbacksByEmail = checkPingbacks.Checked; siteConfig.SendReferralsByEmail = checkReferrals.Checked; siteConfig.SendTrackbacksByEmail = checkTrackbacks.Checked; siteConfig.SendPostsByEmail = checkPosts.Checked; siteConfig.EnableAutoPingback = checkEnableAutoPingback.Checked; siteConfig.EnableBloggerApi = checkEnableBloggerApi.Checked; siteConfig.EnableComments = checkEnableComments.Checked; siteConfig.EnableCommentApi = checkEnableCommentApi.Checked; siteConfig.ShowCommentsWhenViewingEntry = checkShowCommentsWhenViewingEntry.Checked; siteConfig.EnableConfigEditService = checkEnableConfigEditService.Checked; siteConfig.EnableEditService = checkEnableEditService.Checked; siteConfig.EnableAutoSave = checkEnableAutoSave.Checked; siteConfig.EnableTrackbackService = checkEnableTrackbackService.Checked; siteConfig.EnablePingbackService = checkEnablePingbackService.Checked; siteConfig.EnableClickThrough = checkEnableClickThrough.Checked; siteConfig.EnableAggregatorBugging = checkEnableAggregatorBugging.Checked; siteConfig.Subtitle = textSubtitle.Text; siteConfig.Title = textTitle.Text; siteConfig.ShowCommentCount = checkShowCommentCounters.Checked; siteConfig.Pop3InlineAttachedPictures = checkPop3InlineAttachedPictures.Checked; siteConfig.Pop3InlinedAttachedPicturesThumbHeight = int.Parse(textPop3AttachedPicturesPictureThumbnailHeight.Text); siteConfig.ShowItemDescriptionInAggregatedViews = checkShowItemDescriptionInAggregatedViews.Checked; siteConfig.EnableStartPageCaching = checkEnableStartPageCaching.Checked; siteConfig.EnableBlogrollDescription = checkEnableBlogrollDescription.Checked; siteConfig.EnableUrlRewriting = checkEnableUrlRewriting.Checked; siteConfig.DisplayTimeZoneIndex = Convert.ToInt32(listTimeZones.SelectedValue); siteConfig.AdjustDisplayTimeZone = !checkUseUTC.Checked; siteConfig.EntryTitleAsLink = checkEntryTitleAsLink.Checked; siteConfig.EnableCrossposts = checkEnableCrosspost.Checked; if (textPassword.Text.Length > 0 && textPassword.Text != passwordPlaceHolder) { SiteSecurity.SetPassword(requestPage.User.Identity.Name, textPassword.Text); } siteConfig.CategoryAllEntries = checkCategoryAllEntries.Checked; requestPage.UserTheme = siteConfig.Theme = listThemes.SelectedValue; siteConfig.ReferralUrlBlackList = textReferralBlacklist.Text.TrimEnd(';'); siteConfig.EnableReferralUrlBlackList = checkReferralUrlBlacklist.Checked; siteConfig.EnableCaptcha = checkCaptchaEnabled.Checked; siteConfig.EnableReferralUrlBlackList404s = checkReferralBlacklist404s.Checked; siteConfig.ChannelImageUrl = textRSSChannelImage.Text; siteConfig.EnableTitlePermaLink = checkEnableTitlePermaLink.Checked; siteConfig.EnableTitlePermaLinkUnique = checkEnableTitlePermaLinkUnique.Checked; siteConfig.EnableTitlePermaLinkSpaces = checkEnableTitlePermaLinkSpaces.Checked; siteConfig.EncryptLoginPassword = checkEnableEncryptLoginPassword.Checked; siteConfig.EnableSmtpAuthentication = checkEnableSmtpAuthentication.Checked; siteConfig.SmtpUserName = textSmtpUsername.Text; if (textSmtpPassword.Text.Length > 0 && textSmtpPassword.Text != passwordPlaceHolder) { siteConfig.SmtpPassword = textSmtpPassword.Text; } siteConfig.RssLanguage = textRssLanguage.Text; siteConfig.EnableSearchHighlight = checkEnableSearchHighlight.Checked; siteConfig.EnableEntryReferrals = checkEnableEntryReferral.Checked; siteConfig.FeedBurnerName = textFeedBurnerName.Text.Trim(); siteConfig.UseFeedSchemeForSyndication = checkUseFeedScheme.Checked; siteConfig.LogBlockedReferrals = checkLogBlockedReferrals.Checked; siteConfig.EnableSpamBlockingService = checkSpamBlockingEnabled.Checked; siteConfig.SpamBlockingServiceApiKey = textSpamBlockingApiKey.Text; siteConfig.EnableSpamModeration = (optionSpamHandling.SelectedValue != SPAM_OPTION_DELETE); siteConfig.EnableCommentDays = checkEnableCommentDays.Checked; siteConfig.HtmlTidyContent = checkAttemptToHtmlTidyContent.Checked; siteConfig.ResolveCommenterIP = checkResolveCommenterIP.Checked; siteConfig.TitlePermalinkSpaceReplacement = dropDownTitlePermalinkReplacementCharacter.SelectedValue; if (checkEnableCommentDays.Checked) { try { int days = Convert.ToInt32(textDaysCommentsAllowed.Text); if (days > 0) { siteConfig.DaysCommentsAllowed = days; } } catch (FormatException) { siteConfig.DaysCommentsAllowed = 60; } } else { siteConfig.DaysCommentsAllowed = 60; } // comments approval siteConfig.CommentsRequireApproval = checkCommentsRequireApproval.Checked; // removed the ability to edit the html tags, which are allowed for now foreach (ListItem li in checkBoxListAllowedTags.Items) { ValidTag tag = siteConfig.AllowedTags[li.Value]; if (tag != null) { tag.IsAllowed = li.Selected; } } // comments allow html siteConfig.CommentsAllowHtml = checkAllowHtml.Checked; // comments allow Gravatar and alt path GravatarPopulateConfig(); // supress email address display siteConfig.SupressEmailAddressDisplay = checkDisableEmailDisplay.Checked; // enable daily report email siteConfig.EnableDailyReportEmail = checkDailyReport.Checked; PingServiceCollection savePingServices = new PingServiceCollection(); foreach (PingService pingService in PingServiceCollection) { if (checkBoxListPingServices.Items.FindByValue(pingService.Endpoint).Selected) { savePingServices.Add(pingService); } } siteConfig.PingServices = savePingServices; siteConfig.EntryEditControl = drpEntryEditControl.SelectedValue; // GeoRSS stuff. siteConfig.EnableGeoRss = checkEnableGeoRss.Checked; if (checkEnableGeoRss.Checked) { siteConfig.EnableDefaultLatLongForNonGeoCodedPosts = checkEnableDefaultLatLongForNonGeoCodedPosts.Checked; if (checkEnableDefaultLatLongForNonGeoCodedPosts.Checked) { double latitude; if (double.TryParse(textDefaultLatitude.Text, NumberStyles.Float, CultureInfo.InvariantCulture, out latitude)) { siteConfig.DefaultLatitude = latitude; } double longitude; if (double.TryParse(textDefaultLongitude.Text, NumberStyles.Float, CultureInfo.InvariantCulture, out longitude)) { siteConfig.DefaultLongitude = longitude; } } siteConfig.EnableGoogleMaps = checkEnableGoogleMaps.Checked; if (checkEnableGoogleMaps.Checked) { siteConfig.GoogleMapsApiKey = textGoogleMapsApi.Text; } } // open id stuff siteConfig.AllowOpenIdAdmin = chkAllowOpenIdAdmin.Checked; siteConfig.AllowOpenIdComments = chkAllowOpenIdCommenter.Checked; siteConfig.BypassSpamOpenIdComment = chkBypassSpamOpenIdCommenter.Checked; SiteConfig.Save(siteConfig); if (siteConfig.EnableReferralUrlBlackList && siteConfig.ReferralUrlBlackList.Length != 0) { ReferralBlackListFactory.AddBlacklist(new ReferralUrlBlacklist(), siteConfig.ReferralUrlBlackList); } else { ReferralBlackListFactory.RemoveBlacklist(typeof(ReferralUrlBlacklist)); } requestPage.Redirect(Page.Request.Url.AbsoluteUri); }
static PingServiceCollection GetPingServiceInfo() { PingServiceCollection pingServiceCollection = new PingServiceCollection(); string fullPath = SiteConfig.GetConfigPathFromCurrentContext() + "PingServices.xml"; if (File.Exists(fullPath)) { FileStream fileStream = FileUtils.OpenForRead(fullPath); if (fileStream != null) { try { XmlSerializer ser = new XmlSerializer(typeof(PingServiceCollection)); StreamReader reader = new StreamReader(fileStream); pingServiceCollection = (PingServiceCollection)ser.Deserialize(reader); // add to cache DataCache cache = CacheFactory.GetCache(); cache.Insert("PingServices", pingServiceCollection, new CacheDependency(fullPath)); } catch (Exception e) { ErrorTrace.Trace(TraceLevel.Error, e); } finally { fileStream.Close(); } } } // add some defaults if (pingServiceCollection.Count == 0) { pingServiceCollection = PingService.GetDefaultPingServices(); } return pingServiceCollection; }
protected void buttonSave_Click(object sender, EventArgs e) { if (!Page.IsValid) { // There were validation errors, save client states. CleanGravatar(); CleanAutoExpire(); CleanHtmlComments(); CleanGeoRss(); return; } SharedBasePage requestPage = Page as SharedBasePage; SiteConfig siteConfig = requestPage.SiteConfig; siteConfig.Contact = textContact.Text; siteConfig.Copyright = textCopyright.Text; siteConfig.FrontPageCategory = textFrontPageCategory.Text; siteConfig.FrontPageDayCount = int.Parse(textFrontPageDayCount.Text); siteConfig.FrontPageEntryCount = int.Parse(textFrontPageEntryCount.Text); siteConfig.EntriesPerPage = int.Parse(textEntriesPerPage.Text); try { siteConfig.ContentLookaheadDays = int.Parse(textContentLookaheadDays.Text); } catch (FormatException) { siteConfig.ContentLookaheadDays = 0; } siteConfig.RssDayCount = int.Parse(textMainMaxDaysInRss.Text); siteConfig.RssMainEntryCount = int.Parse(textMainMaxEntriesInRss.Text); siteConfig.RssEntryCount = int.Parse(textOtherMaxEntriesInRss.Text); siteConfig.AlwaysIncludeContentInRSS = checkAlwaysIncludeContentInRSS.Checked; siteConfig.EnableRssItemFooters = checkEnableRSSItemFooter.Checked; siteConfig.RssItemFooter = textRSSItemFooter.Text; siteConfig.RSSEndPointRewrite = txtRSSEndPointRewrite.Text; siteConfig.EnablePop3 = checkPop3Enabled.Checked; siteConfig.Pop3Interval = int.Parse(textPop3Interval.Text); siteConfig.Pop3Server = textPop3Server.Text; siteConfig.Pop3SubjectPrefix = textPop3SubjectPrefix.Text; siteConfig.Pop3Username = textPop3Username.Text; if (textPop3Password.Text.Length > 0 && textPop3Password.Text != passwordPlaceHolder) { siteConfig.Pop3Password = textPop3Password.Text; } siteConfig.Pop3DeleteAllMessages = mailDeletionAll.Checked; siteConfig.Pop3LogIgnoredEmails = logIgnoredEmails.Checked; siteConfig.EnableXSSUpstream = checkXssEnabled.Checked; siteConfig.XSSUpstreamEndpoint = textXssEndpoint.Text; siteConfig.XSSUpstreamInterval = int.Parse(textXssInterval.Text); if (textXssPassword.Text.Length > 0 && textXssPassword.Text != passwordPlaceHolder) { siteConfig.XSSUpstreamPassword = textXssPassword.Text; } siteConfig.XSSUpstreamUsername = textXssUsername.Text; siteConfig.XSSRSSFilename = textXssRssFilename.Text; siteConfig.Root = textRoot.Text; siteConfig.SmtpServer = textSmtpServer.Text; siteConfig.SmtpPort = int.Parse(textSmtpPort.Text); siteConfig.UseSSLForSMTP = checkUseSSLForSMTP.Checked; siteConfig.NotificationEMailAddress = textNotificationEmailAddress.Text; siteConfig.SendCommentsByEmail = checkComments.Checked; siteConfig.EnableCoComment = checkEnableCoComment.Checked; siteConfig.SendPingbacksByEmail = checkPingbacks.Checked; siteConfig.SendReferralsByEmail = checkReferrals.Checked; siteConfig.SendTrackbacksByEmail = checkTrackbacks.Checked; siteConfig.SendPostsByEmail = checkPosts.Checked; siteConfig.EnableAutoPingback = checkEnableAutoPingback.Checked; siteConfig.EnableBloggerApi = checkEnableBloggerApi.Checked; siteConfig.EnableComments = checkEnableComments.Checked; siteConfig.EnableCommentApi = checkEnableCommentApi.Checked; siteConfig.ShowCommentsWhenViewingEntry = checkShowCommentsWhenViewingEntry.Checked; siteConfig.EnableConfigEditService = checkEnableConfigEditService.Checked; siteConfig.EnableEditService = checkEnableEditService.Checked; siteConfig.EnableAutoSave = checkEnableAutoSave.Checked; siteConfig.EnableTrackbackService = checkEnableTrackbackService.Checked; siteConfig.EnablePingbackService = checkEnablePingbackService.Checked; siteConfig.EnableClickThrough = checkEnableClickThrough.Checked; siteConfig.EnableAggregatorBugging = checkEnableAggregatorBugging.Checked; siteConfig.Subtitle = textSubtitle.Text; siteConfig.Title = textTitle.Text; siteConfig.ShowCommentCount = checkShowCommentCounters.Checked; siteConfig.Pop3InlineAttachedPictures = checkPop3InlineAttachedPictures.Checked; siteConfig.Pop3InlinedAttachedPicturesThumbHeight = int.Parse(textPop3AttachedPicturesPictureThumbnailHeight.Text); siteConfig.ShowItemDescriptionInAggregatedViews = checkShowItemDescriptionInAggregatedViews.Checked; siteConfig.EnableStartPageCaching = checkEnableStartPageCaching.Checked; siteConfig.EnableBlogrollDescription = checkEnableBlogrollDescription.Checked; siteConfig.EnableUrlRewriting = checkEnableUrlRewriting.Checked; siteConfig.DisplayTimeZoneIndex = Convert.ToInt32(listTimeZones.SelectedValue); siteConfig.AdjustDisplayTimeZone = !checkUseUTC.Checked; siteConfig.EntryTitleAsLink = checkEntryTitleAsLink.Checked; siteConfig.EnableCrossposts = checkEnableCrosspost.Checked; if (textPassword.Text.Length > 0 && textPassword.Text != passwordPlaceHolder) { SiteSecurity.SetPassword(requestPage.User.Identity.Name, textPassword.Text); } siteConfig.CategoryAllEntries = checkCategoryAllEntries.Checked; requestPage.UserTheme = siteConfig.Theme = listThemes.SelectedValue; siteConfig.ReferralUrlBlackList = textReferralBlacklist.Text.TrimEnd(';'); siteConfig.EnableReferralUrlBlackList = checkReferralUrlBlacklist.Checked; siteConfig.EnableCaptcha = checkCaptchaEnabled.Checked; siteConfig.EnableReferralUrlBlackList404s = checkReferralBlacklist404s.Checked; siteConfig.ChannelImageUrl = textRSSChannelImage.Text; siteConfig.EnableTitlePermaLink = checkEnableTitlePermaLink.Checked; siteConfig.EnableTitlePermaLinkUnique = checkEnableTitlePermaLinkUnique.Checked; siteConfig.EnableTitlePermaLinkSpaces = checkEnableTitlePermaLinkSpaces.Checked; siteConfig.EncryptLoginPassword = checkEnableEncryptLoginPassword.Checked; siteConfig.EnableSmtpAuthentication = checkEnableSmtpAuthentication.Checked; siteConfig.SmtpUserName = textSmtpUsername.Text; if (textSmtpPassword.Text.Length > 0 && textSmtpPassword.Text != passwordPlaceHolder) { siteConfig.SmtpPassword = textSmtpPassword.Text; } siteConfig.RssLanguage = textRssLanguage.Text; siteConfig.EnableSearchHighlight = checkEnableSearchHighlight.Checked; siteConfig.EnableEntryReferrals = checkEnableEntryReferral.Checked; siteConfig.FeedBurnerName = textFeedBurnerName.Text.Trim(); siteConfig.UseFeedSchemeForSyndication = checkUseFeedScheme.Checked; siteConfig.LogBlockedReferrals = checkLogBlockedReferrals.Checked; siteConfig.EnableSpamBlockingService = checkSpamBlockingEnabled.Checked; siteConfig.SpamBlockingServiceApiKey = textSpamBlockingApiKey.Text; siteConfig.EnableSpamModeration = (optionSpamHandling.SelectedValue != SPAM_OPTION_DELETE); siteConfig.EnableCommentDays = checkEnableCommentDays.Checked; siteConfig.HtmlTidyContent = checkAttemptToHtmlTidyContent.Checked; siteConfig.ResolveCommenterIP = checkResolveCommenterIP.Checked; siteConfig.TitlePermalinkSpaceReplacement = dropDownTitlePermalinkReplacementCharacter.SelectedValue; if (checkEnableCommentDays.Checked) { try { int days = Convert.ToInt32(textDaysCommentsAllowed.Text); if (days > 0) { siteConfig.DaysCommentsAllowed = days; } } catch (FormatException) { siteConfig.DaysCommentsAllowed = 60; } } else { siteConfig.DaysCommentsAllowed = 60; } // comments approval siteConfig.CommentsRequireApproval = checkCommentsRequireApproval.Checked; // removed the ability to edit the html tags, which are allowed for now foreach (ListItem li in checkBoxListAllowedTags.Items) { ValidTag tag = siteConfig.AllowedTags[li.Value]; if (tag != null) { tag.IsAllowed = li.Selected; } } // comments allow html siteConfig.CommentsAllowHtml = checkAllowHtml.Checked; // comments allow Gravatar and alt path GravatarPopulateConfig(); // supress email address display siteConfig.SupressEmailAddressDisplay = checkDisableEmailDisplay.Checked; // enable daily report email siteConfig.EnableDailyReportEmail = checkDailyReport.Checked; PingServiceCollection savePingServices = new PingServiceCollection(); foreach (PingService pingService in PingServiceCollection) { if (checkBoxListPingServices.Items.FindByValue(pingService.Endpoint).Selected) { savePingServices.Add(pingService); } } siteConfig.PingServices = savePingServices; siteConfig.EntryEditControl = drpEntryEditControl.SelectedValue; // GeoRSS stuff. siteConfig.EnableGeoRss = checkEnableGeoRss.Checked; if (checkEnableGeoRss.Checked) { siteConfig.EnableDefaultLatLongForNonGeoCodedPosts = checkEnableDefaultLatLongForNonGeoCodedPosts.Checked; if (checkEnableDefaultLatLongForNonGeoCodedPosts.Checked) { double latitude; if (double.TryParse(textDefaultLatitude.Text, NumberStyles.Float, CultureInfo.InvariantCulture, out latitude)) { siteConfig.DefaultLatitude = latitude; } double longitude; if (double.TryParse(textDefaultLongitude.Text, NumberStyles.Float, CultureInfo.InvariantCulture, out longitude)) { siteConfig.DefaultLongitude = longitude; } } siteConfig.EnableGoogleMaps = checkEnableGoogleMaps.Checked; if (checkEnableGoogleMaps.Checked) { siteConfig.GoogleMapsApiKey = textGoogleMapsApi.Text; } } // open id stuff siteConfig.AllowOpenIdAdmin = chkAllowOpenIdAdmin.Checked; siteConfig.AllowOpenIdComments = chkAllowOpenIdCommenter.Checked; siteConfig.BypassSpamOpenIdComment = chkBypassSpamOpenIdCommenter.Checked; siteConfig.AMPPagesEnabled = checkAmpEnabled.Checked; SiteConfig.Save(siteConfig); SeoMetaTags smt = new SeoMetaTags().GetMetaTags(); smt.MetaDescription = txtMetaDescription.Text; smt.MetaKeywords = txtMetaKeywords.Text; smt.TwitterCard = txtTwitterCard.Text; smt.TwitterSite = txtTwitterSite.Text; smt.TwitterCreator = txtTwitterCreator.Text; smt.TwitterImage = txtTwitterImage.Text; smt.FaceBookAdmins = txtFaceBookAdmins.Text; smt.FaceBookAppID = txtFaceBookAppID.Text; SeoMetaTags.Save(smt); if (siteConfig.EnableReferralUrlBlackList && siteConfig.ReferralUrlBlackList.Length != 0) { ReferralBlackListFactory.AddBlacklist(new ReferralUrlBlacklist(), siteConfig.ReferralUrlBlackList); } else { ReferralBlackListFactory.RemoveBlacklist(typeof(ReferralUrlBlacklist)); } requestPage.Redirect(Page.Request.Url.AbsoluteUri); }