/// <summary> /// Loads the content configuration. /// </summary> /// <param name="currentWiki">The wiki.</param> private void LoadContentConfig(string currentWiki) { string[] theme = Settings.GetTheme(currentWiki, null).Split(new char[] { '|' }); ThemeRootSelector.SelectedProvider = theme[0]; ThemeRootSelector.SelectedThemes = theme[1]; PopulateMainPages(Settings.GetDefaultPage(currentWiki)); txtDateTimeFormat.Text = Settings.GetDateTimeFormat(currentWiki); PopulateDateTimeFormats(); PopulateLanguages(Settings.GetDefaultLanguage(currentWiki)); PopulateTimeZones(Settings.GetDefaultTimezone(currentWiki)); txtMaxRecentChangesToDisplay.Text = Settings.GetMaxRecentChangesToDisplay(currentWiki).ToString(); lstRssFeedsMode.SelectedIndex = -1; switch (Settings.GetRssFeedsMode(currentWiki)) { case RssFeedsMode.FullText: lstRssFeedsMode.SelectedIndex = 0; break; case RssFeedsMode.Summary: lstRssFeedsMode.SelectedIndex = 1; break; case RssFeedsMode.Disabled: lstRssFeedsMode.SelectedIndex = 2; break; } chkEnableDoubleClickEditing.Checked = Settings.GetEnableDoubleClickEditing(currentWiki); chkEnableSectionEditing.Checked = Settings.GetEnableSectionEditing(currentWiki); chkEnableSectionAnchors.Checked = Settings.GetEnableSectionAnchors(currentWiki); chkEnablePageToolbar.Checked = Settings.GetEnablePageToolbar(currentWiki); chkEnableViewPageCode.Checked = Settings.GetEnableViewPageCodeFeature(currentWiki); chkEnablePageInfoDiv.Checked = Settings.GetEnablePageInfoDiv(currentWiki); chkEnableBreadcrumbsTrail.Checked = !Settings.GetDisableBreadcrumbsTrail(currentWiki); chkAutoGeneratePageNames.Checked = Settings.GetAutoGeneratePageNames(currentWiki); chkProcessSingleLineBreaks.Checked = Settings.GetProcessSingleLineBreaks(currentWiki); chkUseVisualEditorAsDefault.Checked = Settings.GetUseVisualEditorAsDefault(currentWiki); if (Settings.GetKeptBackupNumber(currentWiki) == -1) { txtKeptBackupNumber.Text = ""; } else { txtKeptBackupNumber.Text = Settings.GetKeptBackupNumber(currentWiki).ToString(); } chkDisplayGravatars.Checked = Settings.GetDisplayGravatars(currentWiki); txtListSize.Text = Settings.GetListSize(currentWiki).ToString(); }
/// <summary> /// Sets the content and visibility of all toolbar links. /// </summary> /// <param name="canEdit">A value indicating whether the current user can edit the page.</param> /// <param name="canViewDiscussion">A value indicating whether the current user can view the page discussion.</param> /// <param name="canPostMessages">A value indicating whether the current user can post messages in the page discussion.</param> /// <param name="canDownloadAttachments">A value indicating whether the current user can download attachments.</param> /// <param name="canRollback">A value indicating whether the current user can rollback the page.</param> /// <param name="canAdmin">A value indicating whether the current user can perform at least one administration task.</param> /// <param name="canSetPerms">A value indicating whether the current user can set page permissions.</param> private void SetupToolbarLinks(bool canEdit, bool canViewDiscussion, bool canPostMessages, bool canDownloadAttachments, bool canRollback, bool canAdmin, bool canSetPerms) { lblDiscussLink.Visible = !discussMode && !viewCodeMode && canViewDiscussion; if (lblDiscussLink.Visible) { lblDiscussLink.Text = string.Format(@"<a id=""DiscussLink"" title=""{0}"" href=""{3}?Discuss=1"">{1} ({2})</a>", Properties.Messages.Discuss, Properties.Messages.Discuss, Pages.GetMessageCount(currentPage), UrlTools.BuildUrl(currentWiki, NameTools.GetLocalName(currentPage.FullName), GlobalSettings.PageExtension)); } lblEditLink.Visible = Settings.GetEnablePageToolbar(currentWiki) && !discussMode && !viewCodeMode && canEdit; if (lblEditLink.Visible) { lblEditLink.Text = string.Format(@"<a id=""EditLink"" title=""{0}"" href=""{1}"">{2}</a>", Properties.Messages.EditThisPage, UrlTools.BuildUrl(currentWiki, "Edit.aspx?Page=", Tools.UrlEncode(currentPage.FullName)), Properties.Messages.Edit); } if (Settings.GetEnablePageToolbar(currentWiki) && Settings.GetEnableViewPageCodeFeature(currentWiki)) { lblViewCodeLink.Visible = !discussMode && !viewCodeMode && !canEdit; if (lblViewCodeLink.Visible) { lblViewCodeLink.Text = string.Format(@"<a id=""ViewCodeLink"" title=""{0}"" href=""{2}?Code=1"">{1}</a>", Properties.Messages.ViewPageCode, Properties.Messages.ViewPageCode, UrlTools.BuildUrl(currentWiki, NameTools.GetLocalName(currentPage.FullName), GlobalSettings.PageExtension)); } } else { lblViewCodeLink.Visible = false; } lblHistoryLink.Visible = Settings.GetEnablePageToolbar(currentWiki) && !discussMode && !viewCodeMode; if (lblHistoryLink.Visible) { lblHistoryLink.Text = string.Format(@"<a id=""HistoryLink"" title=""{0}"" href=""{1}"">{2}</a>", Properties.Messages.ViewPageHistory, UrlTools.BuildUrl(currentWiki, "History.aspx?Page=", Tools.UrlEncode(currentPage.FullName)), Properties.Messages.History); } int attachmentCount = GetAttachmentCount(); lblAttachmentsLink.Visible = canDownloadAttachments && !discussMode && !viewCodeMode && attachmentCount > 0; if (lblAttachmentsLink.Visible) { lblAttachmentsLink.Text = string.Format(@"<a id=""PageAttachmentsLink"" title=""{0}"" href=""#"" onclick=""javascript:return __ToggleAttachmentsMenu(event.clientX, event.clientY);"">{1}</a>", Properties.Messages.Attachments, Properties.Messages.Attachments); } attachmentViewer.Visible = lblAttachmentsLink.Visible; int bakCount = GetBackupCount(); lblAdminToolsLink.Visible = Settings.GetEnablePageToolbar(currentWiki) && !discussMode && !viewCodeMode && ((canRollback && bakCount > 0) || canAdmin || canSetPerms); if (lblAdminToolsLink.Visible) { lblAdminToolsLink.Text = string.Format(@"<a id=""AdminToolsLink"" title=""{0}"" href=""#"" onclick=""javascript:return __ToggleAdminToolsMenu(event.clientX, event.clientY);"">{1}</a>", Properties.Messages.AdminTools, Properties.Messages.Admin); if (canRollback && bakCount > 0) { lblRollbackPage.Text = string.Format(@"<a href=""AdminPages.aspx?Rollback={0}"" onclick=""javascript:return __RequestConfirm();"" title=""{1}"">{2}</a>", Tools.UrlEncode(currentPage.FullName), Properties.Messages.RollbackThisPage, Properties.Messages.Rollback); } else { lblRollbackPage.Visible = false; } if (canAdmin) { lblAdministratePage.Text = string.Format(@"<a href=""AdminPages.aspx?Admin={0}"" title=""{1}"">{2}</a>", Tools.UrlEncode(currentPage.FullName), Properties.Messages.AdministrateThisPage, Properties.Messages.Administrate); } else { lblAdministratePage.Visible = false; } if (canSetPerms) { lblSetPagePermissions.Text = string.Format(@"<a href=""AdminPages.aspx?Perms={0}"" title=""{1}"">{2}</a>", Tools.UrlEncode(currentPage.FullName), Properties.Messages.SetPermissionsForThisPage, Properties.Messages.Permissions); } else { lblSetPagePermissions.Visible = false; } } lblPostMessageLink.Visible = discussMode && !viewCodeMode && canPostMessages; if (lblPostMessageLink.Visible) { lblPostMessageLink.Text = string.Format(@"<a id=""PostReplyLink"" title=""{0}"" href=""{1}"">{2}</a>", Properties.Messages.PostMessage, UrlTools.BuildUrl(currentWiki, "Post.aspx?Page=", Tools.UrlEncode(currentPage.FullName)), Properties.Messages.PostMessage); } lblBackLink.Visible = discussMode || viewCodeMode; if (lblBackLink.Visible) { lblBackLink.Text = string.Format(@"<a id=""BackLink"" title=""{0}"" href=""{1}"">{2}</a>", Properties.Messages.Back, UrlTools.BuildUrl(currentWiki, Tools.UrlEncode(currentPage.FullName), GlobalSettings.PageExtension, "?NoRedirect=1"), Properties.Messages.Back); } }