aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs')
-rw-r--r--OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs17
1 files changed, 7 insertions, 10 deletions
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
index 05223e0..630fcab 100644
--- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
@@ -1223,6 +1223,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
1223 1223
1224 /// <summary> 1224 /// <summary>
1225 /// Get a list of groups memberships for the agent that are marked "ListInProfile" 1225 /// Get a list of groups memberships for the agent that are marked "ListInProfile"
1226 /// (unless that agent has a godLike aspect, in which case get all groups)
1226 /// </summary> 1227 /// </summary>
1227 /// <param name="dataForAgentID"></param> 1228 /// <param name="dataForAgentID"></param>
1228 /// <returns></returns> 1229 /// <returns></returns>
@@ -1231,22 +1232,17 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
1231 List<GroupMembershipData> membershipData = m_groupData.GetAgentGroupMemberships(requestingClient.AgentId, dataForAgentID); 1232 List<GroupMembershipData> membershipData = m_groupData.GetAgentGroupMemberships(requestingClient.AgentId, dataForAgentID);
1232 GroupMembershipData[] membershipArray; 1233 GroupMembershipData[] membershipArray;
1233 1234
1234 // c_scene and property accessor 'is_god' are in support of the opertions to bypass 'hidden' group attributes for 1235 // cScene and property accessor 'isGod' are in support of the opertions to bypass 'hidden' group attributes for
1235 // those with a GodLike aspect. 1236 // those with a GodLike aspect.
1236 Scene c_scene = (Scene) requestingClient.Scene; 1237 Scene cScene = (Scene)requestingClient.Scene;
1237 bool is_god = c_scene.Permissions.IsGod(requestingClient.AgentId); 1238 bool isGod = cScene.Permissions.IsGod(requestingClient.AgentId);
1238
1239 if(is_god) {
1240 Predicate<GroupMembershipData> showInProfile = delegate(GroupMembershipData membership)
1241 {
1242 return membership.ListInProfile;
1243 };
1244 1239
1240 if (isGod)
1241 {
1245 membershipArray = membershipData.ToArray(); 1242 membershipArray = membershipData.ToArray();
1246 } 1243 }
1247 else 1244 else
1248 { 1245 {
1249
1250 if (requestingClient.AgentId != dataForAgentID) 1246 if (requestingClient.AgentId != dataForAgentID)
1251 { 1247 {
1252 Predicate<GroupMembershipData> showInProfile = delegate(GroupMembershipData membership) 1248 Predicate<GroupMembershipData> showInProfile = delegate(GroupMembershipData membership)
@@ -1261,6 +1257,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
1261 membershipArray = membershipData.ToArray(); 1257 membershipArray = membershipData.ToArray();
1262 } 1258 }
1263 } 1259 }
1260
1264 if (m_debugEnabled) 1261 if (m_debugEnabled)
1265 { 1262 {
1266 m_log.InfoFormat("[GROUPS]: Get group membership information for {0} requested by {1}", dataForAgentID, requestingClient.AgentId); 1263 m_log.InfoFormat("[GROUPS]: Get group membership information for {0} requested by {1}", dataForAgentID, requestingClient.AgentId);