mirror of
https://github.com/opensim/opensim.git
synced 2026-08-10 19:36:07 +08:00
add a missing foldername urlencode on xinventory folder update
This commit is contained in:
@@ -327,23 +327,22 @@ namespace OpenSim.Server.Base
|
||||
|
||||
public static Dictionary<string, object> ParseQueryString(string query)
|
||||
{
|
||||
string[] terms = query.Split(new char[] { '&' });
|
||||
string[] terms = query.Split(['&']);
|
||||
|
||||
int nterms = terms.Length;
|
||||
if (nterms == 0)
|
||||
return new Dictionary<string, object>();
|
||||
if (terms.Length == 0)
|
||||
return [];
|
||||
|
||||
Dictionary<string, object> result = new Dictionary<string, object>(nterms);
|
||||
Dictionary<string, object> result = new Dictionary<string, object>(terms.Length);
|
||||
string name;
|
||||
|
||||
for (int i = 0; i < nterms; ++i)
|
||||
for (int i = 0; i < terms.Length; ++i)
|
||||
{
|
||||
string[] elems = terms[i].Split(new char[] { '=' });
|
||||
string[] elems = terms[i].Split(['=']);
|
||||
|
||||
if (elems.Length == 0)
|
||||
continue;
|
||||
|
||||
if (String.IsNullOrWhiteSpace(elems[0]))
|
||||
if (string.IsNullOrWhiteSpace(elems[0]))
|
||||
continue;
|
||||
|
||||
name = System.Web.HttpUtility.UrlDecode(elems[0]);
|
||||
@@ -351,7 +350,7 @@ namespace OpenSim.Server.Base
|
||||
if (name.EndsWith("[]"))
|
||||
{
|
||||
name = name.Substring(0, name.Length - 2);
|
||||
if (String.IsNullOrWhiteSpace(name))
|
||||
if (string.IsNullOrWhiteSpace(name))
|
||||
continue;
|
||||
if (result.ContainsKey(name))
|
||||
{
|
||||
|
||||
@@ -26,22 +26,18 @@
|
||||
*/
|
||||
|
||||
using log4net;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Reflection;
|
||||
using Nini.Config;
|
||||
|
||||
using OpenMetaverse;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Monitoring;
|
||||
using OpenSim.Framework.ServiceAuth;
|
||||
using OpenSim.Services.Interfaces;
|
||||
using OpenSim.Server.Base;
|
||||
using OpenMetaverse;
|
||||
using OpenSim.Services.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Web;
|
||||
|
||||
namespace OpenSim.Services.Connectors
|
||||
{
|
||||
@@ -157,19 +153,18 @@ namespace OpenSim.Services.Connectors
|
||||
|
||||
public List<InventoryFolderBase> GetInventorySkeleton(UUID principalID)
|
||||
{
|
||||
Dictionary<string,object> ret = MakeRequest(
|
||||
$"METHOD=GETINVENTORYSKELETON&PRINCIPAL={principalID}");
|
||||
Dictionary<string,object> ret = MakeRequest($"METHOD=GETINVENTORYSKELETON&PRINCIPAL={principalID}");
|
||||
|
||||
if (!CheckReturn(ret))
|
||||
return null;
|
||||
|
||||
Dictionary<string, object> folders = (Dictionary<string, object>)ret["FOLDERS"];
|
||||
|
||||
List<InventoryFolderBase> fldrs = new();
|
||||
List<InventoryFolderBase> fldrs = [];
|
||||
|
||||
try
|
||||
{
|
||||
foreach (Object o in folders.Values)
|
||||
foreach (object o in folders.Values)
|
||||
fldrs.Add(BuildFolder((Dictionary<string, object>)o));
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -205,8 +200,8 @@ namespace OpenSim.Services.Connectors
|
||||
{
|
||||
InventoryCollection inventory = new()
|
||||
{
|
||||
Folders = new(),
|
||||
Items = new(),
|
||||
Folders = [],
|
||||
Items = [],
|
||||
OwnerID = principalID
|
||||
};
|
||||
|
||||
@@ -233,7 +228,7 @@ namespace OpenSim.Services.Connectors
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.WarnFormat("[XINVENTORY SERVICES CONNECTOR]: Exception in GetFolderContent: {0}", e.Message);
|
||||
m_log.Warn("[XINVENTORY SERVICES CONNECTOR]: Exception in GetFolderContent: " + e.Message);
|
||||
}
|
||||
|
||||
return inventory;
|
||||
@@ -285,8 +280,8 @@ namespace OpenSim.Services.Connectors
|
||||
{
|
||||
FolderID = inventoryFolderID,
|
||||
OwnerID = inventoryOwnerID,
|
||||
Folders = new List<InventoryFolderBase>(),
|
||||
Items = new List<InventoryItemBase>()
|
||||
Folders = [],
|
||||
Items = []
|
||||
};
|
||||
|
||||
if (!ret.TryGetValue("VERSION", out object retVer) ||
|
||||
@@ -322,7 +317,7 @@ namespace OpenSim.Services.Connectors
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.WarnFormat("[XINVENTORY SERVICES CONNECTOR]: Exception in GetMultipleFoldersContent: {0}", e.Message);
|
||||
m_log.Warn("[XINVENTORY SERVICES CONNECTOR]: Exception in GetMultipleFoldersContent: {0}" + e.Message);
|
||||
}
|
||||
|
||||
return inventoryArr;
|
||||
@@ -363,7 +358,7 @@ namespace OpenSim.Services.Connectors
|
||||
public bool UpdateFolder(InventoryFolderBase folder)
|
||||
{
|
||||
Dictionary<string,object> ret = MakeRequest(
|
||||
$"METHOD=UPDATEFOLDER&ParentID={folder.ParentID}&Type={folder.Type}&Version={folder.Version}&Name={folder.Name}&Owner={folder.Owner}&ID={folder.ID}");
|
||||
$"METHOD=UPDATEFOLDER&ParentID={folder.ParentID}&Type={folder.Type}&Version={folder.Version}&Name={HttpUtility.UrlEncode(folder.Name)}&Owner={folder.Owner}&ID={folder.ID}");
|
||||
|
||||
return CheckReturn(ret);
|
||||
}
|
||||
@@ -377,7 +372,7 @@ namespace OpenSim.Services.Connectors
|
||||
|
||||
public bool DeleteFolders(UUID principalID, List<UUID> folderIDs)
|
||||
{
|
||||
List<string> slist = new();
|
||||
List<string> slist = [];
|
||||
|
||||
foreach (UUID f in folderIDs)
|
||||
slist.Add(f.ToString());
|
||||
|
||||
Reference in New Issue
Block a user