Use IHtmlSanitizer in RichTextValueEditor

This commit is contained in:
Mole
2022-01-24 09:30:23 +01:00
parent 249774c815
commit 39f7102312

View File

@@ -81,6 +81,7 @@ namespace Umbraco.Cms.Core.PropertyEditors
private readonly HtmlLocalLinkParser _localLinkParser; private readonly HtmlLocalLinkParser _localLinkParser;
private readonly RichTextEditorPastedImages _pastedImages; private readonly RichTextEditorPastedImages _pastedImages;
private readonly IImageUrlGenerator _imageUrlGenerator; private readonly IImageUrlGenerator _imageUrlGenerator;
private readonly IHtmlSanitizer _htmlSanitizer;
public RichTextPropertyValueEditor( public RichTextPropertyValueEditor(
DataEditorAttribute attribute, DataEditorAttribute attribute,
@@ -92,7 +93,8 @@ namespace Umbraco.Cms.Core.PropertyEditors
RichTextEditorPastedImages pastedImages, RichTextEditorPastedImages pastedImages,
IImageUrlGenerator imageUrlGenerator, IImageUrlGenerator imageUrlGenerator,
IJsonSerializer jsonSerializer, IJsonSerializer jsonSerializer,
IIOHelper ioHelper) IIOHelper ioHelper,
IHtmlSanitizer htmlSanitizer)
: base(localizedTextService, shortStringHelper, jsonSerializer, ioHelper, attribute) : base(localizedTextService, shortStringHelper, jsonSerializer, ioHelper, attribute)
{ {
_backOfficeSecurityAccessor = backOfficeSecurityAccessor; _backOfficeSecurityAccessor = backOfficeSecurityAccessor;
@@ -100,6 +102,7 @@ namespace Umbraco.Cms.Core.PropertyEditors
_localLinkParser = localLinkParser; _localLinkParser = localLinkParser;
_pastedImages = pastedImages; _pastedImages = pastedImages;
_imageUrlGenerator = imageUrlGenerator; _imageUrlGenerator = imageUrlGenerator;
_htmlSanitizer = htmlSanitizer;
} }
/// <inheritdoc /> /// <inheritdoc />
@@ -156,8 +159,9 @@ namespace Umbraco.Cms.Core.PropertyEditors
var parseAndSavedTempImages = _pastedImages.FindAndPersistPastedTempImages(editorValue.Value.ToString(), mediaParentId, userId, _imageUrlGenerator); var parseAndSavedTempImages = _pastedImages.FindAndPersistPastedTempImages(editorValue.Value.ToString(), mediaParentId, userId, _imageUrlGenerator);
var editorValueWithMediaUrlsRemoved = _imageSourceParser.RemoveImageSources(parseAndSavedTempImages); var editorValueWithMediaUrlsRemoved = _imageSourceParser.RemoveImageSources(parseAndSavedTempImages);
var parsed = MacroTagParser.FormatRichTextContentForPersistence(editorValueWithMediaUrlsRemoved); var parsed = MacroTagParser.FormatRichTextContentForPersistence(editorValueWithMediaUrlsRemoved);
var sanitized = _htmlSanitizer.Sanitize(parsed);
return parsed.NullOrWhiteSpaceAsNull(); return sanitized.NullOrWhiteSpaceAsNull();
} }
/// <summary> /// <summary>