diff --git a/src/Umbraco.Core/Templates/HtmlLocalLinkParser.cs b/src/Umbraco.Core/Templates/HtmlLocalLinkParser.cs
index 3f62291ff1..2ecd61f7d2 100644
--- a/src/Umbraco.Core/Templates/HtmlLocalLinkParser.cs
+++ b/src/Umbraco.Core/Templates/HtmlLocalLinkParser.cs
@@ -24,7 +24,7 @@ namespace Umbraco.Web.Templates
_publishedUrlProvider = publishedUrlProvider;
}
- internal IEnumerable FindUdisFromLocalLinks(string text)
+ public IEnumerable FindUdisFromLocalLinks(string text)
{
foreach ((int? intId, GuidUdi udi, string tagValue) in FindLocalLinkIds(text))
{
diff --git a/src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs b/src/Umbraco.Infrastructure/PropertyEditors/GridPropertyEditor.cs
similarity index 96%
rename from src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs
rename to src/Umbraco.Infrastructure/PropertyEditors/GridPropertyEditor.cs
index d76e637b66..72e0843240 100644
--- a/src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs
+++ b/src/Umbraco.Infrastructure/PropertyEditors/GridPropertyEditor.cs
@@ -1,10 +1,8 @@
-using Newtonsoft.Json;
-using System;
+using System;
using System.Collections.Generic;
using System.Linq;
+using Newtonsoft.Json;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
@@ -64,7 +62,7 @@ namespace Umbraco.Web.PropertyEditors
/// Overridden to ensure that the value is validated
///
///
- protected override IDataValueEditor CreateValueEditor() => new GridPropertyValueEditor(Attribute,_umbracoContextAccessor, DataTypeService, LocalizationService, LocalizedTextService, _imageSourceParser, _pastedImages, _localLinkParser, ShortStringHelper, _imageUrlGenerator);
+ protected override IDataValueEditor CreateValueEditor() => new GridPropertyValueEditor(Attribute, _umbracoContextAccessor, DataTypeService, LocalizationService, LocalizedTextService, _imageSourceParser, _pastedImages, _localLinkParser, ShortStringHelper, _imageUrlGenerator);
protected override IConfigurationEditor CreateConfigurationEditor() => new GridConfigurationEditor(_ioHelper);
diff --git a/src/Umbraco.Web/PropertyEditors/GridPropertyIndexValueFactory.cs b/src/Umbraco.Infrastructure/PropertyEditors/GridPropertyIndexValueFactory.cs
similarity index 97%
rename from src/Umbraco.Web/PropertyEditors/GridPropertyIndexValueFactory.cs
rename to src/Umbraco.Infrastructure/PropertyEditors/GridPropertyIndexValueFactory.cs
index 00afcf19cc..195764fbbf 100644
--- a/src/Umbraco.Web/PropertyEditors/GridPropertyIndexValueFactory.cs
+++ b/src/Umbraco.Infrastructure/PropertyEditors/GridPropertyIndexValueFactory.cs
@@ -1,18 +1,17 @@
using System;
+using System.Collections.Generic;
+using System.Linq;
using System.Text;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Umbraco.Core;
+using Umbraco.Core.Models;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Xml;
using Umbraco.Examine;
namespace Umbraco.Web.PropertyEditors
{
- using System.Collections.Generic;
- using System.Linq;
- using Umbraco.Core.Models;
-
///
/// Parses the grid value into indexable values
///
diff --git a/src/Umbraco.Web/PropertyEditors/RichTextEditorPastedImages.cs b/src/Umbraco.Infrastructure/PropertyEditors/RichTextEditorPastedImages.cs
similarity index 93%
rename from src/Umbraco.Web/PropertyEditors/RichTextEditorPastedImages.cs
rename to src/Umbraco.Infrastructure/PropertyEditors/RichTextEditorPastedImages.cs
index 4b956bbe5b..eee45a636c 100644
--- a/src/Umbraco.Web/PropertyEditors/RichTextEditorPastedImages.cs
+++ b/src/Umbraco.Infrastructure/PropertyEditors/RichTextEditorPastedImages.cs
@@ -1,7 +1,7 @@
-using HtmlAgilityPack;
-using System;
+using System;
using System.Collections.Generic;
using System.IO;
+using HtmlAgilityPack;
using Umbraco.Core;
using Umbraco.Core.Exceptions;
using Umbraco.Core.IO;
@@ -9,6 +9,7 @@ using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Services;
using Umbraco.Core.Strings;
+using Umbraco.Web.Routing;
using Umbraco.Web.Templates;
namespace Umbraco.Web.PropertyEditors
@@ -22,10 +23,11 @@ namespace Umbraco.Web.PropertyEditors
private readonly IContentTypeBaseServiceProvider _contentTypeBaseServiceProvider;
private readonly IMediaFileSystem _mediaFileSystem;
private readonly IShortStringHelper _shortStringHelper;
+ private readonly IPublishedUrlProvider _publishedUrlProvider;
const string TemporaryImageDataAttribute = "data-tmpimg";
- public RichTextEditorPastedImages(IUmbracoContextAccessor umbracoContextAccessor, ILogger logger, IIOHelper ioHelper, IMediaService mediaService, IContentTypeBaseServiceProvider contentTypeBaseServiceProvider, IMediaFileSystem mediaFileSystem, IShortStringHelper shortStringHelper)
+ public RichTextEditorPastedImages(IUmbracoContextAccessor umbracoContextAccessor, ILogger logger, IIOHelper ioHelper, IMediaService mediaService, IContentTypeBaseServiceProvider contentTypeBaseServiceProvider, IMediaFileSystem mediaFileSystem, IShortStringHelper shortStringHelper, IPublishedUrlProvider publishedUrlProvider)
{
_umbracoContextAccessor = umbracoContextAccessor ?? throw new ArgumentNullException(nameof(umbracoContextAccessor));
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
@@ -34,6 +36,7 @@ namespace Umbraco.Web.PropertyEditors
_contentTypeBaseServiceProvider = contentTypeBaseServiceProvider ?? throw new ArgumentNullException(nameof(contentTypeBaseServiceProvider));
_mediaFileSystem = mediaFileSystem;
_shortStringHelper = shortStringHelper;
+ _publishedUrlProvider = publishedUrlProvider;
}
///
@@ -43,7 +46,7 @@ namespace Umbraco.Web.PropertyEditors
///
///
///
- internal string FindAndPersistPastedTempImages(string html, Guid mediaParentFolder, int userId, IImageUrlGenerator imageUrlGenerator)
+ public string FindAndPersistPastedTempImages(string html, Guid mediaParentFolder, int userId, IImageUrlGenerator imageUrlGenerator)
{
// Find all img's that has data-tmpimg attribute
// Use HTML Agility Pack - https://html-agility-pack.net
@@ -108,7 +111,7 @@ namespace Umbraco.Web.PropertyEditors
if (mediaTyped == null)
throw new PanicException($"Could not find media by id {udi.Guid} or there was no UmbracoContext available.");
- var location = mediaTyped.Url();
+ var location = mediaTyped.Url(_publishedUrlProvider);
// Find the width & height attributes as we need to set the imageprocessor QueryString
var width = img.GetAttributeValue("width", int.MinValue);
diff --git a/src/Umbraco.Web/PropertyEditors/RichTextPropertyEditor.cs b/src/Umbraco.Infrastructure/PropertyEditors/RichTextPropertyEditor.cs
similarity index 99%
rename from src/Umbraco.Web/PropertyEditors/RichTextPropertyEditor.cs
rename to src/Umbraco.Infrastructure/PropertyEditors/RichTextPropertyEditor.cs
index 32076af7af..dea9a5f002 100644
--- a/src/Umbraco.Web/PropertyEditors/RichTextPropertyEditor.cs
+++ b/src/Umbraco.Infrastructure/PropertyEditors/RichTextPropertyEditor.cs
@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using Umbraco.Core;
-using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
diff --git a/src/Umbraco.Web/PropertyEditors/ValueConverters/RteMacroRenderingValueConverter.cs b/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/RteMacroRenderingValueConverter.cs
similarity index 99%
rename from src/Umbraco.Web/PropertyEditors/ValueConverters/RteMacroRenderingValueConverter.cs
rename to src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/RteMacroRenderingValueConverter.cs
index 0016d4c88a..a55f73980b 100644
--- a/src/Umbraco.Web/PropertyEditors/ValueConverters/RteMacroRenderingValueConverter.cs
+++ b/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/RteMacroRenderingValueConverter.cs
@@ -1,13 +1,13 @@
-using System.Text;
-using Umbraco.Core;
-using Umbraco.Core.PropertyEditors;
-using Umbraco.Core.Models.PublishedContent;
-using Umbraco.Core.PropertyEditors.ValueConverters;
-using Umbraco.Web.Templates;
-using System.Linq;
+using System.Linq;
+using System.Text;
using HtmlAgilityPack;
-using Umbraco.Web.Macros;
+using Umbraco.Core;
+using Umbraco.Core.Models.PublishedContent;
+using Umbraco.Core.PropertyEditors;
+using Umbraco.Core.PropertyEditors.ValueConverters;
using Umbraco.Core.Strings;
+using Umbraco.Web.Macros;
+using Umbraco.Web.Templates;
namespace Umbraco.Web.PropertyEditors.ValueConverters
{
diff --git a/src/Umbraco.Tests/PublishedContent/PublishedContentTestBase.cs b/src/Umbraco.Tests/PublishedContent/PublishedContentTestBase.cs
index 704ce3fff4..d99fc90813 100644
--- a/src/Umbraco.Tests/PublishedContent/PublishedContentTestBase.cs
+++ b/src/Umbraco.Tests/PublishedContent/PublishedContentTestBase.cs
@@ -48,7 +48,7 @@ namespace Umbraco.Tests.PublishedContent
var logger = Mock.Of();
var imageSourceParser = new HtmlImageSourceParser(publishedUrlProvider);
- var pastedImages = new RichTextEditorPastedImages(umbracoContextAccessor, logger, IOHelper, Mock.Of(), Mock.Of(), Mock.Of(), ShortStringHelper);
+ var pastedImages = new RichTextEditorPastedImages(umbracoContextAccessor, logger, IOHelper, Mock.Of(), Mock.Of(), Mock.Of(), ShortStringHelper, publishedUrlProvider);
var localLinkParser = new HtmlLocalLinkParser(umbracoContextAccessor, publishedUrlProvider);
var dataTypeService = new TestObjects.TestDataTypeService(
new DataType(new RichTextPropertyEditor(
diff --git a/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs
index 04dbcc454c..e852c22828 100644
--- a/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs
+++ b/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs
@@ -52,7 +52,7 @@ namespace Umbraco.Tests.PublishedContent
var umbracoContextAccessor = Mock.Of();
var publishedUrlProvider = Mock.Of();
var imageSourceParser = new HtmlImageSourceParser(publishedUrlProvider);
- var pastedImages = new RichTextEditorPastedImages(umbracoContextAccessor, logger, IOHelper, mediaService, contentTypeBaseServiceProvider, mediaFileService, ShortStringHelper);
+ var pastedImages = new RichTextEditorPastedImages(umbracoContextAccessor, logger, IOHelper, mediaService, contentTypeBaseServiceProvider, mediaFileService, ShortStringHelper, publishedUrlProvider);
var linkParser = new HtmlLocalLinkParser(umbracoContextAccessor, publishedUrlProvider);
var localizationService = Mock.Of();
diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj
index 431bffec9e..8174555486 100755
--- a/src/Umbraco.Web/Umbraco.Web.csproj
+++ b/src/Umbraco.Web/Umbraco.Web.csproj
@@ -185,10 +185,6 @@
-
-
-
-
@@ -215,7 +211,6 @@
-
@@ -598,6 +593,4 @@
-
-
\ No newline at end of file