@@ -74,9 +74,10 @@ internal RocketPermissionsProviderResult RemovePlayerFromGroup(string groupId, s |
74 | 74 | RocketPermissionsGroup g = GetGroup(groupId); |
75 | 75 | if (g == null) return RocketPermissionsProviderResult.GroupNotFound; |
76 | 76 |
|
77 | | - if (g.Members.FirstOrDefault(m => m == playerId) == null) return RocketPermissionsProviderResult.PlayerNotFound; |
| 77 | + string memberToRemove = g.Members.FirstOrDefault(m => string.Equals(m, playerId, StringComparison.CurrentCultureIgnoreCase)); |
| 78 | + if (memberToRemove == null) return RocketPermissionsProviderResult.PlayerNotFound; |
78 | 79 |
|
79 | | - g.Members.Remove(playerId); |
| 80 | + g.Members.Remove(memberToRemove); |
80 | 81 | SaveGroup(g); |
81 | 82 | return RocketPermissionsProviderResult.Success; |
82 | 83 | } |
@@ -91,7 +92,7 @@ internal RocketPermissionsProviderResult AddPlayerToGroup(string groupId, string |
91 | 92 | RocketPermissionsGroup g = GetGroup(groupId); |
92 | 93 | if (g == null) return RocketPermissionsProviderResult.GroupNotFound; |
93 | 94 |
|
94 | | - if (g.Members.FirstOrDefault(m => m == playerId) != null) return RocketPermissionsProviderResult.DuplicateEntry; |
| 95 | + if (g.Members.FirstOrDefault(m => string.Equals(m, playerId, StringComparison.CurrentCultureIgnoreCase)) != null) return RocketPermissionsProviderResult.DuplicateEntry; |
95 | 96 |
|
96 | 97 | g.Members.Add(playerId); |
97 | 98 | SaveGroup(g); |
@@ -136,7 +137,7 @@ public List<RocketPermissionsGroup> GetGroups(string playerId, bool includeParen |
136 | 137 | { |
137 | 138 | // get player groups |
138 | 139 | List<RocketPermissionsGroup> groups = this.permissions.Instance?.Groups?.OrderBy(x => x.Priority) |
139 | | - .Where(g => g.Members.Contains(playerId)) |
| 140 | + .Where(g => g.Members.Any(m => string.Equals(m, playerId, StringComparison.CurrentCultureIgnoreCase))) |
140 | 141 | .ToList() ?? new List<RocketPermissionsGroup>(); |
141 | 142 |
|
142 | 143 | // get first default group |
|