diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index b615d42..f69a30c 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -445,6 +445,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
445 | private DateTime m_expires; | 445 | private DateTime m_expires; |
446 | private DateTime m_rezzed; | 446 | private DateTime m_rezzed; |
447 | private bool m_createSelected = false; | 447 | private bool m_createSelected = false; |
448 | private string m_creatorData = string.Empty; | ||
448 | 449 | ||
449 | public UUID CreatorID | 450 | public UUID CreatorID |
450 | { | 451 | { |
@@ -458,6 +459,61 @@ namespace OpenSim.Region.Framework.Scenes | |||
458 | } | 459 | } |
459 | } | 460 | } |
460 | 461 | ||
462 | public string CreatorData // = <profile url>;<name> | ||
463 | { | ||
464 | get { return m_creatorData; } | ||
465 | set { m_creatorData = value; } | ||
466 | } | ||
467 | |||
468 | /// <summary> | ||
469 | /// Used by the DB layer to retrieve / store the entire user identification. | ||
470 | /// The identification can either be a simple UUID or a string of the form | ||
471 | /// uuid[;profile_url[;name]] | ||
472 | /// </summary> | ||
473 | public string CreatorIdentification | ||
474 | { | ||
475 | get | ||
476 | { | ||
477 | if (m_creatorData != null && m_creatorData != string.Empty) | ||
478 | return _creatorID.ToString() + ';' + m_creatorData; | ||
479 | else | ||
480 | return _creatorID.ToString(); | ||
481 | } | ||
482 | set | ||
483 | { | ||
484 | if ((value == null) || (value != null && value == string.Empty)) | ||
485 | { | ||
486 | m_creatorData = string.Empty; | ||
487 | return; | ||
488 | } | ||
489 | |||
490 | if (!value.Contains(";")) // plain UUID | ||
491 | { | ||
492 | UUID uuid = UUID.Zero; | ||
493 | UUID.TryParse(value, out uuid); | ||
494 | _creatorID = uuid; | ||
495 | } | ||
496 | else // <uuid>[;<endpoint>[;name]] | ||
497 | { | ||
498 | string name = "Unknown User"; | ||
499 | string[] parts = value.Split(';'); | ||
500 | if (parts.Length >= 1) | ||
501 | { | ||
502 | UUID uuid = UUID.Zero; | ||
503 | UUID.TryParse(parts[0], out uuid); | ||
504 | _creatorID = uuid; | ||
505 | } | ||
506 | if (parts.Length >= 2) | ||
507 | m_creatorData = parts[1]; | ||
508 | if (parts.Length >= 3) | ||
509 | name = parts[2]; | ||
510 | |||
511 | m_creatorData += ';' + name; | ||
512 | |||
513 | } | ||
514 | } | ||
515 | } | ||
516 | |||
461 | /// <summary> | 517 | /// <summary> |
462 | /// A relic from when we we thought that prims contained folder objects. In | 518 | /// A relic from when we we thought that prims contained folder objects. In |
463 | /// reality, prim == folder | 519 | /// reality, prim == folder |