From 29bc652cc4e7c3d42c7e2b72f05af84962240053 Mon Sep 17 00:00:00 2001 From: hartvig Date: Tue, 10 Aug 2010 11:51:00 +0000 Subject: [PATCH] Fixes 28464, issue with umbraco.library.GetMember(int) [TFS Changeset #75282] --- umbraco/presentation/library.cs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/umbraco/presentation/library.cs b/umbraco/presentation/library.cs index c9796d4b28..dd777044b5 100644 --- a/umbraco/presentation/library.cs +++ b/umbraco/presentation/library.cs @@ -722,7 +722,7 @@ namespace umbraco { if (UmbracoSettings.UmbracoLibraryCacheDuration > 0) { - XPathNodeIterator retVal = Cache.GetCacheItem(String.Format( + XmlDocument retVal = Cache.GetCacheItem(String.Format( "UL_{0}_{1}", GETMEMBER_CACHE_KEY, MemberId), libraryCacheLock, TimeSpan.FromSeconds(UmbracoSettings.UmbracoLibraryCacheDuration), delegate @@ -731,11 +731,11 @@ namespace umbraco }); if (retVal != null) - return retVal; + return retVal.CreateNavigator().Select("/"); } else { - return getMemberDo(MemberId); + return getMemberDo(MemberId).CreateNavigator().Select("/"); } } @@ -747,15 +747,14 @@ namespace umbraco return xd.CreateNavigator().Select("/"); } - private static XPathNodeIterator getMemberDo(int MemberId) + private static XmlDocument getMemberDo(int MemberId) { Member m = new Member(MemberId); XmlDocument mXml = new XmlDocument(); mXml.LoadXml(m.ToXml(mXml, false).OuterXml); - XPathNavigator xp = mXml.CreateNavigator(); - string xpath = UmbracoSettings.UseLegacyXmlSchema ? "/node" : String.Format("/{0}", Casing.SafeAliasWithForcingCheck(m.ContentType.Alias)); - return xp.Select(xpath); + return mXml; } + /// /// Get the current member as an xml node ///