From 5699bb2e64766da634ca4be34bc2d8eab991f2e1 Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Wed, 15 Aug 2007 14:10:26 +0000 Subject: * Permissions! - You can now only perform certain functions (such as editing other peoples objects) if you have permission to do so. * Moved OnPermissionError to EventManager - now triggers a standard blue alert. * Terraforming now requires permission via the permissions manager. [Defaults to admin-only] * Permissions manager is now substantiated in Scene * Buttload of new permissions added. * Estate manager operations now require various levels of permission to operate * OGS1 now produces 'summary reports' for a commsManager of each scene it maintains connections for. Reduces grid network traffic for ping checks. * Added new "permissions true" / "permissions false" console command to enable or disable permissions. --- OpenSim/Region/Environment/Scenes/Scene.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'OpenSim/Region/Environment/Scenes/Scene.cs') diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 6c87c5d..0fa3ab7 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -110,6 +110,13 @@ namespace OpenSim.Region.Environment.Scenes get { return m_scriptManager; } } + private PermissionManager m_permissionManager; + + public PermissionManager PermissionsMngr + { + get { return m_permissionManager; } + } + public Dictionary Objects { get { return Prims; } @@ -143,10 +150,13 @@ namespace OpenSim.Region.Environment.Scenes m_estateManager = new EstateManager(this, m_regInfo); m_scriptManager = new ScriptManager(this); m_eventManager = new EventManager(); + m_permissionManager = new PermissionManager(this); m_eventManager.OnParcelPrimCountAdd += m_LandManager.addPrimToLandPrimCounts; + m_eventManager.OnPermissionError += SendPermissionAlert; + MainLog.Instance.Verbose("Creating new entitities instance"); Entities = new Dictionary(); Avatars = new Dictionary(); @@ -966,6 +976,12 @@ namespace OpenSim.Region.Environment.Scenes #endregion #region Alert Methods + + void SendPermissionAlert(LLUUID user, string reason) + { + SendAlertToUser(user, reason, false); + } + public void SendGeneralAlert(string message) { foreach (ScenePresence presence in this.Avatars.Values) -- cgit v1.1