public LSL_Integer llManageEstateAccess(LSL_Integer action, LSL_String avatar)
{
if (!ScriptProtection.CheckThreatLevel(ThreatLevel.None, "LSL", m_host, "LSL", m_itemID)) return LSL_Integer.FALSE;
if (World.Permissions.IsAdministrator(m_host.OwnerID))
{
if (action == ScriptBaseClass.ESTATE_ACCESS_ALLOWED_AGENT_ADD)
World.RegionInfo.EstateSettings.AddEstateUser(UUID.Parse(avatar));
else if (action == ScriptBaseClass.ESTATE_ACCESS_ALLOWED_AGENT_REMOVE)
World.RegionInfo.EstateSettings.RemoveEstateUser(UUID.Parse(avatar));
else if (action == ScriptBaseClass.ESTATE_ACCESS_ALLOWED_GROUP_ADD)
World.RegionInfo.EstateSettings.AddEstateGroup(UUID.Parse(avatar));
else if (action == ScriptBaseClass.ESTATE_ACCESS_ALLOWED_GROUP_REMOVE)
World.RegionInfo.EstateSettings.RemoveEstateGroup(UUID.Parse(avatar));
else if (action == ScriptBaseClass.ESTATE_ACCESS_BANNED_AGENT_ADD)
World.RegionInfo.EstateSettings.AddBan(new EstateBan
{
EstateID = World.RegionInfo.EstateSettings.EstateID,
BannedUserID = UUID.Parse(avatar)
});
else if (action == ScriptBaseClass.ESTATE_ACCESS_BANNED_AGENT_REMOVE)
World.RegionInfo.EstateSettings.RemoveBan(UUID.Parse(avatar));
return LSL_Integer.TRUE;
}
return LSL_Integer.FALSE;
}