/// <summary> /// Creates new invitation to group. Called when the "Add member to group" button is pressed. /// Expects the CreateGroup method to be run first. /// </summary> private bool CreateInvitation() { // Get the group GroupInfo group = GroupInfoProvider.GetGroupInfo("MyNewGroup", CMSContext.CurrentSiteName); if (group != null) { // Create new invitation InvitationInfo newInvitation = new InvitationInfo(); // Set properties newInvitation.InvitationComment = "Invitation created by API example."; newInvitation.InvitationGroupID = group.GroupID; newInvitation.InvitationUserEmail = "*****@*****.**"; newInvitation.InvitedByUserID = CMSContext.CurrentUser.UserID; newInvitation.InvitationCreated = DateTime.Now; newInvitation.InvitationValidTo = DateTime.Now.AddDays(1); // Save object InvitationInfoProvider.SetInvitationInfo(newInvitation); return(true); } return(false); }
/// <summary> /// Handles the UniGrid's OnAction event. /// </summary> /// <param name="actionName">Name of item (button) that throws event</param> /// <param name="actionArgument">ID (value of Primary key) of corresponding data row</param> protected void gridElem_OnAction(string actionName, object actionArgument) { switch (actionName) { case "delete": case "approve": case "reject": // Check MANAGE permission for groups module if (!CheckPermissions("cms.groups", CMSAdminControl.PERMISSION_MANAGE, this.GroupID)) { return; } break; } if (actionName == "delete") { // Delete member GroupMemberInfoProvider.DeleteGroupMemberInfo(ValidationHelper.GetInteger(actionArgument, 0)); } else if (actionName == "approve") { // Approve member GroupMemberInfo gmi = GroupMemberInfoProvider.GetGroupMemberInfo(ValidationHelper.GetInteger(actionArgument, 0)); if (gmi != null) { gmi.MemberApprovedByUserID = CMSContext.CurrentUser.UserID; gmi.MemberStatus = GroupMemberStatus.Approved; gmi.MemberApprovedWhen = DateTime.Now; gmi.MemberRejectedWhen = DataHelper.DATETIME_NOT_SELECTED; GroupMemberInfoProvider.SetGroupMemberInfo(gmi); GroupInfo group = GroupInfoProvider.GetGroupInfo(this.GroupID); if ((group != null) && (group.GroupSendWaitingForApprovalNotification)) { GroupMemberInfoProvider.SendNotificationMail("Groups.MemberApproved", CMSContext.CurrentSiteName, gmi, false); } } } else if (actionName == "reject") { // Reject member GroupMemberInfo gmi = GroupMemberInfoProvider.GetGroupMemberInfo(ValidationHelper.GetInteger(actionArgument, 0)); if (gmi != null) { gmi.MemberApprovedByUserID = CMSContext.CurrentUser.UserID; gmi.MemberStatus = GroupMemberStatus.Rejected; gmi.MemberApprovedWhen = DataHelper.DATETIME_NOT_SELECTED; gmi.MemberRejectedWhen = DateTime.Now; GroupMemberInfoProvider.SetGroupMemberInfo(gmi); GroupInfo group = GroupInfoProvider.GetGroupInfo(this.GroupID); if ((group != null) && (group.GroupSendWaitingForApprovalNotification)) { GroupMemberInfoProvider.SendNotificationMail("Groups.MemberRejected", CMSContext.CurrentSiteName, gmi, false); } } } this.RaiseOnAction(actionName, actionArgument); }
protected void Page_Load(object sender, EventArgs e) { // Only community manager can delete group if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("CMS.Groups", CMSAdminControl.PERMISSION_MANAGE)) { RedirectToAccessDenied("CMS.Groups", CMSAdminControl.PERMISSION_MANAGE); } int groupId = QueryHelper.GetInteger("groupid", 0); gi = GroupInfoProvider.GetGroupInfo(groupId); if (gi != null) { lblMsg.Style.Add("font-weight", "bold"); chkDeleteAll.Text = MacroResolver.Resolve(GetString("group.deleterelated")); mGroupListUrl = ResolveUrl(mGroupListUrl); // Pagetitle PageTitle.TitleText = GetString("group.deletegroup") + " \"" + HTMLHelper.HTMLEncode(gi.GroupDisplayName) + "\""; // Initialize breadcrumbs PageBreadcrumbs.Items.Add(new BreadcrumbItem() { Text = GetString("deletegroup.listlink"), RedirectUrl = mGroupListUrl, }); PageBreadcrumbs.Items.Add(new BreadcrumbItem() { Text = HTMLHelper.HTMLEncode(gi.GroupDisplayName), }); btnDelete.Click += new EventHandler(btnDelete_Click); btnCancel.Click += new EventHandler(btnCancel_Click); } }
/// <summary> /// Approves member. /// </summary> public bool RejectMember() { // Check MANAGE permission for groups module if (!CheckPermissions("cms.groups", PERMISSION_MANAGE, GroupID)) { return(false); } if ((CurrentMember != null) && (MembershipContext.AuthenticatedUser != null)) { // Set properties CurrentMember.MemberApprovedByUserID = MembershipContext.AuthenticatedUser.UserID; CurrentMember.MemberStatus = GroupMemberStatus.Rejected; CurrentMember.MemberApprovedWhen = DateTimeHelper.ZERO_TIME; CurrentMember.MemberRejectedWhen = DateTime.Now; // Save to database GroupMemberInfoProvider.SetGroupMemberInfo(CurrentMember); GroupInfo group = GroupInfoProvider.GetGroupInfo(GroupID); if ((group != null) && (group.GroupSendWaitingForApprovalNotification)) { // Send notification email GroupMemberInfoProvider.SendNotificationMail("Groups.MemberRejected", SiteContext.CurrentSiteName, CurrentMember, false); } lblMemberApproved.Text = GetApprovalInfoText(CurrentMember.MemberApprovedWhen, CurrentMember.MemberApprovedByUserID); lblMemberRejected.Text = GetApprovalInfoText(CurrentMember.MemberRejectedWhen, CurrentMember.MemberApprovedByUserID); return(true); } return(false); }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { // Do nothing } else { SetContext(); boardsElem.HideWhenGroupIsNotSupplied = true; boardsElem.OnCheckPermissions += boardsElem_OnCheckPermissions; GroupInfo gi = GroupInfoProvider.GetGroupInfo(GroupName, SiteContext.CurrentSiteName); if (gi != null) { boardsElem.GroupID = gi.GroupID; } else { Visible = false; } ReleaseContext(); } }
protected void Page_Load(object sender, EventArgs e) { roleUsersElem.IsLiveSite = false; roleId = QueryHelper.GetInteger("roleid", 0); groupId = QueryHelper.GetInteger("groupid", 0); // Check whether group exists GroupInfo gi = GroupInfoProvider.GetGroupInfo(groupId); if (gi != null) { //Check whether selected role is in selected group RoleInfo ri = RoleInfoProvider.GetRoleInfo(roleId); if ((ri != null) && (ri.RoleGroupID == gi.GroupID)) { roleUsersElem.RoleID = roleId; roleUsersElem.GroupID = groupId; roleUsersElem.OnCheckPermissions += roleUsersElem_OnCheckPermissions; } } else { roleUsersElem.Visible = false; } }
/// <summary> /// Handles the UniGrid's OnAction event. /// </summary> /// <param name="actionName">Name of item (button) that throws event</param> /// <param name="actionArgument">ID (value of Primary key) of corresponding data row</param> protected void gridElem_OnAction(string actionName, object actionArgument) { GroupInfo gi = null; // Handle event switch (actionName) { case "approve": CheckPermissions(); gi = GroupInfoProvider.GetGroupInfo(ValidationHelper.GetInteger(actionArgument, 0)); gi.GroupApproved = true; gi.GroupApprovedByUserID = MembershipContext.AuthenticatedUser.UserID; GroupInfoProvider.SetGroupInfo(gi); break; case "reject": CheckPermissions(); gi = GroupInfoProvider.GetGroupInfo(ValidationHelper.GetInteger(actionArgument, 0)); gi.GroupApproved = false; gi.GroupApprovedByUserID = 0; GroupInfoProvider.SetGroupInfo(gi); break; } RaiseOnAction(actionName, actionArgument); }
/// <summary> /// Gets and updates group member. Called when the "Get and update member" button is pressed. /// Expects the CreateGroupMember method to be run first. /// </summary> private bool GetAndUpdateGroupMember() { // Get the group GroupInfo group = GroupInfoProvider.GetGroupInfo("MyNewGroup", CMSContext.CurrentSiteName); if (group != null) { // Get the user UserInfo user = UserInfoProvider.GetUserInfo(CMSContext.CurrentUser.UserName); if (user != null) { // Get the group member GroupMemberInfo updateMember = GroupMemberInfoProvider.GetGroupMemberInfo(user.UserID, group.GroupID); if (updateMember != null) { // Update the properties updateMember.MemberComment = updateMember.MemberComment.ToLowerCSafe(); // Save the changes GroupMemberInfoProvider.SetGroupMemberInfo(updateMember); return(true); } } } return(false); }
/// <summary> /// Deletes group member. Called when the "Delete member" button is pressed. /// Expects the CreateGroupMember method to be run first. /// </summary> private bool DeleteGroupMember() { // Get the group GroupInfo group = GroupInfoProvider.GetGroupInfo("MyNewGroup", CMSContext.CurrentSiteName); if (group != null) { // Get the user UserInfo user = UserInfoProvider.GetUserInfo(CMSContext.CurrentUser.UserName); if (user != null) { // Get the group member GroupMemberInfo deleteMember = GroupMemberInfoProvider.GetGroupMemberInfo(user.UserID, group.GroupID); if (deleteMember != null) { // Save the changes GroupMemberInfoProvider.DeleteGroupMemberInfo(deleteMember); return(true); } } } return(false); }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { // Do nothing } else { srcMedia.WhereCondition = this.WhereCondition; srcMedia.OrderBy = this.OrderBy; srcMedia.TopN = this.SelectTopN; srcMedia.FilterName = this.ID; srcMedia.SourceFilterName = this.FilterName; srcMedia.CacheItemName = this.CacheItemName; srcMedia.CacheDependencies = this.CacheDependencies; srcMedia.CacheMinutes = this.CacheMinutes; srcMedia.SelectedColumns = this.Columns; // Set group ID srcMedia.GroupID = -1; if (!string.IsNullOrEmpty(this.GroupName)) { GroupInfo gi = GroupInfoProvider.GetGroupInfo(this.GroupName, CMSContext.CurrentSiteName); if (gi != null) { srcMedia.GroupID = gi.GroupID; } } } }
/// <summary> /// Creates group member. Called when the "Create member" button is pressed. /// </summary> private bool CreateGroupMember() { // Get the group GroupInfo group = GroupInfoProvider.GetGroupInfo("MyNewGroup", CMSContext.CurrentSiteName); if (group != null) { // Get the user UserInfo user = UserInfoProvider.GetUserInfo(CMSContext.CurrentUser.UserName); if (user != null) { // Create new group member object GroupMemberInfo newMember = new GroupMemberInfo(); //Set the properties newMember.MemberGroupID = group.GroupID; newMember.MemberApprovedByUserID = CurrentUser.UserID; newMember.MemberApprovedWhen = DateTime.Now; newMember.MemberInvitedByUserID = CurrentUser.UserID; newMember.MemberUserID = user.UserID; newMember.MemberJoined = DateTime.Now; newMember.MemberComment = "New member added by API example."; // Save the member GroupMemberInfoProvider.SetGroupMemberInfo(newMember); } return(true); } return(false); }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (this.StopProcessing) { // Do nothing viewPoll.Visible = false; } else { GroupInfo gi = GroupInfoProvider.GetGroupInfo(this.GroupName, CMSContext.CurrentSiteName); if (gi != null) { viewPoll.ControlContext = ControlContext; viewPoll.PollCodeName = PollCodeName; viewPoll.CheckPermissions = CheckPermissions; viewPoll.CheckVoted = CheckVoted; viewPoll.CountType = CountType; viewPoll.CacheMinutes = CacheMinutes; viewPoll.HideWhenNotAuthorized = HideWhenNotAuthorized; viewPoll.ShowGraph = ShowGraph; viewPoll.ShowResultsAfterVote = ShowResultsAfterVote; viewPoll.HideWhenNotOpened = HideWhenNotOpened; viewPoll.ButtonText = ButtonText; viewPoll.OnAfterVoted += viewPoll_OnAfterVoted; viewPoll.PollSiteID = CMSContext.CurrentSiteID; viewPoll.PollGroupID = gi.GroupID; } else { viewPoll.Visible = false; } } }
/// <summary> /// Approves member. /// </summary> public bool RejectMember() { // Check MANAGE permission for groups module if (!CheckPermissions("cms.groups", CMSAdminControl.PERMISSION_MANAGE, this.GroupID)) { return(false); } EnsureMember(); if ((this.gmi != null) && (CMSContext.CurrentUser != null)) { // Set properties this.gmi.MemberApprovedByUserID = CMSContext.CurrentUser.UserID; this.gmi.MemberStatus = GroupMemberStatus.Rejected; this.gmi.MemberApprovedWhen = DataHelper.DATETIME_NOT_SELECTED; this.gmi.MemberRejectedWhen = DateTime.Now; // Save to database GroupMemberInfoProvider.SetGroupMemberInfo(this.gmi); GroupInfo group = GroupInfoProvider.GetGroupInfo(this.GroupID); if ((group != null) && (group.GroupSendWaitingForApprovalNotification)) { // Send notification email GroupMemberInfoProvider.SendNotificationMail("Groups.MemberRejected", CMSContext.CurrentSiteName, this.gmi, false); } this.lblMemberApproved.Text = GetApprovalInfoText(gmi.MemberApprovedWhen, gmi.MemberApprovedByUserID); this.lblMemberRejected.Text = GetApprovalInfoText(gmi.MemberRejectedWhen, gmi.MemberApprovedByUserID); return(true); } return(false); }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { // Do nothing } else { ScriptHelper.RegisterBootstrapScripts(this.Page); pollsElem.IsLiveSite = true; pollsElem.HideWhenGroupIsNotSupplied = true; pollsElem.OnCheckPermissions += pollsElem_OnCheckPermissions; GroupInfo gi = GroupInfoProvider.GetGroupInfo(GroupName, SiteContext.CurrentSiteName); if (gi != null) { pollsElem.GroupID = gi.GroupID; pollsElem.SiteID = gi.GroupSiteID; } else { Visible = false; } pollsElem.ReloadData(); } }
protected void Page_Load(object sender, EventArgs e) { // Only community manager can delete group if (!CMSContext.CurrentUser.IsAuthorizedPerResource("CMS.Groups", CMSAdminControl.PERMISSION_MANAGE)) { RedirectToCMSDeskAccessDenied("CMS.Groups", CMSAdminControl.PERMISSION_MANAGE); } int groupId = QueryHelper.GetInteger("groupid", 0); gi = GroupInfoProvider.GetGroupInfo(groupId); if (gi != null) { lblMsg.Style.Add("font-weight", "bold"); mGroupListUrl = ResolveUrl(mGroupListUrl); // Pagetitle this.CurrentMaster.Title.TitleText = GetString("group.deletegroup") + " \"" + HTMLHelper.HTMLEncode(gi.GroupDisplayName) + "\""; this.CurrentMaster.Title.TitleImage = GetImageUrl("CMSModules/CMS_Groups/groupdelete.png"); // Initializes breadcrumbs string[,] breadcrumbs = new string[2, 3]; breadcrumbs[0, 0] = GetString("group.deletegroup.listlink"); breadcrumbs[0, 1] = mGroupListUrl; breadcrumbs[0, 2] = ""; breadcrumbs[1, 0] = HTMLHelper.HTMLEncode(gi.GroupDisplayName); breadcrumbs[1, 1] = ""; breadcrumbs[1, 2] = ""; this.CurrentMaster.Title.Breadcrumbs = breadcrumbs; btnDelete.Click += new EventHandler(btnDelete_Click); btnCancel.Click += new EventHandler(btnCancel_Click); } }
/// <summary> /// Deletes group. Called when the "Delete group" button is pressed. /// Expects the CreateGroup method to be run first. /// </summary> private bool DeleteGroup() { // Get the group GroupInfo deleteGroup = GroupInfoProvider.GetGroupInfo("MyNewGroup", CMSContext.CurrentSiteName); // Delete the group GroupInfoProvider.DeleteGroupInfo(deleteGroup); return(deleteGroup != null); }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { // Do nothing } else { // Get group info GroupInfo gi = null; if (((GroupName == "") || GroupName == GroupInfoProvider.CURRENT_GROUP) && (CommunityContext.CurrentGroup != null)) { gi = CommunityContext.CurrentGroup; } else { gi = GroupInfoProvider.GetGroupInfo(GroupName, SiteContext.CurrentSiteName); } if (gi != null) { // Get alternative form info AlternativeFormInfo afi = AlternativeFormInfoProvider.GetAlternativeFormInfo(AlternativeFormName); if (afi != null) { // Initialize data form formElem.Visible = true; formElem.Info = gi; formElem.AlternativeFormFullName = AlternativeFormName; formElem.SubmitButton.Visible = false; formElem.IsLiveSite = true; } else { lblError.Text = String.Format(GetString("altform.formdoesntexists"), AlternativeFormName); lblError.Visible = true; plcContent.Visible = false; } } else { // Hide data form formElem.Visible = false; lblNoProfile.Visible = true; lblNoProfile.Text = NoProfileText; } } }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { // Do nothing } else { membersElem.HideWhenGroupIsNotSupplied = true; membersElem.OnCheckPermissions += membersElem_OnCheckPermissions; GroupInfo gi = GroupInfoProvider.GetGroupInfo(GroupName, SiteContext.CurrentSiteName); if (gi != null) { membersElem.GroupID = gi.GroupID; } } }
public void RaisePostBackEvent(string eventArgument) { if (!CheckPermissions("cms.groups", PERMISSION_MANAGE, GroupID)) { return; } string[] args = eventArgument.Split(';'); if (args.Length == 2) { // Get info on currently selected item int permission = Convert.ToInt32(args[0]); int access = Convert.ToInt32(args[1]); GroupInfo group = GroupInfoProvider.GetGroupInfo(GroupID); if (group != null) { // Update forum permission access information switch (permission) { case 0: // Set 'AllowCreate' permission to specified access group.AllowCreate = (SecurityAccessEnum)access; break; case 1: // Set 'AllowDelete' permission to specified access group.AllowDelete = ((SecurityAccessEnum)access); break; case 2: // Set 'AllowModify' permission to specified access group.AllowModify = (SecurityAccessEnum)access; break; default: break; } // Save changes to the forum GroupInfoProvider.SetGroupInfo(group); } } }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { // Do nothing } else { SetContext(); messageElem.ErrorMessage = NoPermissionMessage; messageElem.IsLiveSite = true; groupProfileElem.IsLiveSite = true; groupProfileElem.RedirectToAccessDeniedPage = false; groupProfileElem.OnCheckPermissions += new CMSAdminControl.CheckPermissionsEventHandler(groupProfileElem_OnCheckPermissions); groupProfileElem.HideWhenGroupIsNotSupplied = true; GroupInfo gi = GroupInfoProvider.GetGroupInfo(GroupName, SiteContext.CurrentSiteName); if (gi != null) { groupProfileElem.GroupID = gi.GroupID; groupProfileElem.AllowChangeGroupDisplayName = AllowChangeGroupDisplayName; groupProfileElem.AllowSelectTheme = AllowSelectTheme; groupProfileElem.ShowGeneralTab = DisplayGeneral; groupProfileElem.ShowSecurityTab = DisplaySecurity; groupProfileElem.ShowMembersTab = DisplayMembers; groupProfileElem.ShowRolesTab = DisplayRoles; groupProfileElem.ShowForumsTab = DisplayForums; groupProfileElem.ShowMediaTab = DisplayMediaLibrary; groupProfileElem.ShowMessageBoardsTab = DisplayMessageBoards; groupProfileElem.ShowPollsTab = DisplayPolls; groupProfileElem.ShowProjectsTab = DisplayProjects; } else { groupProfileElem.StopProcessing = true; groupProfileElem.Visible = false; mDisplayMessage = true; } ReleaseContext(); } }
/// <summary> /// Gets and updates group. Called when the "Get and update group" button is pressed. /// Expects the CreateGroup method to be run first. /// </summary> private bool GetAndUpdateGroup() { // Get the group GroupInfo updateGroup = GroupInfoProvider.GetGroupInfo("MyNewGroup", CMSContext.CurrentSiteName); if (updateGroup != null) { // Update the properties updateGroup.GroupDisplayName = updateGroup.GroupDisplayName.ToLowerCSafe(); // Save the changes GroupInfoProvider.SetGroupInfo(updateGroup); return(true); } return(false); }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { // Do nothing } else { forumsElem.HideWhenGroupIsNotSupplied = true; forumsElem.OnCheckPermissions += new CMSAdminControl.CheckPermissionsEventHandler(forumsElem_OnCheckPermissions); GroupInfo gi = GroupInfoProvider.GetGroupInfo(GroupName, CMSContext.CurrentSiteName); if (gi != null) { forumsElem.GroupID = gi.GroupID; } } }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { // Do nothing } else { groupPermissions.OnCheckPermissions += groupPermissions_OnCheckPermissions; GroupInfo gi = GroupInfoProvider.GetGroupInfo(GroupName, SiteContext.CurrentSiteName); if (gi != null) { groupPermissions.GroupID = gi.GroupID; } else { Visible = false; } } }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { // Do nothing } else { rolesElem.HideWhenGroupIsNotSupplied = true; rolesElem.OnCheckPermissions += rolesElem_OnCheckPermissions; GroupInfo gi = GroupInfoProvider.GetGroupInfo(GroupName, CMSContext.CurrentSiteName); if (gi != null) { rolesElem.GroupID = gi.GroupID; rolesElem.SiteID = CMSContext.CurrentSiteID; } else { Visible = false; } } }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { // Do nothing } else { groupEditElem.HideWhenGroupIsNotSupplied = true; groupEditElem.OnCheckPermissions += groupEditElem_OnCheckPermissions; GroupInfo gi = GroupInfoProvider.GetGroupInfo(GroupName, CMSContext.CurrentSiteName); if (gi != null) { groupEditElem.AllowChangeGroupDisplayName = AllowChangeGroupDisplayName; groupEditElem.GroupID = gi.GroupID; groupEditElem.SiteID = gi.GroupSiteID; groupEditElem.AllowSelectTheme = AllowSelectTheme; } else { Visible = false; } } }
protected void Page_Load(object sender, EventArgs e) { // Get the group ID and the group InfoObject groupId = QueryHelper.GetInteger("groupid", 0); GroupInfo gi = GroupInfoProvider.GetGroupInfo(groupId); if (gi != null) { groupDisplayName = HTMLHelper.HTMLEncode(gi.GroupDisplayName); } // Page title this.CurrentMaster.Title.TitleText = GetString("Group.EditHeaderCaption"); this.CurrentMaster.Title.TitleImage = GetImageUrl("Objects/Community_Group/object.png"); this.CurrentMaster.Title.HelpTopicName = "group_general"; this.CurrentMaster.Title.HelpName = "helpTopic"; // Pagetitle breadcrumbs string[,] pageTitleTabs = new string[2, 3]; pageTitleTabs[0, 0] = GetString("Group.ItemListLink"); pageTitleTabs[0, 1] = "~/CMSModules/Groups/Tools/Group_List.aspx"; pageTitleTabs[0, 2] = "_parent"; pageTitleTabs[1, 0] = groupDisplayName; pageTitleTabs[1, 1] = ""; pageTitleTabs[1, 2] = ""; this.CurrentMaster.Title.Breadcrumbs = pageTitleTabs; // Tabs string[,] tabs = new string[9, 4]; tabs[0, 0] = GetString("General.General"); tabs[0, 1] = "SetHelpTopic('helpTopic', 'group_general');"; tabs[0, 2] = "Group_Edit_General.aspx?groupID=" + groupId; tabs[1, 0] = GetString("General.Security"); tabs[1, 1] = "SetHelpTopic('helpTopic', 'group_security');"; tabs[1, 2] = "Security/Security.aspx?groupID=" + groupId; tabs[2, 0] = GetString("Group.Members"); tabs[2, 1] = "SetHelpTopic('helpTopic', 'group_members_list');"; tabs[2, 2] = "Members/Member_List.aspx?groupID=" + groupId; if (ResourceSiteInfoProvider.IsResourceOnSite("CMS.Roles", CMSContext.CurrentSiteName)) { tabs[3, 0] = GetString("general.roles"); tabs[3, 1] = "SetHelpTopic('helpTopic', 'group_roles_list');"; tabs[3, 2] = "Roles/Role_List.aspx?groupID=" + groupId; } if (ResourceSiteInfoProvider.IsResourceOnSite("CMS.Forums", CMSContext.CurrentSiteName)) { tabs[4, 0] = GetString("group_general.forums"); tabs[4, 1] = "SetHelpTopic('helpTopic', 'forum_list');"; tabs[4, 2] = "Forums/Groups/ForumGroups_List.aspx?groupid=" + groupId; } if (ResourceSiteInfoProvider.IsResourceOnSite("CMS.MediaLibrary", CMSContext.CurrentSiteName)) { tabs[5, 0] = GetString("Group.MediaLibrary"); tabs[5, 1] = "SetHelpTopic('helpTopic', 'library_list');"; tabs[5, 2] = "MediaLibrary/Library_List.aspx?groupid=" + groupId; } if (ResourceSiteInfoProvider.IsResourceOnSite("CMS.MessageBoards", CMSContext.CurrentSiteName)) { tabs[6, 0] = GetString("Group.MessageBoards"); tabs[6, 1] = "SetHelpTopic('helpTopic', 'group_messageboard');"; tabs[6, 2] = "MessageBoards/Boards_Default.aspx?groupid=" + groupId; } if (ResourceSiteInfoProvider.IsResourceOnSite("CMS.Polls", CMSContext.CurrentSiteName)) { tabs[7, 0] = GetString("Group.Polls"); tabs[7, 1] = "SetHelpTopic('helpTopic', 'polls_list');"; tabs[7, 2] = "Polls/Polls_List.aspx?groupID=" + groupId; } // Check whether license for project management is avilable // if no hide project management tab if (LicenseHelper.CheckFeature(URLHelper.GetCurrentDomain(), FeatureEnum.ProjectManagement)) { // Check site availability if (ResourceSiteInfoProvider.IsResourceOnSite("CMS.ProjectManagement", CMSContext.CurrentSiteName)) { tabs[8, 0] = ResHelper.GetString("pm.project.list"); tabs[8, 1] = "SetHelpTopic('helpTopic', 'pm_projects');"; tabs[8, 2] = "ProjectManagement/Project/List.aspx?groupid=" + groupId; } } this.CurrentMaster.Tabs.Tabs = tabs; this.CurrentMaster.Tabs.UrlTarget = "content"; }
protected void Page_Load(object sender, EventArgs e) { if (!Visible) { EnableViewState = false; } if (StopProcessing) { // Do nothing Visible = false; groupPictureEdit.StopProcessing = true; groupPageURLElem.StopProcessing = true; } else { string currSiteName = SiteContext.CurrentSiteName; plcGroupLocation.Visible = DisplayAdvanceOptions; plcAdvanceOptions.Visible = DisplayAdvanceOptions; groupPageURLElem.EnableSiteSelection = false; plcOnline.Visible = ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(currSiteName); ctrlSiteSelectStyleSheet.CurrentSelector.ReturnColumnName = "StyleSheetID"; ctrlSiteSelectStyleSheet.SiteId = SiteContext.CurrentSiteID; ctrlSiteSelectStyleSheet.AllowEditButtons = false; ctrlSiteSelectStyleSheet.IsLiveSite = IsLiveSite; lblStyleSheetName.AssociatedControlClientID = ctrlSiteSelectStyleSheet.CurrentSelector.ClientID; // Is allow edit display name is set on live site if ((AllowChangeGroupDisplayName) && (IsLiveSite)) { if (!plcAdvanceOptions.Visible) { plcCodeName.Visible = false; } plcAdvanceOptions.Visible = true; } // Web parts theme selector visibility if ((!AllowSelectTheme) && (IsLiveSite)) { plcStyleSheetSelector.Visible = false; } RaiseOnCheckPermissions(PERMISSION_READ, this); if (StopProcessing) { return; } if ((GroupID == 0) && HideWhenGroupIsNotSupplied) { Visible = false; return; } InitializeForm(); groupInfo = GroupInfoProvider.GetGroupInfo(GroupID); if (groupInfo != null) { if (!RequestHelper.IsPostBack()) { // Handle existing Group editing - prepare the data if (GroupID > 0) { HandleExistingGroup(); } } groupPictureEdit.GroupInfo = groupInfo; // UI Tools theme selector visibility if ((!IsLiveSite) && (groupInfo.GroupNodeGUID == Guid.Empty)) { plcStyleSheetSelector.Visible = false; } // Init theme selector if (plcStyleSheetSelector.Visible) { if (!URLHelper.IsPostback()) { TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser); if (groupInfo.GroupNodeGUID != Guid.Empty) { TreeNode node = tree.SelectSingleNode(groupInfo.GroupNodeGUID, TreeProvider.ALL_CULTURES, SiteContext.CurrentSiteName); if (node != null) { ctrlSiteSelectStyleSheet.Value = node.DocumentStylesheetID; } } } } } else { plcStyleSheetSelector.Visible = false; } txtDescription.IsLiveSite = IsLiveSite; groupPictureEdit.IsLiveSite = IsLiveSite; groupPageURLElem.IsLiveSite = IsLiveSite; } }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { // Do nothing } else { GroupInfo group = null; // Try to get group information from query string int groupId = QueryHelper.GetInteger("groupid", 0); group = (groupId > 0) ? GroupInfoProvider.GetGroupInfo(groupId) : CommunityContext.CurrentGroup; if (group != null) { // Check whether group is approved if (!group.GroupApproved) { lblAccessInfo.Text = GetString("group.groupnotavailable"); } else { // Check permissions for current user switch (group.GroupAccess) { // Anybody can view the content default: case SecurityAccessEnum.AllUsers: // If content for selected group is available for all users redirect back to group page RedirectToGroupPage(group); break; // Site members can view the content case SecurityAccessEnum.AuthenticatedUsers: if (!AuthenticationHelper.IsAuthenticated()) { lblAccessInfo.Text = String.Format(SiteMembersOnlyText, "<a title=\"Sign in\" href=\"" + URLHelper.UpdateParameterInUrl(LoginURL, "returnurl", HTMLHelper.EncodeForHtmlAttribute(RequestContext.CurrentURL)) + "\">", "</a>"); } else { RedirectToGroupPage(group); } break; // Only group members can view the content case SecurityAccessEnum.GroupMembers: if (!MembershipContext.AuthenticatedUser.IsGroupMember(group.GroupID)) { // If current user is public show text with sign in link if (!AuthenticationHelper.IsAuthenticated()) { lblAccessInfo.Text = String.Format(GroupMembersOnlyText, "<a title=\"Sign in\" href=\"" + URLHelper.UpdateParameterInUrl(LoginURL, "returnurl", HTMLHelper.EncodeForHtmlAttribute(RequestContext.CurrentURL)) + "\">", "</a>"); } else { // For authenticate users display text with join the group text string link = string.Empty; // If join group path is defined use it, otherwise display join the group dialog if (String.IsNullOrEmpty(JoinGroupPath)) { // Register the dialog script ScriptHelper.RegisterDialogScript(Page); string script = ScriptHelper.GetScript("function JoinToGroupAccessRequest() {\n" + "modalDialog('" + AuthenticationHelper.ResolveDialogUrl("~/CMSModules/Groups/CMSPages/JoinTheGroup.aspx") + "?groupid=" + group.GroupID + "','requestJoinToGroup', 500, 180); \n" + " } \n"); ScriptHelper.RegisterClientScriptBlock(this, typeof(string), "JoinToGroupAccessRequest", script); link = "<a title=\"" + GetString("group.joingroup") + "\" href=\"" + HTMLHelper.EncodeForHtmlAttribute(RequestContext.CurrentURL) + "\" onclick=\"JoinToGroupAccessRequest(); return false;\">"; } else { link = "<a title=\"" + GetString("group.joingroup") + "\" href=\"" + JoinGroupPath + "\">"; } lblAccessInfo.Text = String.Format(GroupMembersOnlyAuthenticatedText, link, "</a>"); } } else { RedirectToGroupPage(group); } break; } } } else { Visible = false; } } }
/// <summary> /// Initializes the control properties. /// </summary> public void SetupControl() { if (StopProcessing) { // Do nothing } else { // Clear placeholder first plcHolder.Controls.Clear(); // Group settings ForumDivider1.ForumLayout = ForumLayout; // Friendly URLs ForumDivider1.UseFriendlyURL = UseFriendlyURL; ForumDivider1.FriendlyURLExtension = FriendlyURLExtension; ForumDivider1.FriendlyBaseURL = FriendlyBaseURL; // Post options ForumDivider1.DisplayAttachmentImage = DisplayAttachmentImage; ForumDivider1.AttachmentImageMaxSideSize = AttachmentImageMaxSideSize; ForumDivider1.EnableAvatars = EnableAvatars; ForumDivider1.AvatarMaxSideSize = AvatarMaxSideSize; ForumDivider1.ViewMode = ThreadViewMode; ForumDivider1.EnableFavorites = EnableFavorites; ForumDivider1.EnableSignature = EnableSignature; ForumDivider1.MaxRelativeLevel = MaxRelativeLevel; ForumDivider1.DisplayBadgeInfo = DisplayBadgeInfo; ForumDivider1.RedirectToUserProfile = RedirectToUserProfile; ForumDivider1.BaseURL = BaseURL; ForumDivider1.UnsubscriptionURL = UnsubscriptionURL; ForumDivider1.EnableFriendship = EnableFriendship && UIHelper.IsFriendsModuleEnabled(CMSContext.CurrentSiteName); ForumDivider1.EnableMessaging = EnableMessaging; // Behaviour ForumDivider1.EnableSubscription = EnableSubscription; ForumDivider1.EnableOnSiteManagement = OnSiteManagement; ForumDivider1.HideForumForUnauthorized = HideForumForUnauthorized; ForumDivider1.RedirectUnauthorized = RedirectUnauthorized; ForumDivider1.LogonPageURL = LogonPageURL; ForumDivider1.AccessDeniedPageURL = AccessDeniedPageURL; // Abuse report ForumDivider1.AbuseReportAccess = AbuseReportAccess; ForumDivider1.AbuseReportRoles = AbuseReportRoles; //Paging ForumDivider1.EnableThreadPaging = EnableThreadPaging; ForumDivider1.ThreadPageSize = ThreadPageSize; ForumDivider1.EnablePostsPaging = EnablePostsPaging; ForumDivider1.PostsPageSize = PostsPageSize; // Tree forum properties ForumDivider1.ShowMode = ShowMode; ForumDivider1.ExpandTree = ExpandTree; if (CommunityContext.CurrentGroup != null) { ForumDivider1.CommunityGroupID = CommunityContext.CurrentGroup.GroupID; } if (UseUpdatePanel) { ForumDivider1.UseRedirectAfterAction = false; } string path = ResolveUrl("~/CMSModules/Forums/Controls/ForumDivider.ascx"); GroupInfo gi = GroupInfoProvider.GetGroupInfo(GroupName, CMSContext.CurrentSiteName); if (gi != null) { forumGroups = ForumGroupInfoProvider.GetGroups("GroupGroupID = " + gi.GroupID + "AND ((SELECT Count(ForumID) FROM Forums_Forum WHERE (ForumOpen = 1) AND ForumGroupID = GroupID ) > 0)", "GroupOrder"); if (!DataHelper.DataSourceIsEmpty(forumGroups)) { int ctrlId = 0; bool wasAdded = false; // Load all the groups foreach (DataRow dr in forumGroups.Tables[0].Rows) { Control ctrl = this.LoadUserControl(path); if (ctrl != null) { ctrl.ID = "groupElem" + ctrlId; ForumViewer frmv = ctrl as ForumViewer; if (frmv != null) { // Copy values ForumDivider1.CopyValues(frmv); if (wasAdded && !String.IsNullOrEmpty(GroupsSeparator)) { plcHolder.Controls.Add(new LiteralControl(GroupsSeparator)); } frmv.GroupID = ValidationHelper.GetInteger(dr["GroupID"], 0); plcHolder.Controls.Add(frmv); wasAdded = true; } } ctrlId++; } } } } }
/// <summary> /// Accepts invitation. /// </summary> protected void btnAccept_OnCommand(object sender, CommandEventArgs e) { if (e.CommandName == "accept") { // Accept int invitationId = ValidationHelper.GetInteger(e.CommandArgument, 0); InvitationInfo invitation = InvitationInfoProvider.GetInvitationInfo(invitationId); // Check if time is correct if ((invitation.InvitationValidTo == DateTimeHelper.ZERO_TIME) || (invitation.InvitationValidTo >= DateTime.Now)) { GroupInfo group = GroupInfoProvider.GetGroupInfo(invitation.InvitationGroupID); if (group != null) { // Check if invitation is from group member if (!GroupMemberInfoProvider.IsMemberOfGroup(invitation.InvitedUserID, invitation.InvitationGroupID)) { // Transfer user name to user info if (userInfo == null) { userInfo = UserInfoProvider.GetUserInfo(UserName); } if (userInfo != null) { // Create group member info object GroupMemberInfo groupMember = new GroupMemberInfo(); groupMember.MemberInvitedByUserID = invitation.InvitedByUserID; groupMember.MemberUserID = userInfo.UserID; groupMember.MemberGroupID = invitation.InvitationGroupID; groupMember.MemberJoined = DateTime.Now; // Set proper status depending on group settings switch (group.GroupApproveMembers) { case GroupApproveMembersEnum.ApprovedCanJoin: groupMember.MemberStatus = GroupMemberStatus.WaitingForApproval; lblInfo.Text = MemberWaiting.Replace("##GROUPNAME##", HTMLHelper.HTMLEncode(group.GroupDisplayName)) + "<br /><br />"; break; default: groupMember.MemberApprovedByUserID = invitation.InvitedByUserID; groupMember.MemberApprovedWhen = DateTime.Now; groupMember.MemberStatus = GroupMemberStatus.Approved; lblInfo.Text = MemberJoined.Replace("##GROUPNAME##", HTMLHelper.HTMLEncode(group.GroupDisplayName)) + "<br /><br />"; break; } // Store info object to database GroupMemberInfoProvider.SetGroupMemberInfo(groupMember); // Delete all invitations to specified group for specified user string whereCondition = "InvitationGroupID = " + invitation.InvitationGroupID + " AND (InvitedUserID=" + userInfo.UserID + ")"; InvitationInfoProvider.DeleteInvitations(whereCondition); // Log activity LogJoinActivity(groupMember, group); } } else { // Show error message and delete invitation lblInfo.Text = UserIsAlreadyMember.Replace("##GROUPNAME##", HTMLHelper.HTMLEncode(group.GroupDisplayName)) + "<br /><br />"; lblInfo.CssClass = "InvitationErrorLabel"; InvitationInfoProvider.DeleteInvitationInfo(invitation); } } else { // Show error message and delete invitation lblInfo.Text = GroupNoLongerExists + "<br /><br />"; lblInfo.CssClass = "InvitationErrorLabel"; InvitationInfoProvider.DeleteInvitationInfo(invitation); } } else { // Show error message and delete invitation lblInfo.Text = InvitationIsNotValid + "<br /><br />"; lblInfo.CssClass = "InvitationErrorLabel"; InvitationInfoProvider.DeleteInvitationInfo(invitation); } lblInfo.Visible = true; BindData(); } }