protected void Page_Load(object sender, EventArgs e) { if (SiteSecurity.IsInRole("admin") == false) { Response.Redirect("~/FormatPage.aspx?path=SiteConfig/accessdenied.format.html"); } ID = "EditConfigBox"; SharedBasePage requestPage = Page as SharedBasePage; SiteConfig siteConfig = requestPage.SiteConfig; if (!IsPostBack) { textContact.Text = siteConfig.Contact; textCopyright.Text = siteConfig.Copyright; textPassword.Text = passwordPlaceHolder; textConfirmPassword.Text = passwordPlaceHolder; textFrontPageCategory.Text = siteConfig.FrontPageCategory; textFrontPageDayCount.Text = siteConfig.FrontPageDayCount.ToString(); textFrontPageEntryCount.Text = siteConfig.FrontPageEntryCount.ToString(); textEntriesPerPage.Text = siteConfig.EntriesPerPage.ToString(); textContentLookaheadDays.Text = siteConfig.ContentLookaheadDays.ToString(); textMainMaxDaysInRss.Text = siteConfig.RssDayCount.ToString(); textMainMaxEntriesInRss.Text = siteConfig.RssMainEntryCount.ToString(); textOtherMaxEntriesInRss.Text = siteConfig.RssEntryCount.ToString(); checkAlwaysIncludeContentInRSS.Checked = siteConfig.AlwaysIncludeContentInRSS; checkEnableRSSItemFooter.Checked = siteConfig.EnableRssItemFooters; textRSSItemFooter.Text = siteConfig.RssItemFooter; txtRSSEndPointRewrite.Text = siteConfig.RSSEndPointRewrite; checkPop3Enabled.Checked = siteConfig.EnablePop3; textPop3Interval.Text = siteConfig.Pop3Interval.ToString(); textPop3Server.Text = siteConfig.Pop3Server; textPop3SubjectPrefix.Text = siteConfig.Pop3SubjectPrefix; textPop3Username.Text = siteConfig.Pop3Username; textPop3Password.Text = passwordPlaceHolder; textPop3PasswordRepeat.Text = passwordPlaceHolder; textRoot.Text = siteConfig.Root; textSmtpServer.Text = siteConfig.SmtpServer; textSmtpPort.Text = siteConfig.SmtpPort.ToString(); checkUseSSLForSMTP.Checked = siteConfig.UseSSLForSMTP; textNotificationEmailAddress.Text = siteConfig.NotificationEMailAddress; textSubtitle.Text = siteConfig.Subtitle; textSmtpServer.Text = siteConfig.SmtpServer; checkEnableCoComment.Checked = siteConfig.EnableCoComment; checkComments.Checked = siteConfig.SendCommentsByEmail; checkPingbacks.Checked = siteConfig.SendPingbacksByEmail; checkReferrals.Checked = siteConfig.SendReferralsByEmail; checkPosts.Checked = siteConfig.SendPostsByEmail; checkTrackbacks.Checked = siteConfig.SendTrackbacksByEmail; checkShowCommentCounters.Checked = siteConfig.ShowCommentCount; checkEnableAutoPingback.Checked = siteConfig.EnableAutoPingback; checkEnableBloggerApi.Checked = siteConfig.EnableBloggerApi; checkEnableComments.Checked = siteConfig.EnableComments; checkEnableCommentApi.Checked = siteConfig.EnableCommentApi; checkShowCommentsWhenViewingEntry.Checked = siteConfig.ShowCommentsWhenViewingEntry; checkEnableConfigEditService.Checked = siteConfig.EnableConfigEditService; checkEnableEditService.Checked = siteConfig.EnableEditService; checkEnableAutoSave.Checked = siteConfig.EnableAutoSave; checkEnablePingbackService.Checked = siteConfig.EnablePingbackService; checkEnableTrackbackService.Checked = siteConfig.EnableTrackbackService; checkEnableClickThrough.Checked = siteConfig.EnableClickThrough; checkEnableAggregatorBugging.Checked = siteConfig.EnableAggregatorBugging; checkXssEnabled.Checked = siteConfig.EnableXSSUpstream; textXssEndpoint.Text = siteConfig.XSSUpstreamEndpoint; textXssInterval.Text = siteConfig.XSSUpstreamInterval.ToString(); textXssPassword.Text = passwordPlaceHolder; textXssPasswordRepeat.Text = passwordPlaceHolder; textXssUsername.Text = siteConfig.XSSUpstreamUsername; textXssRssFilename.Text = siteConfig.XSSRSSFilename; checkPop3InlineAttachedPictures.Checked = siteConfig.Pop3InlineAttachedPictures; textPop3AttachedPicturesPictureThumbnailHeight.Text = siteConfig.Pop3InlinedAttachedPicturesThumbHeight.ToString(); mailDeletionAll.Checked = siteConfig.Pop3DeleteAllMessages; mailDeletionProcessed.Checked = !siteConfig.Pop3DeleteAllMessages; logIgnoredEmails.Checked = siteConfig.Pop3LogIgnoredEmails; checkShowItemDescriptionInAggregatedViews.Checked = siteConfig.ShowItemDescriptionInAggregatedViews; checkEnableStartPageCaching.Checked = siteConfig.EnableStartPageCaching; checkEnableBlogrollDescription.Checked = siteConfig.EnableBlogrollDescription; checkEntryTitleAsLink.Checked = siteConfig.EntryTitleAsLink; checkEnableUrlRewriting.Checked = siteConfig.EnableUrlRewriting; checkEnableCrosspost.Checked = siteConfig.EnableCrossposts; checkCategoryAllEntries.Checked = siteConfig.CategoryAllEntries; checkReferralUrlBlacklist.Checked = siteConfig.EnableReferralUrlBlackList; textReferralBlacklist.Text = siteConfig.ReferralUrlBlackList; checkCaptchaEnabled.Checked = siteConfig.EnableCaptcha; checkReferralBlacklist404s.Checked = siteConfig.EnableReferralUrlBlackList404s; textRSSChannelImage.Text = siteConfig.ChannelImageUrl; checkEnableTitlePermaLink.Checked = siteConfig.EnableTitlePermaLink; checkEnableTitlePermaLinkUnique.Checked = siteConfig.EnableTitlePermaLinkUnique; checkEnableTitlePermaLinkSpaces.Checked = siteConfig.EnableTitlePermaLinkSpaces; checkEnableEncryptLoginPassword.Checked = siteConfig.EncryptLoginPassword; checkEnableSmtpAuthentication.Checked = siteConfig.EnableSmtpAuthentication; textSmtpUsername.Text = siteConfig.SmtpUserName; textSmtpPassword.Text = passwordPlaceHolder; textRssLanguage.Text = siteConfig.RssLanguage; checkEnableSearchHighlight.Checked = siteConfig.EnableSearchHighlight; checkEnableEntryReferral.Checked = siteConfig.EnableEntryReferrals; textFeedBurnerName.Text = siteConfig.FeedBurnerName; checkUseFeedScheme.Checked = siteConfig.UseFeedSchemeForSyndication; checkLogBlockedReferrals.Checked = siteConfig.LogBlockedReferrals; //populate the title space replacement options dropDownTitlePermalinkReplacementCharacter.Items.Clear();//in casee someone adds them in the ascx foreach (string s in TitleMapperModule.TitlePermalinkSpaceReplacementOptions) { dropDownTitlePermalinkReplacementCharacter.Items.Add(s); } dropDownTitlePermalinkReplacementCharacter.SelectedValue = siteConfig.TitlePermalinkSpaceReplacement; checkSpamBlockingEnabled.Checked = siteConfig.EnableSpamBlockingService; textSpamBlockingApiKey.Text = siteConfig.SpamBlockingServiceApiKey; optionSpamHandling.SelectedValue = siteConfig.EnableSpamModeration ? SPAM_OPTION_SAVE : SPAM_OPTION_DELETE; // setup the checkbox list to select which tags to allow checkBoxListAllowedTags.DataSource = siteConfig.AllowedTags; checkBoxListAllowedTags.DataTextField = "Name"; checkBoxListAllowedTags.DataValueField = "Name"; // enable comment moderation checkCommentsRequireApproval.Checked = siteConfig.CommentsRequireApproval; // allow html and comments checkAllowHtml.Checked = siteConfig.CommentsAllowHtml; // populate from config - Gravatar GravatarPopulateForm(); // supress email address display checkDisableEmailDisplay.Checked = siteConfig.SupressEmailAddressDisplay; checkEnableCommentDays.Checked = siteConfig.EnableCommentDays; checkAttemptToHtmlTidyContent.Checked = siteConfig.HtmlTidyContent; checkResolveCommenterIP.Checked = siteConfig.ResolveCommenterIP; //if ( siteConfig.EnableCommentDays ) //{ if (siteConfig.DaysCommentsAllowed > 0) { textDaysCommentsAllowed.Text = siteConfig.DaysCommentsAllowed.ToString(); } //} //else //{ // textDaysCommentsAllowed.Text = null; //} // supress email address display checkDisableEmailDisplay.Checked = siteConfig.SupressEmailAddressDisplay; checkEnableCommentDays.Checked = siteConfig.EnableCommentDays; //if ( siteConfig.EnableCommentDays ) //{ if (siteConfig.DaysCommentsAllowed > 0) { textDaysCommentsAllowed.Text = siteConfig.DaysCommentsAllowed.ToString(); } //} //else //{ // textDaysCommentsAllowed.Text = null; //} // email daily report checkDailyReport.Text = resmgr.GetString("text_daily_activity_report"); checkDailyReport.Checked = siteConfig.EnableDailyReportEmail; WindowsTimeZoneCollection timeZones = WindowsTimeZone.TimeZones; foreach (WindowsTimeZone tz in timeZones) { listTimeZones.Items.Add(new ListItem(tz.DisplayName, tz.ZoneIndex.ToString())); } listTimeZones.SelectedValue = siteConfig.DisplayTimeZoneIndex.ToString(); checkUseUTC.Checked = !siteConfig.AdjustDisplayTimeZone; //FIX: hardcoded path ThemeDictionary themes = BlogTheme.Load(SiteUtilities.MapPath("themes")); foreach (BlogTheme theme in themes.Values) { // setting the selected item like this instead of // using listThemes.SelectedValue = siteConfig.Theme; // prevents the page from breaking. ListItem item = new ListItem(theme.Title, theme.Name); if (item.Value == siteConfig.Theme) { item.Selected = true; } listThemes.Items.Add(item); } textTitle.Text = siteConfig.Title; checkBoxListPingServices.DataSource = PingServiceCollection; checkBoxListPingServices.DataTextField = "Hyperlink"; checkBoxListPingServices.DataValueField = "Endpoint"; drpEntryEditControl.Items.Clear(); foreach (string potentialAssembly in Directory.GetFiles(HttpRuntime.BinDirectory, "*.dll")) { try { Assembly a = Assembly.LoadFrom(potentialAssembly); foreach (Type potentialType in a.GetTypes()) { if (potentialType.BaseType == typeof(EditControlAdapter)) { drpEntryEditControl.Items.Add(new ListItem(potentialType.Name, potentialType.AssemblyQualifiedName)); } } } catch (Exception) { //swallow } } //Reasonable default if (string.IsNullOrEmpty(siteConfig.EntryEditControl)) { siteConfig.EntryEditControl = typeof(TinyMCEAdapter).AssemblyQualifiedName; } DataBind(); ListItem li = drpEntryEditControl.Items.FindByText(siteConfig.EntryEditControl); if (li != null) { li.Selected = true; } else { drpEntryEditControl.SelectedIndex = 0; } foreach (PingService ps in siteConfig.PingServices) { checkBoxListPingServices.Items.FindByValue(ps.Endpoint).Selected = true; } foreach (ValidTag tag in siteConfig.AllowedTags) { checkBoxListAllowedTags.Items.FindByValue(tag.Name).Selected = tag.IsAllowed; } //check for Smtp permission if (SecurityManager.IsGranted(new SmtpPermission(SmtpAccess.ConnectToUnrestrictedPort))) { phSmtpTrustWarning.Visible = false; } else { phSmtpTrustWarning.Visible = true; } //check for Socket permission SocketPermission sp; if (String.IsNullOrEmpty(textPop3Server.Text)) { sp = new SocketPermission(PermissionState.Unrestricted); } else { sp = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, textPop3Server.Text, 110); } if (SecurityManager.IsGranted(sp)) { phPop3TrustWarning.Visible = false; } else { phPop3TrustWarning.Visible = true; } // georss stuff checkEnableGeoRss.Checked = siteConfig.EnableGeoRss; textGoogleMapsApi.Text = siteConfig.GoogleMapsApiKey; textDefaultLatitude.Text = siteConfig.DefaultLatitude.ToString(CultureInfo.InvariantCulture); textDefaultLongitude.Text = siteConfig.DefaultLongitude.ToString(CultureInfo.InvariantCulture); checkEnableGoogleMaps.Checked = siteConfig.EnableGoogleMaps; checkEnableDefaultLatLongForNonGeoCodedPosts.Checked = siteConfig.EnableDefaultLatLongForNonGeoCodedPosts; // OpenId chkAllowOpenIdAdmin.Checked = siteConfig.AllowOpenIdAdmin; chkAllowOpenIdCommenter.Checked = siteConfig.AllowOpenIdComments; chkBypassSpamOpenIdCommenter.Checked = siteConfig.BypassSpamOpenIdComment; SeoMetaTags smt = new SeoMetaTags().GetMetaTags(); txtMetaDescription.Text = smt.MetaDescription; txtMetaKeywords.Text = smt.MetaKeywords; txtTwitterCard.Text = smt.TwitterCard; txtTwitterSite.Text = smt.TwitterSite; txtTwitterCreator.Text = smt.TwitterCreator; txtTwitterImage.Text = smt.TwitterImage; txtFaceBookAdmins.Text = smt.FaceBookAdmins; txtFaceBookAppID.Text = smt.FaceBookAppID; checkAmpEnabled.Checked = siteConfig.AMPPagesEnabled; } // end if !postback //enable list controls that may have been enabled client-side //in 2.0 if they are not enable we won't get there postback data checkBoxListAllowedTags.Enabled = true; dropGravatarRating.Enabled = 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.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); }