private static ForumGroupInfo GetGroup(DataRow dr) { ForumGroupInfo model = new ForumGroupInfo(); ReflectionHelper.Fill(dr, model); return(model); }
/// <summary> /// Edit subscription handler. /// </summary> protected void subscriptionList_OnAction(object sender, CommandEventArgs e) { switch (e.CommandName.ToLower()) { case "edit": DisplayControl("edit"); int groupId = ValidationHelper.GetInteger(e.CommandArgument, 0); ViewState["GroupID"] = groupId; this.groupEdit.GroupID = groupId; this.groupEdit.ReloadData(); ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(groupId); if (fgi != null) { this.lblEditBack.Text = " <span class=\"TitleBreadCrumbSeparator\"> </span> " + HTMLHelper.HTMLEncode(fgi.GroupDisplayName); } break; default: DisplayControl("list"); break; } }
/// <summary> /// Gets and bulk updates forum groups. Called when the "Get and bulk update groups" button is pressed. /// Expects the CreateForumGroup method to be run first. /// </summary> private bool GetAndBulkUpdateForumGroups() { // Prepare the parameters string where = "GroupName LIKE N'MyNewGroup%'"; string orderBy = ""; string columns = ""; int topN = 10; // Get the data DataSet groups = ForumGroupInfoProvider.GetGroups(where, orderBy, topN, columns); if (!DataHelper.DataSourceIsEmpty(groups)) { // Loop through the individual items foreach (DataRow groupDr in groups.Tables[0].Rows) { // Create object from DataRow ForumGroupInfo modifyGroup = new ForumGroupInfo(groupDr); // Update the properties modifyGroup.GroupDisplayName = modifyGroup.GroupDisplayName.ToUpper(); // Save the changes ForumGroupInfoProvider.SetForumGroupInfo(modifyGroup); } return(true); } return(false); }
public static void UpdateGroup(ForumGroupInfo model) { string strSQL = "UPDATE ForumGroups SET Name = @Name,Sort = @Sort,IsDeleted = @IsDeleted WHERE Id = @ID"; SqlParameter[] parms = ParameterHelper.GetClassSqlParameters(model); SQLPlus.ExecuteNonQuery(CommandType.Text, strSQL, parms); }
/// <summary> /// Upload click hadler. /// </summary> protected void btnUpload_Click(object sender, EventArgs e) { if (!CheckPermissions("cms.forums", CMSAdminControl.PERMISSION_MODIFY)) { return; } if ((upload.HasFile) && (this.PostInfo != null)) { // Check attachment extension if (!ForumAttachmentInfoProvider.IsExtensionAllowed(upload.FileName, CMSContext.CurrentSiteName)) { lblError.Visible = true; lblError.Text = GetString("ForumAttachment.AttachmentIsNotAllowed"); return; } ForumInfo fi = ForumInfoProvider.GetForumInfo(this.PostInfo.PostForumID); if (fi != null) { ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(fi.ForumGroupID); if (fgi != null) { ForumAttachmentInfo fai = new ForumAttachmentInfo(upload.PostedFile, 0, 0, 0); fai.AttachmentPostID = this.PostInfo.PostId; fai.AttachmentSiteID = fgi.GroupSiteID; ForumAttachmentInfoProvider.SetForumAttachmentInfo(fai); ReloadAttachmentData(this.PostInfo.PostId); UniGrid.ReloadData(); } } } }
/// <summary> /// Edit subscription handler. /// </summary> protected void subscriptionList_OnAction(object sender, CommandEventArgs e) { switch (e.CommandName.ToLowerCSafe()) { case "edit": DisplayControl("edit"); int groupId = ValidationHelper.GetInteger(e.CommandArgument, 0); ViewState["GroupID"] = groupId; groupEdit.GroupID = groupId; groupEdit.ReloadData(); ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(groupId); ucBreadcrumbs.Items[1].Text = (fgi == null) ? GetString("Group_General.NewGroup") : fgi.GroupDisplayName; ucBreadcrumbs.HideBreadcrumbs = false; break; default: DisplayControl("list"); break; } }
void forumSecurity_OnCheckPermissions(string permissionType, CMSAdminControl sender) { int groupId = 0; ForumInfo fi = ForumInfoProvider.GetForumInfo(ValidationHelper.GetInteger(Request.QueryString["forumid"], 0)); if (fi != null) { ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(fi.ForumGroupID); if (fgi != null) { groupId = fgi.GroupGroupID; } } // Check permissions if (!CMSContext.CurrentUser.IsGroupAdministrator(groupId)) { // Check permissions if (!CMSContext.CurrentUser.IsAuthorizedPerResource("CMS.Groups", permissionType)) { this.forumSecurity.StopProcessing = true; // Redirect only if permission READ is check if (permissionType == CMSAdminControl.PERMISSION_READ) { RedirectToCMSDeskAccessDenied("CMS.Groups", permissionType); } } } }
private void forumSecurity_OnCheckPermissions(string permissionType, CMSAdminControl sender) { int groupId = 0; ForumInfo fi = ForumInfoProvider.GetForumInfo(QueryHelper.GetInteger("forumid", 0)); if (fi != null) { ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(fi.ForumGroupID); if (fgi != null) { groupId = fgi.GroupGroupID; } } // Check permissions if (!MembershipContext.AuthenticatedUser.IsGroupAdministrator(groupId)) { // Check permissions if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("CMS.Groups", permissionType)) { forumSecurity.StopProcessing = true; // Redirect only if permission READ is check if (permissionType == CMSAdminControl.PERMISSION_READ) { RedirectToAccessDenied("CMS.Groups", permissionType); } } } }
/// <summary> /// Creates forum. Called when the "Create forum" button is pressed. /// </summary> private bool CreateForum() { // Get the forum group ForumGroupInfo group = ForumGroupInfoProvider.GetForumGroupInfo("MyNewGroup", CMSContext.CurrentSiteID); if (group != null) { // Create new forum object ForumInfo newForum = new ForumInfo(); // Set the properties newForum.ForumDisplayName = "My new forum"; newForum.ForumName = "MyNewForum"; newForum.ForumGroupID = group.GroupID; newForum.ForumSiteID = group.GroupSiteID; newForum.AllowAccess = SecurityAccessEnum.AllUsers; newForum.AllowAttachFiles = SecurityAccessEnum.AuthenticatedUsers; newForum.AllowPost = SecurityAccessEnum.AllUsers; newForum.AllowReply = SecurityAccessEnum.AllUsers; newForum.AllowSubscribe = SecurityAccessEnum.AllUsers; newForum.ForumOpen = true; newForum.ForumModerated = false; newForum.ForumThreads = 0; newForum.ForumPosts = 0; // Save the forum ForumInfoProvider.SetForumInfo(newForum); return(true); } return(false); }
/// <summary> /// Upload click handler. /// </summary> protected void btnUpload_Click(object sender, EventArgs e) { if (!CheckPermissions("cms.forums", PERMISSION_MODIFY)) { return; } if ((upload.HasFile) && (PostInfo != null)) { // Check attachment extension if (!ForumAttachmentInfoProvider.IsExtensionAllowed(upload.FileName, SiteContext.CurrentSiteName)) { ShowError(GetString("ForumAttachment.AttachmentIsNotAllowed")); return; } ForumInfo fi = ForumInfoProvider.GetForumInfo(PostInfo.PostForumID); if (fi != null) { ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(fi.ForumGroupID); if (fgi != null) { ForumAttachmentInfo fai = new ForumAttachmentInfo(upload.PostedFile, 0, 0, fi.ForumImageMaxSideSize); fai.AttachmentPostID = PostInfo.PostId; fai.AttachmentSiteID = fgi.GroupSiteID; ForumAttachmentInfoProvider.SetForumAttachmentInfo(fai); ReloadAttachmentData(PostInfo.PostId); UniGrid.ReloadData(); } } } }
public static int AddGroup(ForumGroupInfo model) { string strSQL = "INSERT INTO dbo.ForumGroups(Name,Sort,IsDeleted,CreateDateTime) VALUES(@Name,@Sort,@IsDeleted,GETDATE());SELECT @@IDENTITY;"; SqlParameter[] parms = ParameterHelper.GetClassSqlParameters(model); return(Convert.ToInt32(SQLPlus.ExecuteScalar(CommandType.Text, strSQL, parms))); }
/// <summary> /// Reloads the data in the form. /// </summary> public override void ReloadData() { ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(this.GroupID); if (fgi != null) { this.txtGroupDescription.Text = fgi.GroupDescription; this.txtGroupDisplayName.Text = fgi.GroupDisplayName; this.txtGroupName.Text = fgi.GroupName; this.chkCaptcha.Checked = fgi.GroupUseCAPTCHA; this.chkForumDisplayEmails.Checked = fgi.GroupDisplayEmails; this.chkForumRequireEmail.Checked = fgi.GroupRequireEmail; this.chkUseHTML.Checked = fgi.GroupHTMLEditor; this.txtMaxAttachmentSize.Text = fgi.GroupAttachmentMaxFileSize.ToString(); // Show/hide URL textboxes plcBaseAndUnsubUrl.Visible = (DisplayMode != ControlDisplayModeEnum.Simple); if (DisplayMode != ControlDisplayModeEnum.Simple) { this.txtForumBaseUrl.Text = fgi.GroupBaseUrl; this.txtUnsubscriptionUrl.Text = fgi.GroupUnsubscriptionUrl; chkInheritBaseUrl.Checked = (fgi.GetValue("GroupBaseUrl") == null); chkInheritUnsubUrl.Checked = (fgi.GetValue("GroupUnsubscriptionUrl") == null); txtForumBaseUrl.Enabled = !chkInheritBaseUrl.Checked; txtUnsubscriptionUrl.Enabled = !chkInheritUnsubUrl.Checked; SetUrl(); } // Settings this.chkAuthorEdit.Checked = fgi.GroupAuthorEdit; this.chkAuthorDelete.Checked = fgi.GroupAuthorDelete; this.txtImageMaxSideSize.Text = fgi.GroupImageMaxSideSize.ToString(); this.txtIsAnswerLimit.Text = fgi.GroupIsAnswerLimit.ToString(); this.radTypeChoose.Checked = fgi.GroupType == 0; this.radTypeDiscussion.Checked = fgi.GroupType == 1; this.radTypeAnswer.Checked = fgi.GroupType == 2; // Discussion this.chkEnableQuote.Checked = fgi.GroupEnableQuote; this.chkEnableBold.Checked = fgi.GroupEnableFontBold; this.chkEnableItalic.Checked = fgi.GroupEnableFontItalics; this.chkEnableUnderline.Checked = fgi.GroupEnableFontUnderline; this.chkEnableStrike.Checked = fgi.GroupEnableFontStrike; this.chkEnableCode.Checked = fgi.GroupEnableCodeSnippet; this.chkEnableColor.Checked = fgi.GroupEnableFontColor; this.radImageAdvanced.Checked = fgi.GroupEnableAdvancedImage; this.radImageSimple.Checked = fgi.GroupEnableImage; this.radImageNo.Checked = !(fgi.GroupEnableImage || fgi.GroupEnableAdvancedImage); this.radUrlAdvanced.Checked = fgi.GroupEnableAdvancedURL; this.radUrlSimple.Checked = fgi.GroupEnableURL; this.radUrlNo.Checked = !(fgi.GroupEnableURL || fgi.GroupEnableAdvancedURL); this.chkLogActivity.Checked = fgi.GroupLogActivity; } }
/// <summary> /// Deletes forum group. Called when the "Delete group" button is pressed. /// Expects the CreateForumGroup method to be run first. /// </summary> private bool DeleteForumGroup() { // Get the forum group ForumGroupInfo deleteGroup = ForumGroupInfoProvider.GetForumGroupInfo("MyNewGroup", CMSContext.CurrentSiteID); // Delete the forum group ForumGroupInfoProvider.DeleteForumGroupInfo(deleteGroup); return(deleteGroup != null); }
protected void groupNew_OnSaved(object sender, EventArgs e) { int groupId = groupNew.GroupID; ViewState["GroupID"] = groupId; ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(groupId); groupEdit.GroupID = groupId; DisplayControl("edit"); }
/// <summary> /// Handles file upload. /// </summary> protected void btnUpload_OnClick(object sender, EventArgs e) { if (ForumContext.CurrentForum == null) { return; } // Check permissions if (!this.IsAvailable(ForumContext.CurrentForum, ForumActionType.Attachment)) { lblError.Visible = true; lblError.Text = GetString("ForumNewPost.PermissionDenied"); return; } if (fileUpload.HasFile) { // Check max attachment size if ((ForumContext.CurrentForum.ForumAttachmentMaxFileSize > 0) && ((fileUpload.PostedFile.InputStream.Length / 1024) >= ForumContext.CurrentForum.ForumAttachmentMaxFileSize)) { lblError.Visible = true; lblError.Text = GetString("ForumAttachment.AttachmentIsTooLarge"); return; } // Check attachment extension if (!ForumAttachmentInfoProvider.IsExtensionAllowed(fileUpload.FileName, this.SiteName)) { lblError.Visible = true; lblError.Text = GetString("ForumAttachment.AttachmentIsNotAllowed"); return; } ForumAttachmentInfo attachmentInfo = new ForumAttachmentInfo(fileUpload.PostedFile, 0, 0, ForumContext.CurrentForum.ForumImageMaxSideSize); attachmentInfo.AttachmentPostID = ForumContext.CurrentPost.PostId; ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(ForumContext.CurrentForum.ForumGroupID); if (fgi != null) { attachmentInfo.AttachmentSiteID = fgi.GroupSiteID; //Save to DB ForumAttachmentInfoProvider.SetForumAttachmentInfo(attachmentInfo); DataSet ds = ForumAttachmentInfoProvider.GetForumAttachments(ForumContext.CurrentPost.PostId, false); if (!DataHelper.DataSourceIsEmpty(ds)) { listAttachment.DataSource = ds; listAttachment.DataBind(); plcListHeader.Visible = true; } } } }
private void forumNew_OnCheckPermissions(string permissionType, CMSAdminControl sender) { int lGroupId = 0; ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(forumNew.GroupID); if (fgi != null) { lGroupId = fgi.GroupGroupID; } CheckPermissions(lGroupId, CMSAdminControl.PERMISSION_MANAGE); }
public static ForumGroupInfo UpdateGroupInfo(ForumGroupInfo model) { if (model.Id == 0) { //添加 model.Id = ForumManage.AddGroup(model); } else { ForumManage.UpdateGroup(model); } return(model); }
protected void Page_Load(object sender, EventArgs e) { Title = "Forum - Group view"; groupId = QueryHelper.GetInteger("objectid", 0); ForumContext.CheckSite(groupId, 0, 0); ForumGroupInfo group = ForumGroupInfoProvider.GetForumGroupInfo(groupId); if (group != null) { Forum1.GroupName = group.GroupName; } }
private void groupEdit_OnCheckPermissions(string permissionType, CMSAdminControl sender) { int groupId = 0; ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(groupEdit.GroupID); if (fgi != null) { groupId = fgi.GroupGroupID; } // Check permissions CheckPermissions(groupId, CMSAdminControl.PERMISSION_MANAGE); }
protected void Page_Load(object sender, EventArgs e) { Title = "Forum - Group view"; groupId = ValidationHelper.GetInteger(Request.QueryString["groupid"], 0); ForumGroupInfo group = ForumGroupInfoProvider.GetForumGroupInfo(groupId); if (group != null) { Forum1.CommunityGroupID = group.GroupGroupID; Forum1.GroupName = group.GroupName; } Forum1.IsLiveSite = false; }
protected void Page_Load(object sender, EventArgs e) { Title = "Forum - Group view"; forumGroupId = QueryHelper.GetInteger("forumgroupid", 0); ForumGroupInfo group = ForumGroupInfoProvider.GetForumGroupInfo(forumGroupId); if (group != null) { Forum1.CommunityGroupID = group.GroupGroupID; Forum1.GroupName = group.GroupName; } Forum1.IsLiveSite = false; }
protected void groupNew_OnSaved(object sender, EventArgs e) { int groupId = this.groupNew.GroupID; ViewState["GroupID"] = groupId; ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(groupId); if (fgi != null) { this.lblEditBack.Text = " <span class=\"TitleBreadCrumbSeparator\"> </span> " + HTMLHelper.HTMLEncode(fgi.GroupDisplayName); } this.groupEdit.GroupID = groupId; DisplayControl("edit"); }
private void subscriptionList_OnCheckPermissions(string permissionType, CMSAdminControl sender) { int groupId = 0; ForumInfo fi = ForumInfoProvider.GetForumInfo(subscriptionList.ForumID); if (fi != null) { ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(fi.ForumGroupID); if (fgi != null) { groupId = fgi.GroupGroupID; } } // Check permissions CheckPermissions(groupId, CMSAdminControl.PERMISSION_MANAGE); }
public static List <ForumGroupInfo> GroupList() { string strSQL = "SELECT * FROM ForumGroups WITH(NOLOCK) ORDER BY Sort"; DataTable dt = SQLPlus.ExecuteDataTable(CommandType.Text, strSQL); List <ForumGroupInfo> list = new List <ForumGroupInfo>(); ForumGroupInfo model = null; if (dt != null && dt.Rows.Count > 0) { foreach (DataRow item in dt.Rows) { model = GetGroup(item); list.Add(model); } } return(list); }
private void forumModerators_OnCheckPermissions(string permissionType, CMSAdminControl sender) { int groupId = 0; ForumInfo fi = ForumInfoProvider.GetForumInfo(QueryHelper.GetInteger("forumid", 0)); if (fi != null) { ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(fi.ForumGroupID); if (fgi != null) { groupId = fgi.GroupGroupID; } } // Check permissions CheckGroupPermissions(groupId, CMSAdminControl.PERMISSION_MANAGE); }
void subscriptionEdit_OnCheckPermissions(string permissionType, CMSAdminControl sender) { int groupId = 0; ForumInfo fi = ForumInfoProvider.GetForumInfo(ValidationHelper.GetInteger(Request.QueryString["forumid"], 0)); if (fi != null) { ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(fi.ForumGroupID); if (fgi != null) { groupId = fgi.GroupGroupID; } } // Check permissions CheckPermissions(groupId, CMSAdminControl.PERMISSION_MANAGE); }
protected void Page_Load(object sender, EventArgs e) { bool process = true; if (!this.Visible || this.StopProcessing) { this.EnableViewState = true; process = false; } this.lblModerators.Text = GetString("Forum_Edit.Moderators"); this.chkForumModerated.Text = GetString("Forum_Edit.ForumModerated"); // Get community group id int communityGroupID = 0; forum = ForumInfoProvider.GetForumInfo(this.mForumId); if (forum == null) { return; } if (forum.ForumGroupID > 0) { ForumGroupInfo fgi = ForumGroupInfoProvider.GetForumGroupInfo(forum.ForumGroupID); if (fgi != null) { communityGroupID = fgi.GroupGroupID; } } userSelector.ForumID = this.ForumID; userSelector.GroupID = communityGroupID; userSelector.CurrentSelector.SelectionMode = SelectionModeEnum.Multiple; userSelector.ShowSiteFilter = false; userSelector.SiteID = CMSContext.CurrentSiteID; userSelector.IsLiveSite = this.IsLiveSite; userSelector.Changed += userSelector_Changed; if (!this.IsLiveSite && process) { ReloadData(false); } }
protected void Page_Load(object sender, EventArgs e) { string currentForumGroup = GetString(""); groupId = QueryHelper.GetInteger("groupid", 0); if (groupId > 0) { ForumGroupInfo group = ForumGroupInfoProvider.GetForumGroupInfo(groupId); if (group != null) { currentForumGroup = HTMLHelper.HTMLEncode(group.GroupDisplayName); InitalizeMasterPage(currentForumGroup); InitalizeMenu(); } } }
/// <summary> /// Gets and updates forum group. Called when the "Get and update group" button is pressed. /// Expects the CreateForumGroup method to be run first. /// </summary> private bool GetAndUpdateForumGroup() { // Get the forum group ForumGroupInfo updateGroup = ForumGroupInfoProvider.GetForumGroupInfo("MyNewGroup", CMSContext.CurrentSiteID); if (updateGroup != null) { // Update the properties updateGroup.GroupDisplayName = updateGroup.GroupDisplayName.ToLower(); // Save the changes ForumGroupInfoProvider.SetForumGroupInfo(updateGroup); return(true); } return(false); }
/// <summary> /// Creates forum group. Called when the "Create group" button is pressed. /// </summary> private bool CreateForumGroup() { // Create new forum group object ForumGroupInfo newGroup = new ForumGroupInfo(); // Set the properties newGroup.GroupDisplayName = "My new group"; newGroup.GroupName = "MyNewGroup"; newGroup.GroupSiteID = CMSContext.CurrentSiteID; newGroup.GroupAuthorDelete = true; newGroup.GroupAuthorEdit = true; newGroup.GroupDisplayEmails = true; // Save the forum group ForumGroupInfoProvider.SetForumGroupInfo(newGroup); return(true); }
/// <summary> /// Creates group forum. /// </summary> /// <param name="group">Particular group info object</param> private void CreateGroupForum(GroupInfo group) { #region "Create forum group" // Get forum group code name string forumGroupCodeName = "Forums_group_" + group.GroupGUID; // Check if forum group with given name already exists if (ForumGroupInfoProvider.GetForumGroupInfo(forumGroupCodeName, SiteContext.CurrentSiteID) != null) { return; } // Create forum base URL string baseUrl = null; TreeNode groupDocument = TreeProvider.SelectSingleNode(group.GroupNodeGUID, DocumentContext.CurrentDocumentCulture.CultureCode, SiteContext.CurrentSiteName); if (groupDocument != null) { baseUrl = DocumentURLProvider.GetUrl(groupDocument.NodeAliasPath + "/" + FORUM_DOCUMENT_ALIAS); } ForumGroupInfo forumGroupObj = new ForumGroupInfo(); const string suffix = " forums"; forumGroupObj.GroupDisplayName = TextHelper.LimitLength(group.GroupDisplayName, 200 - suffix.Length, string.Empty) + suffix; forumGroupObj.GroupName = forumGroupCodeName; forumGroupObj.GroupOrder = 0; forumGroupObj.GroupEnableQuote = true; forumGroupObj.GroupGroupID = group.GroupID; forumGroupObj.GroupSiteID = SiteContext.CurrentSiteID; forumGroupObj.GroupBaseUrl = baseUrl; // Additional settings forumGroupObj.GroupEnableCodeSnippet = true; forumGroupObj.GroupEnableFontBold = true; forumGroupObj.GroupEnableFontColor = true; forumGroupObj.GroupEnableFontItalics = true; forumGroupObj.GroupEnableFontStrike = true; forumGroupObj.GroupEnableFontUnderline = true; forumGroupObj.GroupEnableQuote = true; forumGroupObj.GroupEnableURL = true; forumGroupObj.GroupEnableImage = true; // Set forum group info ForumGroupInfoProvider.SetForumGroupInfo(forumGroupObj); #endregion #region "Create forum" string codeName = "General_discussion_group_" + group.GroupGUID; // Check if forum with given name already exists if (ForumInfoProvider.GetForumInfo(codeName, SiteContext.CurrentSiteID, group.GroupID) != null) { return; } // Create new forum object ForumInfo forumObj = new ForumInfo(); forumObj.ForumSiteID = SiteContext.CurrentSiteID; forumObj.ForumIsLocked = false; forumObj.ForumOpen = true; forumObj.ForumDisplayEmails = false; forumObj.ForumRequireEmail = false; forumObj.ForumDisplayName = "General discussion"; forumObj.ForumName = codeName; forumObj.ForumGroupID = forumGroupObj.GroupID; forumObj.ForumModerated = false; forumObj.ForumAccess = 40000; forumObj.ForumPosts = 0; forumObj.ForumThreads = 0; forumObj.ForumPostsAbsolute = 0; forumObj.ForumThreadsAbsolute = 0; forumObj.ForumOrder = 0; forumObj.ForumUseCAPTCHA = false; forumObj.SetValue("ForumHTMLEditor", null); // Set security forumObj.AllowAccess = SecurityAccessEnum.GroupMembers; forumObj.AllowAttachFiles = SecurityAccessEnum.GroupMembers; forumObj.AllowMarkAsAnswer = SecurityAccessEnum.GroupMembers; forumObj.AllowPost = SecurityAccessEnum.GroupMembers; forumObj.AllowReply = SecurityAccessEnum.GroupMembers; forumObj.AllowSubscribe = SecurityAccessEnum.GroupMembers; if (ForumInfoProvider.LicenseVersionCheck(RequestContext.CurrentDomain, FeatureEnum.Forums, ObjectActionEnum.Insert)) { ForumInfoProvider.SetForumInfo(forumObj); } #endregion }
/// <summary> /// Creates forum group. Called when the "Create group" button is pressed. /// </summary> private bool CreateForumGroup() { // Create new forum group object ForumGroupInfo newGroup = new ForumGroupInfo(); // Set the properties newGroup.GroupDisplayName = "My new group"; newGroup.GroupName = "MyNewGroup"; newGroup.GroupSiteID = SiteContext.CurrentSiteID; newGroup.GroupAuthorDelete = true; newGroup.GroupAuthorEdit = true; newGroup.GroupDisplayEmails = true; // Save the forum group ForumGroupInfoProvider.SetForumGroupInfo(newGroup); return true; }
public ForumCollection Forums_List(int PortalId, int ModuleId) { ForumCollection f = new ForumCollection(); object obj = DataCache.CacheRetrieve(string.Format(CacheKeys.ForumList, ModuleId)); if (obj != null) { f = (ForumCollection)obj; } else { using (IDataReader dr = SqlHelper.ExecuteReader(_connectionString, dbPrefix + "ForumsList", PortalId, ModuleId)) { Forum fi = null; ForumGroupInfo gi = null; while (dr.Read()) { fi = new Forum(); gi = new ForumGroupInfo(); fi.ModuleId = int.Parse(dr["ModuleId"].ToString()); fi.ForumID = Convert.ToInt32(dr["ForumId"].ToString()); fi.Active = bool.Parse(dr["Active"].ToString()); fi.ForumDesc = dr["ForumDesc"].ToString(); fi.ForumGroupId = int.Parse(dr["ForumGroupId"].ToString()); fi.ForumID = int.Parse(dr["ForumId"].ToString()); fi.ForumName = dr["ForumName"].ToString(); fi.GroupName = dr["GroupName"].ToString(); fi.Hidden = bool.Parse(dr["Hidden"].ToString()); fi.ParentForumId = Convert.ToInt32(dr["ParentForumId"].ToString()); DateTime postTime; if (! (DateTime.TryParse(dr["LastPostDate"].ToString(), out postTime))) { fi.LastPostDateTime = new DateTime(); } else { fi.LastPostDateTime = postTime; } fi.LastTopicId = int.Parse(dr["LastTopicId"].ToString()); fi.LastReplyId = int.Parse(dr["LastReplyId"].ToString()); fi.LastPostSubject = dr["LastPostSubject"].ToString(); fi.LastPostDisplayName = dr["LastPostAuthorName"].ToString(); fi.LastPostUserID = int.Parse(dr["LastPostAuthorId"].ToString()); fi.LastPostUserName = fi.LastPostDisplayName; fi.LastRead = DateTime.Parse(dr["LastRead"].ToString()); gi.Active = bool.Parse(dr["GroupActive"].ToString()); gi.Hidden = bool.Parse(dr["GroupHidden"].ToString()); gi.GroupName = fi.GroupName; gi.ForumGroupId = fi.ForumGroupId; gi.PrefixURL = dr["GroupPrefixURL"].ToString(); //gi.SEO = dr("GroupSEO").ToString fi.ForumGroup = gi; fi.Security.Announce = dr["CanAnnounce"].ToString(); fi.Security.Attach = dr["CanAttach"].ToString(); fi.Security.Create = dr["CanCreate"].ToString(); fi.Security.Delete = dr["CanDelete"].ToString(); fi.Security.Edit = dr["CanEdit"].ToString(); fi.Security.Lock = dr["CanLock"].ToString(); fi.Security.ModApprove = dr["CanModApprove"].ToString(); fi.Security.ModDelete = dr["CanModDelete"].ToString(); fi.Security.ModEdit = dr["CanModEdit"].ToString(); fi.Security.ModLock = dr["CanModLock"].ToString(); fi.Security.ModMove = dr["CanModMove"].ToString(); fi.Security.ModPin = dr["CanModPin"].ToString(); fi.Security.ModSplit = dr["CanModSplit"].ToString(); fi.Security.ModUser = dr["CanModUser"].ToString(); fi.Security.Pin = dr["CanPin"].ToString(); fi.Security.Poll = dr["CanPoll"].ToString(); fi.Security.Block = dr["CanBlock"].ToString(); fi.Security.Read = dr["CanRead"].ToString(); fi.Security.Reply = dr["CanReply"].ToString(); fi.Security.Subscribe = dr["CanSubscribe"].ToString(); fi.Security.Trust = dr["CanTrust"].ToString(); fi.Security.View = dr["CanView"].ToString(); fi.ForumSettings = LoadSettings(dr); fi.PrefixURL = dr["PrefixURL"].ToString(); //.SEO = dr("ForumSEO").ToString fi.TotalTopics = int.Parse(dr["TotalTopics"].ToString()); fi.TotalReplies = int.Parse(dr["TotalReplies"].ToString()); f.Add(fi); } dr.Close(); } DataCache.CacheStore(string.Format(CacheKeys.ForumList, ModuleId), f); } return f; }
/// <summary> /// Creates department forum group. /// </summary> /// <param name="departmentNode">Department node</param> private void CreateDepartmentForumGroup(TreeNode departmentNode) { // Set general values string departmentName = departmentNode.DocumentName; string suffix = ""; #region "Create forum group" // Get forum group code name string groupCodeName = "Department_" + departmentNode.NodeGUID; // Check if forum group with given name already exists if (ForumGroupInfoProvider.GetForumGroupInfo(groupCodeName, CMSContext.CurrentSiteID) != null) { return; } // Create base URL for forums string baseUrl = CMSContext.GetUrl(departmentNode.NodeAliasPath + "/" + FORUM_DOCUMENT_ALIAS); ForumGroupInfo forumGroupObj = new ForumGroupInfo(); forumGroupObj.GroupDescription = "Forum group for " + departmentName + " department."; suffix = " forum group"; forumGroupObj.GroupDisplayName = TextHelper.LimitLength(departmentName, 200 - suffix.Length, "") + suffix; forumGroupObj.GroupName = groupCodeName; forumGroupObj.GroupOrder = 0; forumGroupObj.GroupEnableQuote = true; forumGroupObj.GroupSiteID = CMSContext.CurrentSiteID; forumGroupObj.GroupBaseUrl = baseUrl; // Additional settings forumGroupObj.GroupEnableCodeSnippet = true; forumGroupObj.GroupEnableFontBold = true; forumGroupObj.GroupEnableFontColor = true; forumGroupObj.GroupEnableFontItalics = true; forumGroupObj.GroupEnableFontStrike = true; forumGroupObj.GroupEnableFontUnderline = true; forumGroupObj.GroupEnableQuote = true; forumGroupObj.GroupEnableURL = true; forumGroupObj.GroupEnableImage = true; ForumGroupInfoProvider.SetForumGroupInfo(forumGroupObj); #endregion #region "Create forum" string codeName = "Default_department_" + departmentNode.NodeGUID; // Check if forum with given name already exists if (ForumInfoProvider.GetForumInfo(codeName, CMSContext.CurrentSite.SiteID) != null) { return; } ForumInfo forumObj = new ForumInfo(); forumObj.ForumSiteID = CMSContext.CurrentSiteID; forumObj.ForumIsLocked = false; forumObj.ForumOpen = true; forumObj.ForumDisplayEmails = false; forumObj.ForumDescription = "Forum for " + departmentName + " department."; forumObj.ForumRequireEmail = false; suffix = " forum"; forumObj.ForumDisplayName = TextHelper.LimitLength(departmentName, 200 - suffix.Length, "") + suffix; forumObj.ForumName = codeName; forumObj.ForumGroupID = forumGroupObj.GroupID; forumObj.ForumModerated = false; forumObj.ForumAccess = 40000; forumObj.ForumPosts = 0; forumObj.ForumThreads = 0; forumObj.ForumPostsAbsolute = 0; forumObj.ForumThreadsAbsolute = 0; forumObj.ForumOrder = 0; forumObj.ForumUseCAPTCHA = false; forumObj.SetValue("ForumHTMLEditor", null); // Set security forumObj.AllowAccess = SecurityAccessEnum.AuthorizedRoles; forumObj.AllowAttachFiles = SecurityAccessEnum.AuthorizedRoles; forumObj.AllowMarkAsAnswer = SecurityAccessEnum.AuthorizedRoles; forumObj.AllowPost = SecurityAccessEnum.AuthorizedRoles; forumObj.AllowReply = SecurityAccessEnum.AuthorizedRoles; forumObj.AllowSubscribe = SecurityAccessEnum.AuthorizedRoles; if (ForumInfoProvider.LicenseVersionCheck(URLHelper.GetCurrentDomain(), FeatureEnum.Forums, VersionActionEnum.Insert)) { ForumInfoProvider.SetForumInfo(forumObj); } #endregion }
/// <summary> /// Sets data to database. /// </summary> protected void btnOK_Click(object sender, EventArgs e) { if (!CheckPermissions("cms.forums", CMSAdminControl.PERMISSION_MODIFY)) { return; } // Generate code name in simple mode string codeName = txtGroupName.Text.Trim(); if (this.DisplayMode == ControlDisplayModeEnum.Simple) { codeName = ValidationHelper.GetCodeName(txtGroupDisplayName.Text, 50) + "_group_" + this.CommunityGroupGUID; } string errorMessage = new Validator().NotEmpty(txtGroupDisplayName.Text, GetString("general.requiresdisplayname")) .NotEmpty(codeName, GetString("general.requirescodename")) .IsCodeName(codeName, GetString("general.errorcodenameinidentificatorformat")).Result; if (errorMessage != "") { lblError.Visible = true; lblError.Text = errorMessage; return; } // If forum group with given name already exists show error message if (ForumGroupInfoProvider.GetForumGroupInfo(codeName, CMSContext.CurrentSiteID, this.CommunityGroupID) != null) { lblError.Visible = true; lblError.Text = GetString("Group_General.GroupAlreadyExists"); return; } ForumGroupInfo forumGroupObj = new ForumGroupInfo(); forumGroupObj.GroupDescription = txtGroupDescription.Text.Trim(); forumGroupObj.GroupDisplayName = txtGroupDisplayName.Text.Trim(); forumGroupObj.GroupName = codeName; forumGroupObj.GroupOrder = 0; forumGroupObj.GroupEnableQuote = true; forumGroupObj.GroupLogActivity = true; if (DisplayMode != ControlDisplayModeEnum.Simple) { forumGroupObj.GroupBaseUrl = chkInheritBaseUrl.Checked ? null : txtForumBaseUrl.Text.Trim(); forumGroupObj.GroupUnsubscriptionUrl = chkInheritUnsubUrl.Checked ? null : txtUnsubscriptionUrl.Text.Trim(); } // Leave base url and unsubscription url empty for community forum group else if (this.CommunityGroupID > 0) { string baseUrl = String.Empty; // Get base url from automatically created forum group string forumGroupName = "Forums_group_" + this.CommunityGroupGUID; ForumGroupInfo autoGroup = ForumGroupInfoProvider.GetForumGroupInfo(forumGroupName, CMSContext.CurrentSite.SiteID, this.CommunityGroupID); if (autoGroup != null) { baseUrl = autoGroup.GroupBaseUrl; } forumGroupObj.GroupBaseUrl = baseUrl; forumGroupObj.GroupUnsubscriptionUrl = String.Empty; } if (CMSContext.CurrentSite != null) { forumGroupObj.GroupSiteID = CMSContext.CurrentSite.SiteID; } // Set the information on community group ID if available if (this.CommunityGroupID > 0) { forumGroupObj.GroupGroupID = this.CommunityGroupID; } ForumGroupInfoProvider.SetForumGroupInfo(forumGroupObj); this.mGroupId = forumGroupObj.GroupID; this.RaiseOnSaved(); }
private string ParseForumGroup(ForumGroupInfo f, string template) { template = template.Replace("[AF:DIR:FORUMGROUPID]", f.ForumGroupId.ToString()); template = template.Replace("[AF:DIR:FORUMGROUPNAME]", f.GroupName); return template; }
protected void Page_Load(object sender, EventArgs e) { if (StopProcessing || !Visible) { EnableViewState = false; } // Do not edit code name in simple mode if (DisplayMode == ControlDisplayModeEnum.Simple) { plcCodeName.Visible = false; } // Control initializations rfvGroupDisplayName.ErrorMessage = GetString("general.requiresdisplayname"); rfvGroupName.ErrorMessage = GetString("general.requirescodename"); if (!IsLiveSite && !RequestHelper.IsPostBack()) { if (CommunityGroupID > 0) { chkInheritBaseUrl.Checked = false; chkInheritUnsubUrl.Checked = false; } ReloadData(); } // Show/hide URL textboxes plcBaseAndUnsubUrl.Visible = (DisplayMode != ControlDisplayModeEnum.Simple); if (plcBaseAndUnsubUrl.Visible) { SetUrls(); } forumGroupObj = new ForumGroupInfo(); // Set edited object EditedObject = forumGroupObj; }
/// <summary> /// Gets and bulk updates forum groups. Called when the "Get and bulk update groups" button is pressed. /// Expects the CreateForumGroup method to be run first. /// </summary> private bool GetAndBulkUpdateForumGroups() { // Prepare the parameters string where = "GroupName LIKE N'MyNewGroup%'"; string orderBy = ""; string columns = ""; int topN = 10; // Get the data DataSet groups = ForumGroupInfoProvider.GetGroups(where, orderBy, topN, columns); if (!DataHelper.DataSourceIsEmpty(groups)) { // Loop through the individual items foreach (DataRow groupDr in groups.Tables[0].Rows) { // Create object from DataRow ForumGroupInfo modifyGroup = new ForumGroupInfo(groupDr); // Update the properties modifyGroup.GroupDisplayName = modifyGroup.GroupDisplayName.ToUpper(); // Save the changes ForumGroupInfoProvider.SetForumGroupInfo(modifyGroup); } return true; } return false; }