disable parcels access control if disabled at estate ( not that estate flag is still named TAXFREE

master
UbitUmarov 2020-01-11 14:11:46 +00:00
parent d92ef598c5
commit ea7dd150b1
2 changed files with 35 additions and 21 deletions

View File

@ -529,7 +529,7 @@ namespace OpenSim.Region.CoreModules.World.Land
if (avatar.IsChildAgent)
return;
if ( m_allowedForcefulBans && m_showBansLines)
if ( m_allowedForcefulBans && m_showBansLines && m_scene.RegionInfo.EstateSettings.TaxFree)
SendOutNearestBanLine(avatar.ControllingClient);
}
@ -579,8 +579,11 @@ namespace OpenSim.Region.CoreModules.World.Land
if(ldata.PassHours == 0)
return;
if (!m_scene.RegionInfo.EstateSettings.TaxFree)
return;
// don't allow passes on group owned until we can give money to groups
if(ldata.IsGroupOwned)
if (ldata.IsGroupOwned)
{
remote_client.SendAgentAlertMessage("pass to group owned parcel not suported", false);
return;
@ -691,6 +694,9 @@ namespace OpenSim.Region.CoreModules.World.Land
if ((flags & 0x03) == 0)
return; // we only have access and ban
if(!m_scene.RegionInfo.EstateSettings.TaxFree)
return;
ILandObject land;
lock (m_landList)
{

View File

@ -541,28 +541,30 @@ namespace OpenSim.Region.CoreModules.World.Land
ParcelFlags.UseEstateVoiceChan);
}
// don't allow passes on group owned until we can give money to groups
if (!newData.IsGroupOwned && m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId,this, GroupPowers.LandManagePasses, false))
if(m_scene.RegionInfo.EstateSettings.TaxFree)
{
newData.PassHours = args.PassHours;
newData.PassPrice = args.PassPrice;
// don't allow passes on group owned until we can give money to groups
if (!newData.IsGroupOwned && m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId,this, GroupPowers.LandManagePasses, false))
{
newData.PassHours = args.PassHours;
newData.PassPrice = args.PassPrice;
allowedDelta |= (uint)ParcelFlags.UsePassList;
allowedDelta |= (uint)ParcelFlags.UsePassList;
}
if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandManageAllowed, false))
{
allowedDelta |= (uint)(ParcelFlags.UseAccessGroup |
ParcelFlags.UseAccessList);
}
if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandManageBanned, false))
{
allowedDelta |= (uint)(ParcelFlags.UseBanList |
ParcelFlags.DenyAnonymous |
ParcelFlags.DenyAgeUnverified);
}
}
if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandManageAllowed, false))
{
allowedDelta |= (uint)(ParcelFlags.UseAccessGroup |
ParcelFlags.UseAccessList);
}
if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandManageBanned, false))
{
allowedDelta |= (uint)(ParcelFlags.UseBanList |
ParcelFlags.DenyAnonymous |
ParcelFlags.DenyAgeUnverified);
}
if (allowedDelta != (uint)ParcelFlags.None)
{
uint preserve = LandData.Flags & ~allowedDelta;
@ -691,6 +693,9 @@ namespace OpenSim.Region.CoreModules.World.Land
{
ExpireAccessList();
if (!m_scene.RegionInfo.EstateSettings.TaxFree) // region access control only
return false;
if (m_scene.Permissions.IsAdministrator(avatar))
return false;
@ -718,6 +723,9 @@ namespace OpenSim.Region.CoreModules.World.Land
public bool IsRestrictedFromLand(UUID avatar)
{
if (!m_scene.RegionInfo.EstateSettings.TaxFree) // estate access only
return false;
if ((LandData.Flags & (uint) ParcelFlags.UseAccessList) == 0)
return false;