diff options
author | Teravus Ovares | 2007-11-29 15:24:31 +0000 |
---|---|---|
committer | Teravus Ovares | 2007-11-29 15:24:31 +0000 |
commit | 4bd38fc65a77826c5646c3154d087171c290cbed (patch) | |
tree | 9eb158c06ed8d2b9ce74948e8b6af820352c503c /OpenSim/Region/Environment | |
parent | *Added more information about the sim that you're connecting to in remoting d... (diff) | |
download | opensim-SC_OLD-4bd38fc65a77826c5646c3154d087171c290cbed.zip opensim-SC_OLD-4bd38fc65a77826c5646c3154d087171c290cbed.tar.gz opensim-SC_OLD-4bd38fc65a77826c5646c3154d087171c290cbed.tar.bz2 opensim-SC_OLD-4bd38fc65a77826c5646c3154d087171c290cbed.tar.xz |
* Thanks to _SomeOne_, Server side permissions on object editing. Be aware, that if you're editing an object on your client that you're not allowed to, it'll appear that it's moving to you, but won't actually be moving on the sim.
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r-- | OpenSim/Region/Environment/PermissionManager.cs | 8 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/InnerScene.cs | 19 |
2 files changed, 20 insertions, 7 deletions
diff --git a/OpenSim/Region/Environment/PermissionManager.cs b/OpenSim/Region/Environment/PermissionManager.cs index 6efa116..bcaa1bf 100644 --- a/OpenSim/Region/Environment/PermissionManager.cs +++ b/OpenSim/Region/Environment/PermissionManager.cs | |||
@@ -103,6 +103,12 @@ namespace OpenSim.Region.Environment | |||
103 | 103 | ||
104 | string reason = "Insufficient permission"; | 104 | string reason = "Insufficient permission"; |
105 | 105 | ||
106 | Land land = this.m_scene.LandManager.getLandObject(position.X, position.Y); | ||
107 | if ((land.landData.landFlags & ((int)Parcel.ParcelFlags.CreateObjects)) == (int)Parcel.ParcelFlags.CreateObjects) | ||
108 | permission = true; | ||
109 | |||
110 | //TODO: check for group rights | ||
111 | |||
106 | if (IsAdministrator(user)) | 112 | if (IsAdministrator(user)) |
107 | { | 113 | { |
108 | permission = true; | 114 | permission = true; |
@@ -361,4 +367,4 @@ namespace OpenSim.Region.Environment | |||
361 | 367 | ||
362 | #endregion | 368 | #endregion |
363 | } | 369 | } |
364 | } \ No newline at end of file | 370 | } |
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs index c1acde4..0cb17c0 100644 --- a/OpenSim/Region/Environment/Scenes/InnerScene.cs +++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs | |||
@@ -589,11 +589,14 @@ namespace OpenSim.Region.Environment.Scenes | |||
589 | group.SetPartDescription(description, primLocalID); | 589 | group.SetPartDescription(description, primLocalID); |
590 | } | 590 | } |
591 | 591 | ||
592 | public void UpdateExtraParam(uint primLocalID, ushort type, bool inUse, byte[] data) | 592 | public void UpdateExtraParam(LLUUID agentID, uint primLocalID, ushort type, bool inUse, byte[] data) |
593 | { | 593 | { |
594 | SceneObjectGroup group = GetGroupByPrim(primLocalID); | 594 | SceneObjectGroup group = GetGroupByPrim(primLocalID); |
595 | if (group != null) | 595 | if (this.m_parentScene.PermissionsMngr.CanEditObject(agentID, group.GetPartsFullID(primLocalID))) |
596 | group.UpdateExtraParam(primLocalID, type, inUse, data); | 596 | { |
597 | if (group != null) | ||
598 | group.UpdateExtraParam(primLocalID, type, inUse, data); | ||
599 | } | ||
597 | } | 600 | } |
598 | 601 | ||
599 | /// <summary> | 602 | /// <summary> |
@@ -601,11 +604,14 @@ namespace OpenSim.Region.Environment.Scenes | |||
601 | /// </summary> | 604 | /// </summary> |
602 | /// <param name="primLocalID"></param> | 605 | /// <param name="primLocalID"></param> |
603 | /// <param name="shapeBlock"></param> | 606 | /// <param name="shapeBlock"></param> |
604 | public void UpdatePrimShape(uint primLocalID, ObjectShapePacket.ObjectDataBlock shapeBlock) | 607 | public void UpdatePrimShape(LLUUID agentID, uint primLocalID, ObjectShapePacket.ObjectDataBlock shapeBlock) |
605 | { | 608 | { |
606 | SceneObjectGroup group = GetGroupByPrim(primLocalID); | 609 | SceneObjectGroup group = GetGroupByPrim(primLocalID); |
607 | if (group != null) | 610 | if (this.m_parentScene.PermissionsMngr.CanEditObject(agentID, group.GetPartsFullID(primLocalID))) |
608 | group.UpdateShape(shapeBlock, primLocalID); | 611 | { |
612 | if (group != null) | ||
613 | group.UpdateShape(shapeBlock, primLocalID); | ||
614 | } | ||
609 | } | 615 | } |
610 | 616 | ||
611 | /// <summary> | 617 | /// <summary> |
@@ -753,3 +759,4 @@ namespace OpenSim.Region.Environment.Scenes | |||
753 | } | 759 | } |
754 | } | 760 | } |
755 | 761 | ||
762 | |||