aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Data/MySQL/MySQLEstateData.cs11
-rw-r--r--OpenSim/Framework/EstateSettings.cs19
2 files changed, 28 insertions, 2 deletions
diff --git a/OpenSim/Data/MySQL/MySQLEstateData.cs b/OpenSim/Data/MySQL/MySQLEstateData.cs
index 3dd46cb..69c89d4 100644
--- a/OpenSim/Data/MySQL/MySQLEstateData.cs
+++ b/OpenSim/Data/MySQL/MySQLEstateData.cs
@@ -145,7 +145,11 @@ namespace OpenSim.Data.MySQL
145 cmd.CommandText = sql; 145 cmd.CommandText = sql;
146 cmd.Parameters.AddWithValue("?RegionID", regionID.ToString()); 146 cmd.Parameters.AddWithValue("?RegionID", regionID.ToString());
147 147
148 return DoLoad(cmd, regionID, create); 148 EstateSettings e = DoLoad(cmd, regionID, create);
149 if (!create && e.EstateID == 0) // Not found
150 return null;
151
152 return e;
149 } 153 }
150 } 154 }
151 155
@@ -427,7 +431,10 @@ namespace OpenSim.Data.MySQL
427 cmd.CommandText = sql; 431 cmd.CommandText = sql;
428 cmd.Parameters.AddWithValue("?EstateID", estateID); 432 cmd.Parameters.AddWithValue("?EstateID", estateID);
429 433
430 return DoLoad(cmd, UUID.Zero, false); 434 EstateSettings e = DoLoad(cmd, UUID.Zero, false);
435 if (e.EstateID != estateID)
436 return null;
437 return e;
431 } 438 }
432 } 439 }
433 440
diff --git a/OpenSim/Framework/EstateSettings.cs b/OpenSim/Framework/EstateSettings.cs
index a02993d..dd3e195 100644
--- a/OpenSim/Framework/EstateSettings.cs
+++ b/OpenSim/Framework/EstateSettings.cs
@@ -28,6 +28,7 @@
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.IO; 30using System.IO;
31using System.Reflection;
31using OpenMetaverse; 32using OpenMetaverse;
32 33
33namespace OpenSim.Framework 34namespace OpenSim.Framework
@@ -411,5 +412,23 @@ namespace OpenSim.Framework
411 { 412 {
412 return l_EstateGroups.Contains(groupID); 413 return l_EstateGroups.Contains(groupID);
413 } 414 }
415
416 public Dictionary<string, object> ToMap()
417 {
418 Dictionary<string, object> map = new Dictionary<string, object>();
419 PropertyInfo[] properties = this.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);
420 foreach (PropertyInfo p in properties)
421 map[p.Name] = p.GetValue(this, null);
422
423 return map;
424 }
425
426 public EstateSettings(Dictionary<string, object> map)
427 {
428 PropertyInfo[] properties = this.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);
429 foreach (PropertyInfo p in properties)
430 p.SetValue(this, map[p.Name], null);
431
432 }
414 } 433 }
415} 434}