public Return Reject(Usr TargetUsr, GroupUsr TargetGroupUsr, Usr PerformingUsr, GroupUsr PerformingGroupUsr) { Return r = new Return(); if (this.Restriction.Equals(Group.RestrictionEnum.Custom)) { r.Success=false; r.MessageHtml="Can't accept into a custom group!"; return r; } if (!PerformingUsr.IsAdmin && (PerformingGroupUsr==null || !PerformingGroupUsr.IsMember)) { r.Success=false; r.MessageHtml="You must be a member of this group to reject someone!"; return r; } if (TargetGroupUsr==null) { r.Success=false; r.MessageHtml="Can't reject - user hasn't requested membership!"; return r; } else if (TargetGroupUsr.Status.Equals(GroupUsr.StatusEnum.Request)) { // This person has requested membership // if the current user is a moderator, we must enable the request. if (this.Restriction.Equals(Group.RestrictionEnum.Moderator)) { if (PerformingUsr.CanGroupMemberAdmin(PerformingGroupUsr)) { RejectPrivate(TargetUsr, TargetGroupUsr, PerformingUsr, PerformingGroupUsr); r.Success=true; return r; } else { r.Success=false; r.MessageHtml="You don't have permission to reject."; return r; } } else { RejectPrivate(TargetUsr, TargetGroupUsr, PerformingUsr, PerformingGroupUsr); r.Success=true; return r; } } else if (TargetGroupUsr.Status.Equals(GroupUsr.StatusEnum.Recommend)) { // A previous membership request was denied // if the current user is a moderator, we must enable them straight away. if (PerformingUsr.CanGroupMemberAdmin(PerformingGroupUsr)) { RejectPrivate(TargetUsr, TargetGroupUsr, PerformingUsr, PerformingGroupUsr); r.Success=true; return r; } else { r.Success=false; r.MessageHtml="You don't have permission to reject."; return r; } } else { r.Success=false; r.MessageHtml="Can't reject - wrong status."; return r; } }
public Return Invite(Usr TargetUsr, GroupUsr TargetGroupUsr, Usr PerformingUsr, GroupUsr PerformingGroupUsr, string InviteMessage, bool InviteByEmail) { Return r = new Return(); string targetUsr = ""; if (InviteByEmail && TargetUsr.NickName.Length==0) targetUsr = TargetUsr.Email; else targetUsr = TargetUsr.Link(); if (this.Restriction.Equals(Group.RestrictionEnum.Custom)) { r.Success=false; r.MessageHtml="The "+this.FriendlyName+" group is a special group - the membership "+ "is automatically controlled. You can't invite people to this group."; return r; } if (!PerformingUsr.IsAdmin && (PerformingGroupUsr==null || !PerformingGroupUsr.IsMember)) { r.Success=false; r.MessageHtml="You're not a member of the "+this.FriendlyName+" group!"; return r; } if (TargetGroupUsr==null) { if (this.Restriction.Equals(Group.RestrictionEnum.Moderator)) { //nothing now //if the current user is a moderator, we add an invite request. //If the current user isn't a mod, we add a recommend. if (PerformingUsr.CanGroupMemberAdmin(PerformingGroupUsr)) { InvitePrivate(TargetUsr, TargetGroupUsr, PerformingUsr, PerformingGroupUsr, InviteMessage); r.Success=true; r.MessageHtml="You have invited "+targetUsr+" to the "+ this.FriendlyName+" group. They will be sent a message shortly."; } else { RecommendPrivate(TargetUsr, TargetGroupUsr, PerformingUsr, PerformingGroupUsr, InviteMessage); r.Success=true; r.MessageHtml="Since "+this.FriendlyName+" is a restricted group, only "+ "moderators may send invites. "+targetUsr+" has been recommended "+ "as a possible member. A moderator will decide whether to send the invite."; } } else { InvitePrivate(TargetUsr, TargetGroupUsr, PerformingUsr, PerformingGroupUsr, InviteMessage); r.Success=true; r.MessageHtml="You have invited "+targetUsr+" to the "+this.FriendlyName+" group. "+ "They will be sent a message shortly."; } } else if (TargetGroupUsr.Status.Equals(GroupUsr.StatusEnum.Member)) { // This person is a member of the group r.Success=false; r.MessageHtml=targetUsr+" is already a member of the "+this.FriendlyName+" group."; } else if (TargetGroupUsr.Status.Equals(GroupUsr.StatusEnum.Request)) { // This person has requested membership // if the current user is a moderator, we must enable the request. // If the current user isn't a mod, we must show an error. if (this.Restriction.Equals(Group.RestrictionEnum.Moderator)) { if (PerformingUsr.CanGroupMemberAdmin(PerformingGroupUsr)) { JoinPrivate(TargetUsr, TargetGroupUsr, PerformingUsr, PerformingGroupUsr); r.Success=true; r.MessageHtml=targetUsr+" had already requested to join the "+ this.FriendlyName+" group, so we've instantly made them a member."; } else { r.Success=false; r.MessageHtml=targetUsr+" has already requested to be a member "+ "of this group. The group moderators will deal with the request and either accept or "+ "deny the request."; } } else { JoinPrivate(TargetUsr, TargetGroupUsr, PerformingUsr, PerformingGroupUsr); r.Success=true; r.MessageHtml=targetUsr+" had already requested to join the "+ this.FriendlyName+" group, so we've instantly made them a member."; } } else if (TargetGroupUsr.Status.Equals(GroupUsr.StatusEnum.RequestRejected)) { // A previous membership request was denied // if the current user is a moderator, we must enable them straight away. // If the current user isn't a mod, we must show an error. if (PerformingUsr.CanGroupMemberAdmin(PerformingGroupUsr)) { JoinPrivate(TargetUsr, TargetGroupUsr, PerformingUsr, PerformingGroupUsr); r.Success=true; r.MessageHtml=targetUsr+" had already requested to join the "+ this.FriendlyName+", so we've instantly made them a member."; } else { r.Success=false; r.MessageHtml=targetUsr+" has already requested to be a member, "+ "but their request was denied. You can't invite this person to this group. Contact "+ "a group moderator if you think this person should be a member."; } } else if (TargetGroupUsr.Status.Equals(GroupUsr.StatusEnum.Invite)) { // The person has been officially invited to the group - if they accept they will become a // member instantly r.Success=false; r.MessageHtml=targetUsr+" has already been invited to the "+ this.FriendlyName+" group. You can't send another invite."; } else if (TargetGroupUsr.Status.Equals(GroupUsr.StatusEnum.Exited)) { // The person exited the group themselves r.Success=false; r.MessageHtml=targetUsr+" was previously a member of the "+ this.FriendlyName+" group, but they exited it. You can't invite them back."; } else if (TargetGroupUsr.Status.Equals(GroupUsr.StatusEnum.Barred)) { // The person has been barred by a moderator if (PerformingUsr.CanGroupMemberAdmin(PerformingGroupUsr)) { r.Success = false; r.MessageHtml = targetUsr+" has been barred from the "+ this.FriendlyName+" group. You must first un-bar them on the "+ "<a href=\""+this.UrlApp("admin","mode","membership")+"\">group options page</a>."; } else { r.Success = false; r.MessageHtml = targetUsr+" has been barred from the "+ this.FriendlyName+" group by a moderator. You can't send an invite."; } } else if (TargetGroupUsr.Status.Equals(GroupUsr.StatusEnum.Recommend)) { // A member has recommended this person as a group member. The membership admins will either // change the status to Invited, or change it to RecommendRejected. This status level is // only used in groups with restricted membership if (this.Restriction.Equals(Group.RestrictionEnum.Moderator)) { if (PerformingUsr.CanGroupMemberAdmin(PerformingGroupUsr)) { InvitePrivate(TargetUsr, TargetGroupUsr, PerformingUsr, PerformingGroupUsr, InviteMessage); r.Success = true; r.MessageHtml = "You have invited "+targetUsr+" to the "+ this.FriendlyName+" group. They will be sent a message shortly."; } else { r.Success = false; r.MessageHtml = "Since "+this.FriendlyName+" is a restricted group, only "+ "moderators may send invites. "+targetUsr+" has been recommended as a "+ "possible member. A moderator will decide whether to send the invite."; } } else { InvitePrivate(TargetUsr, TargetGroupUsr, PerformingUsr, PerformingGroupUsr, InviteMessage); r.Success = true; r.MessageHtml = "You have invited "+targetUsr+" to the "+ this.FriendlyName+" group. They will be sent a message shortly."; } } else if (TargetGroupUsr.Status.Equals(GroupUsr.StatusEnum.RecommendRejected)) { // A member has recommended this person as a member of the group, but they were rejected by a // membership moderator. This status level is only used in groups with restricted membership if (PerformingUsr.CanGroupMemberAdmin(PerformingGroupUsr)) { InvitePrivate(TargetUsr, TargetGroupUsr, PerformingUsr, PerformingGroupUsr, InviteMessage); r.Success = true; r.MessageHtml = "You have invited "+targetUsr+" to the "+ this.FriendlyName+" group. They will be sent a message shortly."; } else { r.Success = false; r.MessageHtml = targetUsr+" has previously been rejected by a "+ "moderator, so you can't send an invite. Contact a group moderator if you think "+ "this person should be a member."; } } else if (TargetGroupUsr.Status.Equals(GroupUsr.StatusEnum.InviteRejected)) { // This person was invited to the group, but decided they didn't want to be a member r.Success = false; r.MessageHtml = targetUsr+" has already been invited to the "+ this.FriendlyName+" group, but they rejected the invitation. You can't send another invite."; } return r; }