aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Communications/Local/LocalLoginService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Communications/Local/LocalLoginService.cs')
-rw-r--r--OpenSim/Region/Communications/Local/LocalLoginService.cs51
1 files changed, 2 insertions, 49 deletions
diff --git a/OpenSim/Region/Communications/Local/LocalLoginService.cs b/OpenSim/Region/Communications/Local/LocalLoginService.cs
index ab8e397..95fdf5a 100644
--- a/OpenSim/Region/Communications/Local/LocalLoginService.cs
+++ b/OpenSim/Region/Communications/Local/LocalLoginService.cs
@@ -7,7 +7,6 @@ using OpenSim.Framework.Data;
7using OpenSim.Framework.Types; 7using OpenSim.Framework.Types;
8using OpenSim.Framework.UserManagement; 8using OpenSim.Framework.UserManagement;
9using OpenSim.Framework.Utilities; 9using OpenSim.Framework.Utilities;
10using OpenSim.Framework.Inventory;
11 10
12namespace OpenSim.Region.Communications.Local 11namespace OpenSim.Region.Communications.Local
13{ 12{
@@ -25,7 +24,7 @@ namespace OpenSim.Region.Communications.Local
25 public event LoginToRegionEvent OnLoginToRegion; 24 public event LoginToRegionEvent OnLoginToRegion;
26 25
27 public LocalLoginService(UserManagerBase userManager, string welcomeMess, CommunicationsLocal parent, NetworkServersInfo serversInfo, bool authenticate) 26 public LocalLoginService(UserManagerBase userManager, string welcomeMess, CommunicationsLocal parent, NetworkServersInfo serversInfo, bool authenticate)
28 : base(userManager, welcomeMess) 27 : base(userManager, parent.InventoryService, welcomeMess)
29 { 28 {
30 m_Parent = parent; 29 m_Parent = parent;
31 this.serversInfo = serversInfo; 30 this.serversInfo = serversInfo;
@@ -53,7 +52,7 @@ namespace OpenSim.Region.Communications.Local
53 profile = this.m_userManager.GetUserProfile(firstname, lastname); 52 profile = this.m_userManager.GetUserProfile(firstname, lastname);
54 if (profile != null) 53 if (profile != null)
55 { 54 {
56 m_Parent.InventoryService.CreateNewUserInventory(profile.UUID); 55 m_Parent.InventoryService.CreateNewUserInventory(LLUUID.Zero, profile.UUID);
57 } 56 }
58 57
59 return profile; 58 return profile;
@@ -123,51 +122,5 @@ namespace OpenSim.Region.Communications.Local
123 } 122 }
124 123
125 } 124 }
126
127 protected override InventoryData CreateInventoryData(LLUUID userID)
128 {
129 List<InventoryFolderBase> folders = m_Parent.InventoryService.RequestFirstLevelFolders(userID);
130 if (folders.Count > 0)
131 {
132 LLUUID rootID = LLUUID.Zero;
133 ArrayList AgentInventoryArray = new ArrayList();
134 Hashtable TempHash;
135 foreach (InventoryFolderBase InvFolder in folders)
136 {
137 if (InvFolder.parentID == LLUUID.Zero)
138 {
139 rootID = InvFolder.folderID;
140 }
141 TempHash = new Hashtable();
142 TempHash["name"] = InvFolder.name;
143 TempHash["parent_id"] = InvFolder.parentID.ToStringHyphenated();
144 TempHash["version"] = (Int32)InvFolder.version;
145 TempHash["type_default"] = (Int32)InvFolder.type;
146 TempHash["folder_id"] = InvFolder.folderID.ToStringHyphenated();
147 AgentInventoryArray.Add(TempHash);
148 }
149 return new InventoryData(AgentInventoryArray, rootID);
150 }
151 else
152 {
153 AgentInventory userInventory = new AgentInventory();
154 userInventory.CreateRootFolder(userID, false);
155
156 ArrayList AgentInventoryArray = new ArrayList();
157 Hashtable TempHash;
158 foreach (OpenSim.Framework.Inventory.InventoryFolder InvFolder in userInventory.InventoryFolders.Values)
159 {
160 TempHash = new Hashtable();
161 TempHash["name"] = InvFolder.FolderName;
162 TempHash["parent_id"] = InvFolder.ParentID.ToStringHyphenated();
163 TempHash["version"] = (Int32)InvFolder.Version;
164 TempHash["type_default"] = (Int32)InvFolder.DefaultType;
165 TempHash["folder_id"] = InvFolder.FolderID.ToStringHyphenated();
166 AgentInventoryArray.Add(TempHash);
167 }
168
169 return new InventoryData(AgentInventoryArray, userInventory.InventoryRoot.FolderID);
170 }
171 }
172 } 125 }
173} 126}