aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/UserManager
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/UserManager')
-rw-r--r--OpenSim/Framework/UserManager/UserManagerBase.cs52
1 files changed, 31 insertions, 21 deletions
diff --git a/OpenSim/Framework/UserManager/UserManagerBase.cs b/OpenSim/Framework/UserManager/UserManagerBase.cs
index 41744bd..64c3be1 100644
--- a/OpenSim/Framework/UserManager/UserManagerBase.cs
+++ b/OpenSim/Framework/UserManager/UserManagerBase.cs
@@ -418,6 +418,31 @@ namespace OpenSim.Framework.UserManagement
418 return inventoryLibOwner; 418 return inventoryLibOwner;
419 } 419 }
420 420
421 protected virtual AgentInventory GetUsersInventory(LLUUID agentID)
422 {
423 AgentInventory userInventory = new AgentInventory();
424 userInventory.CreateRootFolder(agentID, false);
425
426 return userInventory;
427 }
428
429 protected virtual ArrayList CreateInventoryArray(AgentInventory userInventory)
430 {
431 ArrayList AgentInventoryArray = new ArrayList();
432 Hashtable TempHash;
433 foreach (InventoryFolder InvFolder in userInventory.InventoryFolders.Values)
434 {
435 TempHash = new Hashtable();
436 TempHash["name"] = InvFolder.FolderName;
437 TempHash["parent_id"] = InvFolder.ParentID.ToStringHyphenated();
438 TempHash["version"] = (Int32)InvFolder.Version;
439 TempHash["type_default"] = (Int32)InvFolder.DefaultType;
440 TempHash["folder_id"] = InvFolder.FolderID.ToStringHyphenated();
441 AgentInventoryArray.Add(TempHash);
442 }
443 return AgentInventoryArray;
444 }
445
421 /// <summary> 446 /// <summary>
422 /// Customises the login response and fills in missing values. 447 /// Customises the login response and fills in missing values.
423 /// </summary> 448 /// </summary>
@@ -481,39 +506,24 @@ namespace OpenSim.Framework.UserManagement
481 506
482 try 507 try
483 { 508 {
484 509 LLUUID agentID = userProfile.UUID;
485 LLUUID AgentID = userProfile.UUID;
486 510
487 // Inventory Library Section 511 // Inventory Library Section
488 ArrayList AgentInventoryArray = new ArrayList(); 512 AgentInventory userInventory = this.GetUsersInventory(agentID);
489 Hashtable TempHash; 513 ArrayList AgentInventoryArray = this.CreateInventoryArray(userInventory);
490
491 AgentInventory Library = new AgentInventory();
492 Library.CreateRootFolder(AgentID, false);
493
494 foreach (InventoryFolder InvFolder in Library.InventoryFolders.Values)
495 {
496 TempHash = new Hashtable();
497 TempHash["name"] = InvFolder.FolderName;
498 TempHash["parent_id"] = InvFolder.ParentID.ToStringHyphenated();
499 TempHash["version"] = (Int32)InvFolder.Version;
500 TempHash["type_default"] = (Int32)InvFolder.DefaultType;
501 TempHash["folder_id"] = InvFolder.FolderID.ToStringHyphenated();
502 AgentInventoryArray.Add(TempHash);
503 }
504 514
505 Hashtable InventoryRootHash = new Hashtable(); 515 Hashtable InventoryRootHash = new Hashtable();
506 InventoryRootHash["folder_id"] = Library.InventoryRoot.FolderID.ToStringHyphenated(); 516 InventoryRootHash["folder_id"] = userInventory.InventoryRoot.FolderID.ToStringHyphenated();
507 ArrayList InventoryRoot = new ArrayList(); 517 ArrayList InventoryRoot = new ArrayList();
508 InventoryRoot.Add(InventoryRootHash); 518 InventoryRoot.Add(InventoryRootHash);
509 userProfile.rootInventoryFolderID = Library.InventoryRoot.FolderID; 519 userProfile.rootInventoryFolderID = userInventory.InventoryRoot.FolderID;
510 520
511 // Circuit Code 521 // Circuit Code
512 uint circode = (uint)(Util.RandomClass.Next()); 522 uint circode = (uint)(Util.RandomClass.Next());
513 523
514 logResponse.Lastname = userProfile.surname; 524 logResponse.Lastname = userProfile.surname;
515 logResponse.Firstname = userProfile.username; 525 logResponse.Firstname = userProfile.username;
516 logResponse.AgentID = AgentID.ToStringHyphenated(); 526 logResponse.AgentID = agentID.ToStringHyphenated();
517 logResponse.SessionID = userProfile.currentAgent.sessionID.ToStringHyphenated(); 527 logResponse.SessionID = userProfile.currentAgent.sessionID.ToStringHyphenated();
518 logResponse.SecureSessionID = userProfile.currentAgent.secureSessionID.ToStringHyphenated(); 528 logResponse.SecureSessionID = userProfile.currentAgent.secureSessionID.ToStringHyphenated();
519 logResponse.InventoryRoot = InventoryRoot; 529 logResponse.InventoryRoot = InventoryRoot;