From 2f1c39ab96936db1281f9d99ae0ba2f72ac29d57 Mon Sep 17 00:00:00 2001 From: Shannon Date: Thu, 31 Jan 2019 15:44:39 +1100 Subject: [PATCH] Removes the old/strange "pageElements" thing, it's no longer needed --- src/Umbraco.Web/Editors/MacroRenderingController.cs | 6 ------ src/Umbraco.Web/Macros/MacroRenderer.cs | 4 ---- src/Umbraco.Web/Routing/PublishedRouter.cs | 7 +------ src/Umbraco.Web/Templates/TemplateRenderer.cs | 13 ++++--------- 4 files changed, 5 insertions(+), 25 deletions(-) diff --git a/src/Umbraco.Web/Editors/MacroRenderingController.cs b/src/Umbraco.Web/Editors/MacroRenderingController.cs index f88a84dd72..0fd88e2b1e 100644 --- a/src/Umbraco.Web/Editors/MacroRenderingController.cs +++ b/src/Umbraco.Web/Editors/MacroRenderingController.cs @@ -139,12 +139,6 @@ namespace Umbraco.Web.Editors _variationContextAccessor.VariationContext = new VariationContext(Thread.CurrentThread.CurrentCulture.Name); } - - //fixme: don't think we need this anymore - var legacyPage = new PublishedContentHashtableConverter(doc, _variationContextAccessor); - UmbracoContext.HttpContext.Items["pageElements"] = legacyPage.Elements; - UmbracoContext.HttpContext.Items[Core.Constants.Conventions.Url.AltTemplate] = null; - var result = Request.CreateResponse(); //need to create a specific content result formatted as HTML since this controller has been configured //with only json formatters. diff --git a/src/Umbraco.Web/Macros/MacroRenderer.cs b/src/Umbraco.Web/Macros/MacroRenderer.cs index b0ea90f9c1..9736aa283b 100755 --- a/src/Umbraco.Web/Macros/MacroRenderer.cs +++ b/src/Umbraco.Web/Macros/MacroRenderer.cs @@ -195,10 +195,6 @@ namespace Umbraco.Web.Macros #region Render/Execute - // still, this is ugly. The macro should have a Content property - // referring to IPublishedContent we're rendering the macro against, - // this is all so convoluted ;-( - public MacroContent Render(string macroAlias, IPublishedContent content, IDictionary macroParams) { var m = _macroService.GetByAlias(macroAlias); diff --git a/src/Umbraco.Web/Routing/PublishedRouter.cs b/src/Umbraco.Web/Routing/PublishedRouter.cs index 14c36198d8..27baf86522 100644 --- a/src/Umbraco.Web/Routing/PublishedRouter.cs +++ b/src/Umbraco.Web/Routing/PublishedRouter.cs @@ -207,9 +207,6 @@ namespace Umbraco.Web.Routing // handlers like default.aspx will want it and most macros currently need it frequest.LegacyContentHashTable = new PublishedContentHashtableConverter(frequest); - // used by many legacy objects - frequest.UmbracoContext.HttpContext.Items["pageElements"] = frequest.LegacyContentHashTable.Elements; - return true; } @@ -252,9 +249,7 @@ namespace Umbraco.Web.Routing // assign the legacy page back to the docrequest // handlers like default.aspx will want it and most macros currently need it request.LegacyContentHashTable = new PublishedContentHashtableConverter(request); - - // this is used by many legacy objects - request.UmbracoContext.HttpContext.Items["pageElements"] = request.LegacyContentHashTable.Elements; + } #endregion diff --git a/src/Umbraco.Web/Templates/TemplateRenderer.cs b/src/Umbraco.Web/Templates/TemplateRenderer.cs index facafdea63..dc8ca0b16d 100644 --- a/src/Umbraco.Web/Templates/TemplateRenderer.cs +++ b/src/Umbraco.Web/Templates/TemplateRenderer.cs @@ -97,7 +97,7 @@ namespace Umbraco.Web.Templates //First, save all of the items locally that we know are used in the chain of execution, we'll need to restore these //after this page has rendered. - SaveExistingItems(out var oldPageElements, out var oldPublishedRequest, out var oldAltTemplate); + SaveExistingItems(out var oldPublishedRequest, out var oldAltTemplate); try { @@ -110,7 +110,7 @@ namespace Umbraco.Web.Templates finally { //restore items on context objects to continuing rendering the parent template - RestoreItems(oldPageElements, oldPublishedRequest, oldAltTemplate); + RestoreItems(oldPublishedRequest, oldAltTemplate); } } @@ -172,10 +172,7 @@ namespace Umbraco.Web.Templates private void SetNewItemsOnContextObjects(PublishedRequest request) { - // handlers like default.aspx will want it and most macros currently need it - request.LegacyContentHashTable = new PublishedContentHashtableConverter(request); //now, set the new ones for this page execution - _umbracoContextAccessor.UmbracoContext.HttpContext.Items["pageElements"] = request.LegacyContentHashTable.Elements; _umbracoContextAccessor.UmbracoContext.HttpContext.Items[Core.Constants.Conventions.Url.AltTemplate] = null; _umbracoContextAccessor.UmbracoContext.PublishedRequest = request; } @@ -183,11 +180,10 @@ namespace Umbraco.Web.Templates /// /// Save all items that we know are used for rendering execution to variables so we can restore after rendering /// - private void SaveExistingItems(out object oldPageElements, out PublishedRequest oldPublishedRequest, out object oldAltTemplate) + private void SaveExistingItems(out PublishedRequest oldPublishedRequest, out object oldAltTemplate) { //Many objects require that these legacy items are in the http context items... before we render this template we need to first //save the values in them so that we can re-set them after we render so the rest of the execution works as per normal - oldPageElements = _umbracoContextAccessor.UmbracoContext.HttpContext.Items["pageElements"]; oldPublishedRequest = _umbracoContextAccessor.UmbracoContext.PublishedRequest; oldAltTemplate = _umbracoContextAccessor.UmbracoContext.HttpContext.Items[Core.Constants.Conventions.Url.AltTemplate]; } @@ -195,10 +191,9 @@ namespace Umbraco.Web.Templates /// /// Restores all items back to their context's to continue normal page rendering execution /// - private void RestoreItems(object oldPageElements, PublishedRequest oldPublishedRequest, object oldAltTemplate) + private void RestoreItems(PublishedRequest oldPublishedRequest, object oldAltTemplate) { _umbracoContextAccessor.UmbracoContext.PublishedRequest = oldPublishedRequest; - _umbracoContextAccessor.UmbracoContext.HttpContext.Items["pageElements"] = oldPageElements; _umbracoContextAccessor.UmbracoContext.HttpContext.Items[Core.Constants.Conventions.Url.AltTemplate] = oldAltTemplate; } }