aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r--OpenSim/Region/Environment/PermissionManager.cs8
-rw-r--r--OpenSim/Region/Environment/Scenes/InnerScene.cs19
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