From 48d86fb23f7ae0e7919274d67fc25f590e6845b1 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Tue, 7 Oct 2008 14:49:12 +0000 Subject: * Apply http://opensimulator.org/mantis/view.php?id=1207 * Implmements llModifyLand() and a check for the "Allow others to terraform flag" * Thanks tglion! --- .../Modules/World/Permissions/PermissionsModule.cs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs') diff --git a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs index 16743ea..abbf40e 100644 --- a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs @@ -984,11 +984,9 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); if (m_bypassPermissions) return m_bypassPermissionsValue; - bool permission = false; - // Estate override if (GenericEstatePermission(user)) - permission = true; + return true; float X = position.X; float Y = position.Y; @@ -1002,13 +1000,19 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions if (Y < 0) Y = 0; - // Land owner can terraform too ILandObject parcel = m_scene.LandChannel.GetLandObject(X, Y); - if (parcel != null && GenericParcelPermission(user, parcel)) - permission = true; + if (parcel == null) + return false; + // Others allowed to terraform? + if ((parcel.landData.Flags & ((int)Parcel.ParcelFlags.AllowTerraform)) != 0) + return true; - return permission; + // Land owner can terraform too + if (parcel != null && GenericParcelPermission(user, parcel)) + return true; + + return false; } private bool CanViewScript(UUID script, UUID objectID, UUID user, Scene scene) -- cgit v1.1