aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP
diff options
context:
space:
mode:
authorTeravus Ovares2008-06-21 03:29:08 +0000
committerTeravus Ovares2008-06-21 03:29:08 +0000
commita5860ad438885cbf76a36dc7958947355522b8cf (patch)
treeb392682ca7bf79e7fae18c16271980a9eead28bf /OpenSim/Region/ClientStack/LindenUDP
parentlots of futzing with nhibernate to make it more efficient. I (diff)
downloadopensim-SC-a5860ad438885cbf76a36dc7958947355522b8cf.zip
opensim-SC-a5860ad438885cbf76a36dc7958947355522b8cf.tar.gz
opensim-SC-a5860ad438885cbf76a36dc7958947355522b8cf.tar.bz2
opensim-SC-a5860ad438885cbf76a36dc7958947355522b8cf.tar.xz
* Adds Region ban capability to Regions. You access this by going to World->Region/Estate. Then on the Estate tab, at the lower right hand corner, clicking the 'Add' button and picking an avatar.
* It only persists across reboots for the mySQL datastore currently. * Currently have stubs in the other datastores.
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs45
1 files changed, 45 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 3b3ec3d..facee5c 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -2570,6 +2570,51 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2570 this.OutPacket(packet, ThrottleOutPacketType.Task); 2570 this.OutPacket(packet, ThrottleOutPacketType.Task);
2571 } 2571 }
2572 2572
2573 public void sendBannedUserList(LLUUID invoice, List<RegionBanListItem> banlist, uint estateID)
2574 {
2575 RegionBanListItem[] bl = banlist.ToArray();
2576
2577 LLUUID[] BannedUsers = new LLUUID[bl.Length];
2578
2579
2580 for (int i = 0; i < bl.Length; i++)
2581 {
2582 if (bl[i] == null)
2583 continue;
2584 BannedUsers[i] = bl[i].bannedUUID;
2585 }
2586
2587 EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
2588 packet.AgentData.TransactionID = LLUUID.Random();
2589 packet.AgentData.AgentID = this.AgentId;
2590 packet.AgentData.SessionID = this.SessionId;
2591 packet.MethodData.Invoice = invoice;
2592 packet.MethodData.Method = Helpers.StringToField("setaccess");
2593
2594 EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + BannedUsers.Length];
2595
2596 for (int i = 0; i < (6 + BannedUsers.Length); i++)
2597 {
2598 returnblock[i] = new EstateOwnerMessagePacket.ParamListBlock();
2599 }
2600 int j = 0;
2601
2602 returnblock[j].Parameter = Helpers.StringToField(estateID.ToString()); j++;
2603 returnblock[j].Parameter = Helpers.StringToField(((int)Constants.EstateAccessCodex.EstateBans).ToString()); j++;
2604 returnblock[j].Parameter = Helpers.StringToField("0"); j++;
2605 returnblock[j].Parameter = Helpers.StringToField("0"); j++;
2606 returnblock[j].Parameter = Helpers.StringToField(BannedUsers.Length.ToString()); j++;
2607 returnblock[j].Parameter = Helpers.StringToField("0"); j++;
2608
2609 for (int i = 0; i < BannedUsers.Length; i++)
2610 {
2611 returnblock[j].Parameter = BannedUsers[i].GetBytes(); j++;
2612 }
2613 packet.ParamList = returnblock;
2614 packet.Header.Reliable = false;
2615 this.OutPacket(packet, ThrottleOutPacketType.Task);
2616 }
2617
2573 public void sendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args) 2618 public void sendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args)
2574 { 2619 {
2575 RegionInfoPacket rinfopack = new RegionInfoPacket(); 2620 RegionInfoPacket rinfopack = new RegionInfoPacket();