diff options
author | mingchen | 2008-05-13 16:22:57 +0000 |
---|---|---|
committer | mingchen | 2008-05-13 16:22:57 +0000 |
commit | 32785921d0a4a074b92da0f4ec322cf451a4642f (patch) | |
tree | ae93cc8fb09a5d7b991e323617e3324042e30a8d /OpenSim/Region/Environment/Modules/World/Land/LandChannel.cs | |
parent | * Remove old historical grid inventory code (diff) | |
download | opensim-SC_OLD-32785921d0a4a074b92da0f4ec322cf451a4642f.zip opensim-SC_OLD-32785921d0a4a074b92da0f4ec322cf451a4642f.tar.gz opensim-SC_OLD-32785921d0a4a074b92da0f4ec322cf451a4642f.tar.bz2 opensim-SC_OLD-32785921d0a4a074b92da0f4ec322cf451a4642f.tar.xz |
*Complete redo of the permissions module
*Removed hardcoded permissions checks
*Added permissions checks where needed
Diffstat (limited to 'OpenSim/Region/Environment/Modules/World/Land/LandChannel.cs')
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Land/LandChannel.cs | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Land/LandChannel.cs b/OpenSim/Region/Environment/Modules/World/Land/LandChannel.cs index 2a28283..b5d5e6e 100644 --- a/OpenSim/Region/Environment/Modules/World/Land/LandChannel.cs +++ b/OpenSim/Region/Environment/Modules/World/Land/LandChannel.cs | |||
@@ -400,7 +400,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
400 | 400 | ||
401 | //If we are still here, then they are subdividing within one piece of land | 401 | //If we are still here, then they are subdividing within one piece of land |
402 | //Check owner | 402 | //Check owner |
403 | if (startLandObject.landData.ownerID != attempting_user_id) | 403 | if (!m_scene.ExternalChecks.ExternalChecksCanEditParcel(attempting_user_id,startLandObject)) |
404 | { | 404 | { |
405 | return; | 405 | return; |
406 | } | 406 | } |
@@ -469,7 +469,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
469 | { | 469 | { |
470 | return; | 470 | return; |
471 | } | 471 | } |
472 | if (masterLandObject.landData.ownerID != attempting_user_id) | 472 | if (!m_scene.ExternalChecks.ExternalChecksCanEditParcel(attempting_user_id, masterLandObject)) |
473 | { | 473 | { |
474 | return; | 474 | return; |
475 | } | 475 | } |
@@ -655,6 +655,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
655 | 655 | ||
656 | public void handleParcelSelectObjectsRequest(int local_id, int request_type, IClientAPI remote_client) | 656 | public void handleParcelSelectObjectsRequest(int local_id, int request_type, IClientAPI remote_client) |
657 | { | 657 | { |
658 | |||
658 | landList[local_id].sendForceObjectSelect(local_id, request_type, remote_client); | 659 | landList[local_id].sendForceObjectSelect(local_id, request_type, remote_client); |
659 | } | 660 | } |
660 | 661 | ||
@@ -663,6 +664,18 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
663 | landList[local_id].sendLandObjectOwners(remote_client); | 664 | landList[local_id].sendLandObjectOwners(remote_client); |
664 | } | 665 | } |
665 | 666 | ||
667 | public void handleParcelAbandonRequest(int local_id, IClientAPI remote_client) | ||
668 | { | ||
669 | if (landList.ContainsKey(local_id)) | ||
670 | { | ||
671 | if (m_scene.ExternalChecks.ExternalChecksCanAbandonParcel(remote_client.AgentId, landList[local_id])) | ||
672 | { | ||
673 | landList[local_id].landData.ownerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; | ||
674 | m_scene.Broadcast(SendParcelOverlay); | ||
675 | } | ||
676 | } | ||
677 | |||
678 | } | ||
666 | #endregion | 679 | #endregion |
667 | 680 | ||
668 | #region ILandChannel Members | 681 | #region ILandChannel Members |