Attached is a patch that changes the oar file saving of creation date/time to an integer
instead of a string. I did this after justincc emailed me saying there is a problem
with internationalisation doing it the old way and I said I'd fix it. Its been
tested with MySQL and I've made the changes for MSSQL but that hasn't been well tested.
This commit is contained in:
Sean Dague
2009-06-29 15:05:12 +00:00
parent 7545f12c5f
commit 3dc2010da6
10 changed files with 59 additions and 47 deletions

View File

@@ -504,24 +504,19 @@ namespace OpenSim.Region.CoreModules.World.Archiver
RegionSettings currentRegionSettings = m_scene.RegionInfo.RegionSettings;
// Loaded metadata will empty if no information exists in the archive
currentRegionSettings.LoadedCreationDate = "";
currentRegionSettings.LoadedCreationTime = "";
currentRegionSettings.LoadedCreationDateTime = 0;
currentRegionSettings.LoadedCreationID = "";
while (xtr.Read())
{
if (xtr.NodeType == XmlNodeType.Element)
{
if (xtr.Name.ToString() == "date")
if (xtr.Name.ToString() == "datetime")
{
// Disable date & time for now until load problem in
// http://opensimulator.org/mantis/view.php?id=3741 (note 0012120 by WWWench) is resolved
//currentRegionSettings.LoadedCreationDate = xtr.ReadElementContentAsString();
int value;
if (Int32.TryParse(xtr.ReadElementContentAsString(), out value))
currentRegionSettings.LoadedCreationDateTime = value;
}
else if (xtr.Name.ToString() == "time")
{
//currentRegionSettings.LoadedCreationTime = xtr.ReadElementContentAsString();
}
else if (xtr.Name.ToString() == "id")
{
currentRegionSettings.LoadedCreationID = xtr.ReadElementContentAsString();

View File

@@ -152,12 +152,12 @@ namespace OpenSim.Region.CoreModules.World.Archiver
xtw.WriteStartDocument();
xtw.WriteStartElement("archive");
xtw.WriteAttributeString("major_version", "0");
xtw.WriteAttributeString("minor_version", "2");
xtw.WriteAttributeString("minor_version", "3");
xtw.WriteStartElement("creation_info");
DateTime now = DateTime.UtcNow;
xtw.WriteElementString("date", now.ToLongDateString());
xtw.WriteElementString("time", now.ToLongTimeString());
TimeSpan t = now - new DateTime(1970, 1, 1);
xtw.WriteElementString("datetime", ((int)t.TotalSeconds).ToString());
xtw.WriteElementString("id", UUID.Random().ToString());
xtw.WriteEndElement();
xtw.WriteEndElement();