From fccfa4f412c334ce4fae5441c3b6b60f5ae166dd Mon Sep 17 00:00:00 2001 From: Shannon Date: Wed, 30 Jan 2019 23:42:25 +1100 Subject: [PATCH] Removes umbraco settings: ImageTagAllowedAttributes, UploadAllowDirectories, ensureUniqueNaming, ImageTagAllowedAttributes, ScriptEditorDisable, ScriptFolderPath, UploadAllowDirectories --- .../UmbracoSettings/ContentElement.cs | 21 -- .../UmbracoSettings/ContentImagingElement.cs | 12 - .../ContentScriptEditorElement.cs | 27 -- .../UmbracoSettings/IContentSection.cs | 12 - src/Umbraco.Core/IO/IOHelper.cs | 2 +- .../OriginalMediaPathScheme.cs | 6 +- .../Implement/DocumentBlueprintRepository.cs | 7 +- .../Implement/DocumentRepository.cs | 8 +- .../Repositories/Implement/MediaRepository.cs | 10 +- .../Implement/ScriptRepository.cs | 2 +- src/Umbraco.Core/Umbraco.Core.csproj | 1 - .../UmbracoSettings/ContentElementTests.cs | 34 +-- .../Repositories/ContentTypeRepositoryTest.cs | 2 +- .../Repositories/DocumentRepositoryTest.cs | 2 +- .../Repositories/DomainRepositoryTest.cs | 2 +- .../Repositories/MediaRepositoryTest.cs | 2 +- .../PublicAccessRepositoryTest.cs | 2 +- .../Repositories/TagRepositoryTest.cs | 4 +- .../Repositories/TemplateRepositoryTest.cs | 2 +- .../Repositories/UserRepositoryTest.cs | 4 +- .../Services/ContentServicePerformanceTest.cs | 8 +- .../Services/ContentServiceTests.cs | 2 +- .../config/umbracoSettings.Release.config | 6 +- .../config/umbracoSettings.config | 279 +++++++++--------- ...404.cs => ContentFinderByConfigured404.cs} | 12 +- src/Umbraco.Web/Runtime/WebRuntimeComposer.cs | 2 +- src/Umbraco.Web/Umbraco.Web.csproj | 2 +- 27 files changed, 175 insertions(+), 298 deletions(-) delete mode 100644 src/Umbraco.Core/Configuration/UmbracoSettings/ContentScriptEditorElement.cs rename src/Umbraco.Web/Routing/{ContentFinderByLegacy404.cs => ContentFinderByConfigured404.cs} (84%) diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs index abeaa8542a..de2f9d4c9e 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs @@ -11,15 +11,9 @@ namespace Umbraco.Core.Configuration.UmbracoSettings [ConfigurationProperty("imaging")] internal ContentImagingElement Imaging => (ContentImagingElement) this["imaging"]; - [ConfigurationProperty("scripteditor")] - internal ContentScriptEditorElement ScriptEditor => (ContentScriptEditorElement) this["scripteditor"]; - [ConfigurationProperty("ResolveUrlsFromTextString")] internal InnerTextConfigurationElement ResolveUrlsFromTextString => GetOptionalTextElement("ResolveUrlsFromTextString", false); - [ConfigurationProperty("UploadAllowDirectories")] - internal InnerTextConfigurationElement UploadAllowDirectories => GetOptionalTextElement("UploadAllowDirectories", true); - public IEnumerable Error404Collection => Errors.Error404Collection; [ConfigurationProperty("errors", IsRequired = true)] @@ -28,9 +22,6 @@ namespace Umbraco.Core.Configuration.UmbracoSettings [ConfigurationProperty("notifications", IsRequired = true)] internal NotificationsElement Notifications => (NotificationsElement) base["notifications"]; - [ConfigurationProperty("ensureUniqueNaming")] - internal InnerTextConfigurationElement EnsureUniqueNaming => GetOptionalTextElement("ensureUniqueNaming", true); - [ConfigurationProperty("XmlCacheEnabled")] internal InnerTextConfigurationElement XmlCacheEnabled => GetOptionalTextElement("XmlCacheEnabled", true); @@ -85,22 +76,10 @@ namespace Umbraco.Core.Configuration.UmbracoSettings IEnumerable IContentSection.ImageFileTypes => Imaging.ImageFileTypes; - IEnumerable IContentSection.ImageTagAllowedAttributes => Imaging.ImageTagAllowedAttributes; - IEnumerable IContentSection.ImageAutoFillProperties => Imaging.ImageAutoFillProperties; - bool IContentSection.ScriptEditorDisable => ScriptEditor.ScriptEditorDisable; - - string IContentSection.ScriptFolderPath => ScriptEditor.ScriptFolderPath; - - IEnumerable IContentSection.ScriptFileTypes => ScriptEditor.ScriptFileTypes; - bool IContentSection.ResolveUrlsFromTextString => ResolveUrlsFromTextString; - bool IContentSection.UploadAllowDirectories => UploadAllowDirectories; - - bool IContentSection.EnsureUniqueNaming => EnsureUniqueNaming; - bool IContentSection.XmlCacheEnabled => XmlCacheEnabled; bool IContentSection.ContinouslyUpdateXmlDiskCache => ContinouslyUpdateXmlDiskCache; diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingElement.cs index 93537fe870..1814ef23e8 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingElement.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentImagingElement.cs @@ -22,18 +22,6 @@ namespace Umbraco.Core.Configuration.UmbracoSettings return new[] {"jpeg", "jpg", "gif", "bmp", "png", "tiff", "tif"}; } - [ConfigurationProperty("allowedAttributes")] - internal CommaDelimitedConfigurationElement ImageTagAllowedAttributes - { - get - { - return new OptionalCommaDelimitedConfigurationElement( - (CommaDelimitedConfigurationElement)this["allowedAttributes"], - //set the default - new[] { "src", "alt", "border", "class", "style", "align", "id", "name", "onclick", "usemap" }); - } - } - private ImagingAutoFillPropertiesCollection _defaultImageAutoFill; [ConfigurationCollection(typeof(ImagingAutoFillPropertiesCollection), AddItemName = "uploadField")] diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentScriptEditorElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/ContentScriptEditorElement.cs deleted file mode 100644 index c218138e31..0000000000 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentScriptEditorElement.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System.Collections.Generic; -using System.Configuration; - -namespace Umbraco.Core.Configuration.UmbracoSettings -{ - internal class ContentScriptEditorElement : UmbracoConfigurationElement - { - [ConfigurationProperty("scriptFolderPath")] - internal InnerTextConfigurationElement ScriptFolderPath - { - get { return GetOptionalTextElement("scriptFolderPath", "/scripts"); } - } - - [ConfigurationProperty("scriptFileTypes")] - internal OptionalCommaDelimitedConfigurationElement ScriptFileTypes - { - get { return GetOptionalDelimitedElement("scriptFileTypes", new[] {"js", "xml"}); } - } - - [ConfigurationProperty("scriptDisableEditor")] - internal InnerTextConfigurationElement ScriptEditorDisable - { - get { return GetOptionalTextElement("scriptDisableEditor", false); } - } - - } -} diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/IContentSection.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/IContentSection.cs index 00dc7f073d..7701bc64cd 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/IContentSection.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/IContentSection.cs @@ -11,24 +11,12 @@ namespace Umbraco.Core.Configuration.UmbracoSettings IEnumerable ImageFileTypes { get; } - IEnumerable ImageTagAllowedAttributes { get; } - IEnumerable ImageAutoFillProperties { get; } - string ScriptFolderPath { get; } - - IEnumerable ScriptFileTypes { get; } - - bool ScriptEditorDisable { get; } - bool ResolveUrlsFromTextString { get; } - bool UploadAllowDirectories { get; } - IEnumerable Error404Collection { get; } - bool EnsureUniqueNaming { get; } - bool XmlCacheEnabled { get; } bool ContinouslyUpdateXmlDiskCache { get; } diff --git a/src/Umbraco.Core/IO/IOHelper.cs b/src/Umbraco.Core/IO/IOHelper.cs index a92b556240..53aa5a8179 100644 --- a/src/Umbraco.Core/IO/IOHelper.cs +++ b/src/Umbraco.Core/IO/IOHelper.cs @@ -185,7 +185,7 @@ namespace Umbraco.Core.IO /// The filepath to validate. /// The valid extensions. /// A value indicating whether the filepath is valid. - internal static bool VerifyFileExtension(string filePath, List validFileExtensions) + internal static bool VerifyFileExtension(string filePath, IEnumerable validFileExtensions) { var ext = Path.GetExtension(filePath); return ext != null && validFileExtensions.Contains(ext.TrimStart('.')); diff --git a/src/Umbraco.Core/IO/MediaPathSchemes/OriginalMediaPathScheme.cs b/src/Umbraco.Core/IO/MediaPathSchemes/OriginalMediaPathScheme.cs index 1948a9f662..52f84e9901 100644 --- a/src/Umbraco.Core/IO/MediaPathSchemes/OriginalMediaPathScheme.cs +++ b/src/Umbraco.Core/IO/MediaPathSchemes/OriginalMediaPathScheme.cs @@ -31,7 +31,7 @@ namespace Umbraco.Core.IO.MediaPathSchemes // prevpath should be "/" OR "-" // and we want to reuse the "" part, so try to find it - var sep = Current.Configs.Settings().Content.UploadAllowDirectories ? "/" : "-"; + const string sep = "/"; var pos = previous.IndexOf(sep, StringComparison.Ordinal); var s = pos > 0 ? previous.Substring(0, pos) : null; @@ -45,9 +45,7 @@ namespace Umbraco.Core.IO.MediaPathSchemes if (directory == null) throw new InvalidOperationException("Cannot use a null directory."); - return Current.Configs.Settings().Content.UploadAllowDirectories - ? Path.Combine(directory, filename).Replace('\\', '/') - : directory + "-" + filename; + return Path.Combine(directory, filename).Replace('\\', '/'); } /// diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentBlueprintRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentBlueprintRepository.cs index 7176e092c9..d137d7ac76 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentBlueprintRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentBlueprintRepository.cs @@ -17,12 +17,13 @@ namespace Umbraco.Core.Persistence.Repositories.Implement /// internal class DocumentBlueprintRepository : DocumentRepository, IDocumentBlueprintRepository { - public DocumentBlueprintRepository(IScopeAccessor scopeAccessor, AppCaches appCaches, ILogger logger, IContentTypeRepository contentTypeRepository, ITemplateRepository templateRepository, ITagRepository tagRepository, ILanguageRepository languageRepository, IContentSection settings) - : base(scopeAccessor, appCaches, logger, contentTypeRepository, templateRepository, tagRepository, languageRepository, settings) + public DocumentBlueprintRepository(IScopeAccessor scopeAccessor, AppCaches appCaches, ILogger logger, IContentTypeRepository contentTypeRepository, ITemplateRepository templateRepository, ITagRepository tagRepository, ILanguageRepository languageRepository) + : base(scopeAccessor, appCaches, logger, contentTypeRepository, templateRepository, tagRepository, languageRepository) { - EnsureUniqueNaming = false; // duplicates are allowed } + protected override bool EnsureUniqueNaming => false; // duplicates are allowed + protected override Guid NodeObjectTypeId => Constants.ObjectTypes.DocumentBlueprint; } } diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs index dcac7f4ff4..6af7031883 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs @@ -30,7 +30,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement private readonly ContentByGuidReadRepository _contentByGuidReadRepository; private readonly IScopeAccessor _scopeAccessor; - public DocumentRepository(IScopeAccessor scopeAccessor, AppCaches appCaches, ILogger logger, IContentTypeRepository contentTypeRepository, ITemplateRepository templateRepository, ITagRepository tagRepository, ILanguageRepository languageRepository, IContentSection settings) + public DocumentRepository(IScopeAccessor scopeAccessor, AppCaches appCaches, ILogger logger, IContentTypeRepository contentTypeRepository, ITemplateRepository templateRepository, ITagRepository tagRepository, ILanguageRepository languageRepository) : base(scopeAccessor, appCaches, languageRepository, logger) { _contentTypeRepository = contentTypeRepository ?? throw new ArgumentNullException(nameof(contentTypeRepository)); @@ -39,12 +39,14 @@ namespace Umbraco.Core.Persistence.Repositories.Implement _appCaches = appCaches; _scopeAccessor = scopeAccessor; _contentByGuidReadRepository = new ContentByGuidReadRepository(this, scopeAccessor, appCaches, logger); - EnsureUniqueNaming = settings.EnsureUniqueNaming; } protected override DocumentRepository This => this; - public bool EnsureUniqueNaming { get; set; } + /// + /// Default is to always ensure all documents have unique names + /// + protected virtual bool EnsureUniqueNaming { get; } = true; // note: is ok to 'new' the repo here as it's a sub-repo really private PermissionRepository PermissionRepository => _permissionRepository diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/MediaRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/MediaRepository.cs index 38558e1ca5..65043c4c67 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/MediaRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/MediaRepository.cs @@ -26,18 +26,16 @@ namespace Umbraco.Core.Persistence.Repositories.Implement private readonly ITagRepository _tagRepository; private readonly MediaByGuidReadRepository _mediaByGuidReadRepository; - public MediaRepository(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger, IMediaTypeRepository mediaTypeRepository, ITagRepository tagRepository, IContentSection contentSection, ILanguageRepository languageRepository) + public MediaRepository(IScopeAccessor scopeAccessor, AppCaches cache, ILogger logger, IMediaTypeRepository mediaTypeRepository, ITagRepository tagRepository, ILanguageRepository languageRepository) : base(scopeAccessor, cache, languageRepository, logger) { _mediaTypeRepository = mediaTypeRepository ?? throw new ArgumentNullException(nameof(mediaTypeRepository)); _tagRepository = tagRepository ?? throw new ArgumentNullException(nameof(tagRepository)); _mediaByGuidReadRepository = new MediaByGuidReadRepository(this, scopeAccessor, cache, logger); - EnsureUniqueNaming = contentSection.EnsureUniqueNaming; } protected override MediaRepository This => this; - public bool EnsureUniqueNaming { get; set; } #region Repository Base @@ -543,10 +541,6 @@ namespace Umbraco.Core.Persistence.Repositories.Implement media.ResetDirtyProperties(false); return media; } - - protected override string EnsureUniqueNodeName(int parentId, string nodeName, int id = 0) - { - return EnsureUniqueNaming == false ? nodeName : base.EnsureUniqueNodeName(parentId, nodeName, id); - } + } } diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/ScriptRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/ScriptRepository.cs index 85b41a2a1c..5806a17970 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/ScriptRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/ScriptRepository.cs @@ -102,7 +102,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement // validate path & extension var validDir = SystemDirectories.Scripts; var isValidPath = IOHelper.VerifyEditPath(fullPath, validDir); - var validExts = _contentConfig.ScriptFileTypes.ToList(); + var validExts = new[] {"js"}; var isValidExtension = IOHelper.VerifyFileExtension(script.Path, validExts); return isValidPath && isValidExtension; } diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index 366326cd8b..1f10085e14 100755 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -249,7 +249,6 @@ - diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs index d1b86c6c37..dceb6a2a8f 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs @@ -42,32 +42,12 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings Assert.IsFalse(SettingsSection.Content.Error404Collection.ElementAt(2).HasContentId); } - [Test] - public void ScriptFolderPath() - { - Assert.AreEqual(SettingsSection.Content.ScriptFolderPath, "/scripts"); - } - [Test] - public void ScriptFileTypes() - { - Assert.IsTrue(SettingsSection.Content.ScriptFileTypes.All(x => "js,xml".Split(',').Contains(x))); - } - [Test] - public void DisableScriptEditor() - { - Assert.AreEqual(SettingsSection.Content.ScriptEditorDisable, false); - } - [Test] public void ImageFileTypes() { Assert.IsTrue(SettingsSection.Content.ImageFileTypes.All(x => "jpeg,jpg,gif,bmp,png,tiff,tif".Split(',').Contains(x))); } - [Test] - public void AllowedAttributes() - { - Assert.IsTrue(SettingsSection.Content.ImageTagAllowedAttributes.All(x => "src,alt,border,class,style,align,id,name,onclick,usemap".Split(',').Contains(x))); - } + [Test] public virtual void ImageAutoFillProperties() { @@ -83,12 +63,7 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings Assert.AreEqual(SettingsSection.Content.ImageAutoFillProperties.ElementAt(1).LengthFieldAlias, "umbracoBytes2"); Assert.AreEqual(SettingsSection.Content.ImageAutoFillProperties.ElementAt(1).ExtensionFieldAlias, "umbracoExtension2"); } - - [Test] - public void UploadAllowDirectories() - { - Assert.IsTrue(SettingsSection.Content.UploadAllowDirectories); - } + [Test] public void DefaultDocumentTypeProperty() { @@ -104,11 +79,6 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings { Assert.IsTrue(SettingsSection.Content.CloneXmlContent); } - [Test] - public void EnsureUniqueNaming() - { - Assert.IsTrue(SettingsSection.Content.EnsureUniqueNaming); - } [Test] public void ForceSafeAliases() diff --git a/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs index 96809c7bf6..2d45c24d0f 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs @@ -37,7 +37,7 @@ namespace Umbraco.Tests.Persistence.Repositories var tagRepository = new TagRepository(scopeAccessor, cacheHelper, Logger); contentTypeRepository = new ContentTypeRepository(scopeAccessor, cacheHelper, Logger, templateRepository); var languageRepository = new LanguageRepository(scopeAccessor, cacheHelper, Logger); - var repository = new DocumentRepository(scopeAccessor, cacheHelper, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository, Mock.Of()); + var repository = new DocumentRepository(scopeAccessor, cacheHelper, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); return repository; } diff --git a/src/Umbraco.Tests/Persistence/Repositories/DocumentRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/DocumentRepositoryTest.cs index bb2d981b07..c2bfd77266 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/DocumentRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/DocumentRepositoryTest.cs @@ -68,7 +68,7 @@ namespace Umbraco.Tests.Persistence.Repositories var tagRepository = new TagRepository(scopeAccessor, appCaches, Logger); contentTypeRepository = new ContentTypeRepository(scopeAccessor, appCaches, Logger, templateRepository); var languageRepository = new LanguageRepository(scopeAccessor, appCaches, Logger); - var repository = new DocumentRepository(scopeAccessor, appCaches, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository, Mock.Of()); + var repository = new DocumentRepository(scopeAccessor, appCaches, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); return repository; } diff --git a/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs index 28df4b366a..d0da875332 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs @@ -24,7 +24,7 @@ namespace Umbraco.Tests.Persistence.Repositories var tagRepository = new TagRepository(accessor, Core.Cache.AppCaches.Disabled, Logger); contentTypeRepository = new ContentTypeRepository(accessor, Core.Cache.AppCaches.Disabled, Logger, templateRepository); languageRepository = new LanguageRepository(accessor, Core.Cache.AppCaches.Disabled, Logger); - documentRepository = new DocumentRepository(accessor, Core.Cache.AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository, Mock.Of()); + documentRepository = new DocumentRepository(accessor, Core.Cache.AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); var domainRepository = new DomainRepository(accessor, Core.Cache.AppCaches.Disabled, Logger); return domainRepository; } diff --git a/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs index eaf0425edf..cbd591950a 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs @@ -37,7 +37,7 @@ namespace Umbraco.Tests.Persistence.Repositories mediaTypeRepository = new MediaTypeRepository(scopeAccessor, appCaches, Logger); var tagRepository = new TagRepository(scopeAccessor, appCaches, Logger); - var repository = new MediaRepository(scopeAccessor, appCaches, Logger, mediaTypeRepository, tagRepository, Mock.Of(), Mock.Of()); + var repository = new MediaRepository(scopeAccessor, appCaches, Logger, mediaTypeRepository, tagRepository, Mock.Of()); return repository; } diff --git a/src/Umbraco.Tests/Persistence/Repositories/PublicAccessRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/PublicAccessRepositoryTest.cs index b140aa078e..684c8f9a22 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/PublicAccessRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/PublicAccessRepositoryTest.cs @@ -309,7 +309,7 @@ namespace Umbraco.Tests.Persistence.Repositories var tagRepository = new TagRepository(accessor, AppCaches, Logger); contentTypeRepository = new ContentTypeRepository(accessor, AppCaches, Logger, templateRepository); var languageRepository = new LanguageRepository(accessor, AppCaches, Logger); - var repository = new DocumentRepository(accessor, AppCaches, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository, Mock.Of()); + var repository = new DocumentRepository(accessor, AppCaches, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); return repository; } diff --git a/src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs index 6acd63b2b3..ddbf3bfc9d 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs @@ -957,7 +957,7 @@ namespace Umbraco.Tests.Persistence.Repositories var tagRepository = new TagRepository(accessor, AppCaches.Disabled, Logger); contentTypeRepository = new ContentTypeRepository(accessor, AppCaches.Disabled, Logger, templateRepository); var languageRepository = new LanguageRepository(accessor, AppCaches.Disabled, Logger); - var repository = new DocumentRepository(accessor, AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository, Mock.Of()); + var repository = new DocumentRepository(accessor, AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); return repository; } @@ -966,7 +966,7 @@ namespace Umbraco.Tests.Persistence.Repositories var accessor = (IScopeAccessor) provider; var tagRepository = new TagRepository(accessor, AppCaches.Disabled, Logger); mediaTypeRepository = new MediaTypeRepository(accessor, AppCaches.Disabled, Logger); - var repository = new MediaRepository(accessor, AppCaches.Disabled, Logger, mediaTypeRepository, tagRepository, Mock.Of(), Mock.Of()); + var repository = new MediaRepository(accessor, AppCaches.Disabled, Logger, mediaTypeRepository, tagRepository, Mock.Of()); return repository; } } diff --git a/src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs index a9fbfdf322..8f0150277d 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs @@ -240,7 +240,7 @@ namespace Umbraco.Tests.Persistence.Repositories var tagRepository = new TagRepository((IScopeAccessor) ScopeProvider, AppCaches.Disabled, Logger); var contentTypeRepository = new ContentTypeRepository((IScopeAccessor) ScopeProvider, AppCaches.Disabled, Logger, templateRepository); var languageRepository = new LanguageRepository((IScopeAccessor) ScopeProvider, AppCaches.Disabled, Logger); - var contentRepo = new DocumentRepository((IScopeAccessor) ScopeProvider, AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository, Mock.Of()); + var contentRepo = new DocumentRepository((IScopeAccessor) ScopeProvider, AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); var contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage2", "Textpage"); ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! diff --git a/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs index 779ec45a35..8f750f9238 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs @@ -28,7 +28,7 @@ namespace Umbraco.Tests.Persistence.Repositories var accessor = (IScopeAccessor) provider; mediaTypeRepository = new MediaTypeRepository(accessor, AppCaches, Mock.Of()); var tagRepository = new TagRepository(accessor, AppCaches, Mock.Of()); - var repository = new MediaRepository(accessor, AppCaches, Mock.Of(), mediaTypeRepository, tagRepository, Mock.Of(), Mock.Of()); + var repository = new MediaRepository(accessor, AppCaches, Mock.Of(), mediaTypeRepository, tagRepository, Mock.Of()); return repository; } @@ -45,7 +45,7 @@ namespace Umbraco.Tests.Persistence.Repositories var tagRepository = new TagRepository(accessor, AppCaches, Logger); contentTypeRepository = new ContentTypeRepository(accessor, AppCaches, Logger, templateRepository); var languageRepository = new LanguageRepository(accessor, AppCaches, Logger); - var repository = new DocumentRepository(accessor, AppCaches, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository, Mock.Of()); + var repository = new DocumentRepository(accessor, AppCaches, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); return repository; } diff --git a/src/Umbraco.Tests/Services/ContentServicePerformanceTest.cs b/src/Umbraco.Tests/Services/ContentServicePerformanceTest.cs index bf74f6fd59..cb7a984ff3 100644 --- a/src/Umbraco.Tests/Services/ContentServicePerformanceTest.cs +++ b/src/Umbraco.Tests/Services/ContentServicePerformanceTest.cs @@ -167,7 +167,7 @@ namespace Umbraco.Tests.Services var tagRepo = new TagRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, tRepository); var languageRepository = new LanguageRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); - var repository = new DocumentRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ctRepository, tRepository, tagRepo, languageRepository, Mock.Of()); + var repository = new DocumentRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ctRepository, tRepository, tagRepo, languageRepository); // Act Stopwatch watch = Stopwatch.StartNew(); @@ -200,7 +200,7 @@ namespace Umbraco.Tests.Services var tagRepo = new TagRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, tRepository); var languageRepository = new LanguageRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); - var repository = new DocumentRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ctRepository, tRepository, tagRepo, languageRepository, Mock.Of()); + var repository = new DocumentRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ctRepository, tRepository, tagRepo, languageRepository); // Act Stopwatch watch = Stopwatch.StartNew(); @@ -231,7 +231,7 @@ namespace Umbraco.Tests.Services var tagRepo = new TagRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, tRepository); var languageRepository = new LanguageRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); - var repository = new DocumentRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ctRepository, tRepository, tagRepo, languageRepository, Mock.Of()); + var repository = new DocumentRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ctRepository, tRepository, tagRepo, languageRepository); // Act var contents = repository.GetMany(); @@ -265,7 +265,7 @@ namespace Umbraco.Tests.Services var tagRepo = new TagRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); var ctRepository = new ContentTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, tRepository); var languageRepository = new LanguageRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); - var repository = new DocumentRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ctRepository, tRepository, tagRepo, languageRepository, Mock.Of()); + var repository = new DocumentRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ctRepository, tRepository, tagRepo, languageRepository); // Act var contents = repository.GetMany(); diff --git a/src/Umbraco.Tests/Services/ContentServiceTests.cs b/src/Umbraco.Tests/Services/ContentServiceTests.cs index f633c003ba..37d34557bb 100644 --- a/src/Umbraco.Tests/Services/ContentServiceTests.cs +++ b/src/Umbraco.Tests/Services/ContentServiceTests.cs @@ -3041,7 +3041,7 @@ namespace Umbraco.Tests.Services var tagRepository = new TagRepository(accessor, AppCaches.Disabled, Logger); contentTypeRepository = new ContentTypeRepository(accessor, AppCaches.Disabled, Logger, templateRepository); var languageRepository = new LanguageRepository(accessor, AppCaches.Disabled, Logger); - var repository = new DocumentRepository(accessor, AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository, Mock.Of()); + var repository = new DocumentRepository(accessor, AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository); return repository; } } diff --git a/src/Umbraco.Web.UI/config/umbracoSettings.Release.config b/src/Umbraco.Web.UI/config/umbracoSettings.Release.config index 3a1312898b..616eca9d6b 100644 --- a/src/Umbraco.Web.UI/config/umbracoSettings.Release.config +++ b/src/Umbraco.Web.UI/config/umbracoSettings.Release.config @@ -18,14 +18,14 @@ 1 diff --git a/src/Umbraco.Web.UI/config/umbracoSettings.config b/src/Umbraco.Web.UI/config/umbracoSettings.config index 026bfa17b5..07aee4481c 100644 --- a/src/Umbraco.Web.UI/config/umbracoSettings.config +++ b/src/Umbraco.Web.UI/config/umbracoSettings.config @@ -5,189 +5,174 @@ - - - - jpeg,jpg,gif,bmp,png,tiff,tif,svg - - src,alt,border,class,style,align,id,name,onclick,usemap - - - - umbracoWidth - umbracoHeight - umbracoBytes - umbracoExtension - - + + + + jpeg,jpg,gif,bmp,png,tiff,tif,svg + + + + umbracoWidth + umbracoHeight + umbracoBytes + umbracoExtension + + - - - - /scripts - - js,xml - - false - + - - True - - - + - - 1 - 1079 - 1080 - - - - - - your@email.here - + + 1 + 1079 + 1080 + + + + + + your@email.here + - - True + + + true - - - true + + True - - True + + True - - True + + False - - False + + text - - text - - - - + + In Preview Mode - click to end - ]]> + ]]> + - - - - false + + + + false - - throw + throw - - ashx,aspx,ascx,config,cshtml,vbhtml,asmx,air,axd,swf,xml,xhtml,html,htm,php,htaccess + + ashx,aspx,ascx,config,cshtml,vbhtml,asmx,air,axd,swf,xml,xhtml,html,htm,php,htaccess - - + + - - Textstring + + Textstring - false + false - - + - - assets/img/installer.jpg + + assets/img/installer.jpg - + - - - true + + + true - - false + + false - - true + + true - + - - - false - - true - - - - - - - - - - - - - plus - star - - - ae - oe - aa - ae - oe - ue - ss - ae - oe - - - - - - + + + false + + true + + - + + + + + + + + + + plus + star + + + ae + oe + aa + ae + oe + ue + ss + ae + oe + - + + + + - - - true - true - - - - - - - + + true + true + + + + + + + - - - - + + + + - - - - - UsersMembershipProvider - - + + + + + UsersMembershipProvider + + - - - + + diff --git a/src/Umbraco.Web/Routing/ContentFinderByLegacy404.cs b/src/Umbraco.Web/Routing/ContentFinderByConfigured404.cs similarity index 84% rename from src/Umbraco.Web/Routing/ContentFinderByLegacy404.cs rename to src/Umbraco.Web/Routing/ContentFinderByConfigured404.cs index 1f01270bc6..382ee6fe12 100644 --- a/src/Umbraco.Web/Routing/ContentFinderByLegacy404.cs +++ b/src/Umbraco.Web/Routing/ContentFinderByConfigured404.cs @@ -11,14 +11,14 @@ namespace Umbraco.Web.Routing /// /// Provides an implementation of that runs the legacy 404 logic. /// - public class ContentFinderByLegacy404 : IContentLastChanceFinder + public class ContentFinderByConfigured404 : IContentLastChanceFinder { private readonly ILogger _logger; private readonly IEntityService _entityService; private readonly IContentSection _contentConfigSection; - public ContentFinderByLegacy404(ILogger logger, IEntityService entityService, IContentSection contentConfigSection) + public ContentFinderByConfigured404(ILogger logger, IEntityService entityService, IContentSection contentConfigSection) { _logger = logger; _entityService = entityService; @@ -32,7 +32,7 @@ namespace Umbraco.Web.Routing /// A value indicating whether an Umbraco document was found and assigned. public bool TryFindContent(PublishedRequest frequest) { - _logger.Debug("Looking for a page to handle 404."); + _logger.Debug("Looking for a page to handle 404."); // try to find a culture as best as we can var errorCulture = CultureInfo.CurrentUICulture; @@ -70,17 +70,17 @@ namespace Umbraco.Web.Routing if (error404.HasValue) { - _logger.Debug("Got id={ErrorNodeId}.", error404.Value); + _logger.Debug("Got id={ErrorNodeId}.", error404.Value); content = frequest.UmbracoContext.ContentCache.GetById(error404.Value); - _logger.Debug(content == null + _logger.Debug(content == null ? "Could not find content with that id." : "Found corresponding content."); } else { - _logger.Debug("Got nothing."); + _logger.Debug("Got nothing."); } frequest.PublishedContent = content; diff --git a/src/Umbraco.Web/Runtime/WebRuntimeComposer.cs b/src/Umbraco.Web/Runtime/WebRuntimeComposer.cs index 3c593d383f..de3ca47b38 100644 --- a/src/Umbraco.Web/Runtime/WebRuntimeComposer.cs +++ b/src/Umbraco.Web/Runtime/WebRuntimeComposer.cs @@ -151,7 +151,7 @@ namespace Umbraco.Web.Runtime .Append() .Append(); - composition.RegisterUnique(); + composition.RegisterUnique(); composition.WithCollectionBuilder() // all built-in finders in the correct order, diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj index 8144056128..c235f8652a 100755 --- a/src/Umbraco.Web/Umbraco.Web.csproj +++ b/src/Umbraco.Web/Umbraco.Web.csproj @@ -1100,7 +1100,7 @@ - +