mirror of
https://github.com/opensim/opensim.git
synced 2026-08-07 09:45:47 +08:00
Merge branch 'master' into careminster-presence-refactor
This commit is contained in:
@@ -263,9 +263,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
|
||||
|
||||
public virtual void OnChatBroadcast(Object sender, OSChatMessage c)
|
||||
{
|
||||
// unless the chat to be broadcast is of type Region, we
|
||||
// drop it if its channel is neither 0 nor DEBUG_CHANNEL
|
||||
if (c.Channel != 0 && c.Channel != DEBUG_CHANNEL && c.Type != ChatTypeEnum.Region) return;
|
||||
if (c.Channel != 0 && c.Channel != DEBUG_CHANNEL) return;
|
||||
|
||||
ChatTypeEnum cType = c.Type;
|
||||
if (c.Channel == DEBUG_CHANNEL)
|
||||
|
||||
@@ -238,7 +238,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
|
||||
m_scene.Permissions.OnEditNotecard += CanEditNotecard; //NOT YET IMPLEMENTED
|
||||
m_scene.Permissions.OnEditScript += CanEditScript; //NOT YET IMPLEMENTED
|
||||
|
||||
m_scene.Permissions.OnCreateObjectInventory += CanCreateObjectInventory; //NOT IMPLEMENTED HERE
|
||||
m_scene.Permissions.OnCreateObjectInventory += CanCreateObjectInventory;
|
||||
m_scene.Permissions.OnEditObjectInventory += CanEditObjectInventory;//MAYBE FULLY IMPLEMENTED
|
||||
m_scene.Permissions.OnCopyObjectInventory += CanCopyObjectInventory; //NOT YET IMPLEMENTED
|
||||
m_scene.Permissions.OnDeleteObjectInventory += CanDeleteObjectInventory; //NOT YET IMPLEMENTED
|
||||
@@ -1780,10 +1780,28 @@ namespace OpenSim.Region.CoreModules.World.Permissions
|
||||
DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name);
|
||||
if (m_bypassPermissions) return m_bypassPermissionsValue;
|
||||
|
||||
if ((int)InventoryType.LSL == invType)
|
||||
if (m_allowedScriptCreators == UserSet.Administrators && !IsAdministrator(userID))
|
||||
return false;
|
||||
|
||||
SceneObjectPart part = m_scene.GetSceneObjectPart(objectID);
|
||||
ScenePresence p = m_scene.GetScenePresence(userID);
|
||||
|
||||
if (part == null || p == null)
|
||||
return false;
|
||||
|
||||
if (!IsAdministrator(userID))
|
||||
{
|
||||
if (part.OwnerID != userID)
|
||||
{
|
||||
// Group permissions
|
||||
if ((part.GroupID == UUID.Zero) || (p.ControllingClient.GetGroupPowers(part.GroupID) == 0) || ((part.GroupMask & (uint)PermissionMask.Modify) == 0))
|
||||
return false;
|
||||
} else {
|
||||
if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0)
|
||||
return false;
|
||||
}
|
||||
if ((int)InventoryType.LSL == invType)
|
||||
if (m_allowedScriptCreators == UserSet.Administrators)
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1980,4 +1998,4 @@ namespace OpenSim.Region.CoreModules.World.Permissions
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user