diff --git a/src/Umbraco.Core/Configuration/CaseInsensitiveEnumConfigConverter.cs b/src/Umbraco.Core/Configuration/CaseInsensitiveEnumConfigConverter.cs index 64fbfb49a9..9406619e46 100644 --- a/src/Umbraco.Core/Configuration/CaseInsensitiveEnumConfigConverter.cs +++ b/src/Umbraco.Core/Configuration/CaseInsensitiveEnumConfigConverter.cs @@ -10,7 +10,7 @@ namespace Umbraco.Core.Configuration /// A case-insensitive configuration converter for enumerations. /// /// The type of the enumeration. - internal class CaseInsensitiveEnumConfigConverter : ConfigurationConverterBase + public class CaseInsensitiveEnumConfigConverter : ConfigurationConverterBase where T : struct { public override object ConvertFrom(ITypeDescriptorContext ctx, CultureInfo ci, object data) diff --git a/src/Umbraco.Core/Configuration/ConfigurationKeyAttribute.cs b/src/Umbraco.Core/Configuration/ConfigurationKeyAttribute.cs index 8f8bc50c3e..90eb0884e2 100644 --- a/src/Umbraco.Core/Configuration/ConfigurationKeyAttribute.cs +++ b/src/Umbraco.Core/Configuration/ConfigurationKeyAttribute.cs @@ -9,7 +9,7 @@ namespace Umbraco.Core.Configuration /// Indicates the configuration key for a section or a group. /// [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] - internal sealed class ConfigurationKeyAttribute : Attribute + public sealed class ConfigurationKeyAttribute : Attribute { /// /// Initializes a new instance of the class with a configuration key. diff --git a/src/Umbraco.Core/Configuration/UmbracoConfigurationSection.cs b/src/Umbraco.Core/Configuration/UmbracoConfigurationSection.cs index 3143658001..2c1c09df75 100644 --- a/src/Umbraco.Core/Configuration/UmbracoConfigurationSection.cs +++ b/src/Umbraco.Core/Configuration/UmbracoConfigurationSection.cs @@ -16,7 +16,7 @@ namespace Umbraco.Core.Configuration /// The UmbracoSettings.For{T} method will return a section, either one that /// is in the configuration file, or a section that was created with default values. /// - internal abstract class UmbracoConfigurationSection : ConfigurationSection + public abstract class UmbracoConfigurationSection : ConfigurationSection { /// /// Gets a value indicating whether the section actually is in the configuration file. diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings.cs b/src/Umbraco.Core/Configuration/UmbracoSettings.cs index 3249428311..bf9d8373d8 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings.cs @@ -25,7 +25,7 @@ namespace Umbraco.Core.Configuration /// /// The UmbracoSettings Class contains general settings information for the entire Umbraco instance based on information from the /config/umbracoSettings.config file /// - internal class UmbracoSettings + public class UmbracoSettings { private static bool GetKeyValue(string key, bool defaultValue) { @@ -133,7 +133,7 @@ namespace Umbraco.Core.Configuration /// /// The xpath query to the specific node. /// If found, it returns the specific configuration xml node. - public static XmlNode GetKeyAsNode(string key) + internal static XmlNode GetKeyAsNode(string key) { if (key == null) throw new ArgumentException("Key cannot be null"); @@ -148,7 +148,7 @@ namespace Umbraco.Core.Configuration /// /// The key. /// - public static string GetKey(string key) + internal static string GetKey(string key) { EnsureSettingsDocument(); @@ -185,7 +185,7 @@ namespace Umbraco.Core.Configuration /// /// true if new directories are allowed otherwise, false. /// - public static bool UploadAllowDirectories + internal static bool UploadAllowDirectories { get { return bool.Parse(GetKey("/settings/content/UploadAllowDirectories")); } } @@ -212,7 +212,7 @@ namespace Umbraco.Core.Configuration /// Gets a value indicating whether logging is enabled in umbracoSettings.config (/settings/logging/enableLogging). /// /// true if logging is enabled; otherwise, false. - public static bool EnableLogging + internal static bool EnableLogging { get { @@ -227,7 +227,7 @@ namespace Umbraco.Core.Configuration /// Gets a value indicating whether logging happens async. /// /// true if async logging is enabled; otherwise, false. - public static bool EnableAsyncLogging + internal static bool EnableAsyncLogging { get { @@ -242,7 +242,7 @@ namespace Umbraco.Core.Configuration /// /// Gets the assembly of an external logger that can be used to store log items in 3rd party systems /// - public static string ExternalLoggerAssembly + internal static string ExternalLoggerAssembly { get { @@ -254,7 +254,7 @@ namespace Umbraco.Core.Configuration /// /// Gets the type of an external logger that can be used to store log items in 3rd party systems /// - public static string ExternalLoggerType + internal static string ExternalLoggerType { get { @@ -266,7 +266,7 @@ namespace Umbraco.Core.Configuration /// /// Long Audit Trail to external log too /// - public static bool ExternalLoggerLogAuditTrail + internal static bool ExternalLoggerLogAuditTrail { get { @@ -285,7 +285,7 @@ namespace Umbraco.Core.Configuration /// /// Keep user alive as long as they have their browser open? Default is true /// - public static bool KeepUserLoggedIn + internal static bool KeepUserLoggedIn { get { @@ -300,7 +300,7 @@ namespace Umbraco.Core.Configuration /// /// Enables the experimental canvas (live) editing on the frontend of the website /// - public static bool EnableCanvasEditing + internal static bool EnableCanvasEditing { get { @@ -315,7 +315,7 @@ namespace Umbraco.Core.Configuration /// /// Show disabled users in the tree in the Users section in the backoffice /// - public static bool HideDisabledUsersInBackoffice + internal static bool HideDisabledUsersInBackoffice { get { @@ -331,7 +331,7 @@ namespace Umbraco.Core.Configuration /// Gets a value indicating whether the logs will be auto cleaned /// /// true if logs are to be automatically cleaned; otherwise, false - public static bool AutoCleanLogs + internal static bool AutoCleanLogs { get { @@ -346,7 +346,7 @@ namespace Umbraco.Core.Configuration /// /// Gets the value indicating the log cleaning frequency (in miliseconds) /// - public static int CleaningMiliseconds + internal static int CleaningMiliseconds { get { @@ -358,7 +358,7 @@ namespace Umbraco.Core.Configuration } } - public static int MaxLogAge + internal static int MaxLogAge { get { @@ -374,7 +374,7 @@ namespace Umbraco.Core.Configuration /// Gets the disabled log types. /// /// The disabled log types. - public static XmlNode DisabledLogTypes + internal static XmlNode DisabledLogTypes { get { return GetKeyAsNode("/settings/logging/disabledLogTypes"); } } @@ -383,7 +383,7 @@ namespace Umbraco.Core.Configuration /// Gets the package server url. /// /// The package server url. - public static string PackageServer + internal static string PackageServer { get { return "packages.umbraco.org"; } } @@ -394,15 +394,14 @@ namespace Umbraco.Core.Configuration /// Gets a value indicating whether umbraco will use domain prefixes. /// /// true if umbraco will use domain prefixes; otherwise, false. - // TODO rename as EnforceAbsoluteUrls - public static bool UseDomainPrefixes + internal static bool UseDomainPrefixes { get { // default: false return _useDomainPrefixes ?? GetKeyValue("/settings/requestHandler/useDomainPrefixes", false); } - internal set + /*internal*/ set { // for unit tests only _useDomainPrefixes = value; @@ -415,7 +414,7 @@ namespace Umbraco.Core.Configuration /// This will add a trailing slash (/) to urls when in directory url mode /// NOTICE: This will always return false if Directory Urls in not active /// - public static bool AddTrailingSlash + internal static bool AddTrailingSlash { get { @@ -423,7 +422,7 @@ namespace Umbraco.Core.Configuration return GlobalSettings.UseDirectoryUrls && (_addTrailingSlash ?? GetKeyValue("/settings/requestHandler/addTrailingSlash", false)); } - internal set + /*internal*/ set { // for unit tests only _addTrailingSlash = value; @@ -434,7 +433,7 @@ namespace Umbraco.Core.Configuration /// Gets a value indicating whether umbraco will use ASP.NET MasterPages for rendering instead of its propriatary templating system. /// /// true if umbraco will use ASP.NET MasterPages; otherwise, false. - public static bool UseAspNetMasterPages + internal static bool UseAspNetMasterPages { get { @@ -456,7 +455,7 @@ namespace Umbraco.Core.Configuration /// Gets a value indicating whether umbraco will attempt to load any skins to override default template files /// /// true if umbraco will override templates with skins if present and configured false. - public static bool EnableTemplateFolders + internal static bool EnableTemplateFolders { get { @@ -480,7 +479,7 @@ namespace Umbraco.Core.Configuration /// /// razor DynamicNode typecasting detects XML and returns DynamicXml - Root elements that won't convert to DynamicXml /// - public static IEnumerable NotDynamicXmlDocumentElements + internal static IEnumerable NotDynamicXmlDocumentElements { get { @@ -569,7 +568,7 @@ namespace Umbraco.Core.Configuration /// /// true if umbraco will clone XML cache on publish; otherwise, false. /// - public static bool CloneXmlCacheOnPublish + internal static bool CloneXmlCacheOnPublish { get { @@ -591,7 +590,7 @@ namespace Umbraco.Core.Configuration /// Gets a value indicating whether rich text editor content should be parsed by tidy. /// /// true if content is parsed; otherwise, false. - public static bool TidyEditorContent + internal static bool TidyEditorContent { get { return bool.Parse(GetKey("/settings/content/TidyEditorContent")); } } @@ -600,7 +599,7 @@ namespace Umbraco.Core.Configuration /// Gets the encoding type for the tidyied content. /// /// The encoding type as string. - public static string TidyCharEncoding + internal static string TidyCharEncoding { get { @@ -617,12 +616,12 @@ namespace Umbraco.Core.Configuration /// Gets the property context help option, this can either be 'text', 'icon' or 'none' /// /// The property context help option. - public static string PropertyContextHelpOption + internal static string PropertyContextHelpOption { get { return GetKey("/settings/content/PropertyContextHelpOption").ToLower(); } } - public static string DefaultBackofficeProvider + internal static string DefaultBackofficeProvider { get { @@ -639,14 +638,14 @@ namespace Umbraco.Core.Configuration /// /// Whether to force safe aliases (no spaces, no special characters) at businesslogic level on contenttypes and propertytypes /// - public static bool ForceSafeAliases + internal static bool ForceSafeAliases { get { // default: true return _forceSafeAliases ?? GetKeyValue("/settings/content/ForceSafeAliases", true); } - internal set + /*internal*/ set { // used for unit testing _forceSafeAliases = value; @@ -675,7 +674,7 @@ namespace Umbraco.Core.Configuration /// Gets the allowed image file types. /// /// The allowed image file types. - public static string ImageFileTypes + internal static string ImageFileTypes { get { return GetKey("/settings/content/imaging/imageFileTypes").ToLowerInvariant(); } } @@ -684,7 +683,7 @@ namespace Umbraco.Core.Configuration /// Gets the allowed script file types. /// /// The allowed script file types. - public static string ScriptFileTypes + internal static string ScriptFileTypes { get { return GetKey("/settings/content/scripteditor/scriptFileTypes"); } } @@ -695,14 +694,14 @@ namespace Umbraco.Core.Configuration /// Gets the duration in seconds to cache queries to umbraco library member and media methods /// Default is 1800 seconds (30 minutes) /// - public static int UmbracoLibraryCacheDuration + internal static int UmbracoLibraryCacheDuration { get { // default: 1800 return _umbracoLibraryCacheDuration ?? GetKeyValue("/settings/content/UmbracoLibraryCacheDuration", 1800); } - internal set + /*internal*/ set { // for unit tests only _umbracoLibraryCacheDuration = value; @@ -713,7 +712,7 @@ namespace Umbraco.Core.Configuration /// Gets the path to the scripts folder used by the script editor. /// /// The script folder path. - public static string ScriptFolderPath + internal static string ScriptFolderPath { get { return GetKey("/settings/content/scripteditor/scriptFolderPath"); } } @@ -721,7 +720,7 @@ namespace Umbraco.Core.Configuration /// /// Enabled or disable the script/code editor /// - public static bool ScriptDisableEditor + internal static bool ScriptDisableEditor { get { @@ -739,7 +738,7 @@ namespace Umbraco.Core.Configuration /// ex: existingnodename.aspx would become existingnodename(1).aspx if a node with the same name is found /// /// true if umbraco ensures unique node naming; otherwise, false. - public static bool EnsureUniqueNaming + internal static bool EnsureUniqueNaming { get { @@ -758,7 +757,7 @@ namespace Umbraco.Core.Configuration /// Gets the notification email sender. /// /// The notification email sender. - public static string NotificationEmailSender + internal static string NotificationEmailSender { get { return GetKey("/settings/content/notifications/email"); } } @@ -769,7 +768,7 @@ namespace Umbraco.Core.Configuration /// /// true if html notification-emails are disabled; otherwise, false. /// - public static bool NotificationDisableHtmlEmail + internal static bool NotificationDisableHtmlEmail { get { @@ -782,12 +781,12 @@ namespace Umbraco.Core.Configuration /// Gets the allowed attributes on images. /// /// The allowed attributes on images. - public static string ImageAllowedAttributes + internal static string ImageAllowedAttributes { get { return GetKey("/settings/content/imaging/allowedAttributes"); } } - public static XmlNode ImageAutoFillImageProperties + internal static XmlNode ImageAutoFillImageProperties { get { return GetKeyAsNode("/settings/content/imaging/autoFillImageProperties"); } } @@ -796,7 +795,7 @@ namespace Umbraco.Core.Configuration /// Gets the scheduled tasks as XML /// /// The scheduled tasks. - public static XmlNode ScheduledTasks + internal static XmlNode ScheduledTasks { get { return GetKeyAsNode("/settings/scheduledTasks"); } } @@ -805,7 +804,7 @@ namespace Umbraco.Core.Configuration /// Gets a list of characters that will be replaced when generating urls /// /// The URL replacement characters. - public static XmlNode UrlReplaceCharacters + internal static XmlNode UrlReplaceCharacters { get { return GetKeyAsNode("/settings/requestHandler/urlReplacing"); } } @@ -813,7 +812,7 @@ namespace Umbraco.Core.Configuration /// /// Whether to replace double dashes from url (ie my--story----from--dash.aspx caused by multiple url replacement chars /// - public static bool RemoveDoubleDashesFromUrlReplacing + internal static bool RemoveDoubleDashesFromUrlReplacing { get { @@ -834,7 +833,7 @@ namespace Umbraco.Core.Configuration /// Used for load-balancing high-traffic sites. /// /// true if umbraco uses distributed calls; otherwise, false. - public static bool UseDistributedCalls + internal static bool UseDistributedCalls { get { @@ -854,7 +853,7 @@ namespace Umbraco.Core.Configuration /// Gets the ID of the user with access rights to perform the distributed calls. /// /// The distributed call user. - public static int DistributedCallUser + internal static int DistributedCallUser { get { @@ -872,7 +871,7 @@ namespace Umbraco.Core.Configuration /// /// Gets the html injected into a (x)html page if Umbraco is running in preview mode /// - public static string PreviewBadge + internal static string PreviewBadge { get { @@ -893,7 +892,7 @@ namespace Umbraco.Core.Configuration /// and update their content cache accordingly, ensuring a consistent cache on all servers /// /// The distribution servers. - public static XmlNode DistributionServers + internal static XmlNode DistributionServers { get { @@ -913,7 +912,7 @@ namespace Umbraco.Core.Configuration /// A help page configuration specify language, user type, application, application url and /// the target help page url. /// - public static XmlNode HelpPages + internal static XmlNode HelpPages { get { @@ -935,7 +934,7 @@ namespace Umbraco.Core.Configuration /// All packages installed from a repository gets the repository alias included in the install information /// /// The repository servers. - public static XmlNode Repositories + internal static XmlNode Repositories { get { @@ -958,7 +957,7 @@ namespace Umbraco.Core.Configuration /// /// true if umbraco will use the viewstate mover module; otherwise, false. /// - public static bool UseViewstateMoverModule + internal static bool UseViewstateMoverModule { get { @@ -980,7 +979,7 @@ namespace Umbraco.Core.Configuration /// Tells us whether the Xml Content cache is disabled or not /// Default is enabled /// - public static bool IsXmlContentCacheDisabled + internal static bool IsXmlContentCacheDisabled { get { @@ -1005,7 +1004,7 @@ namespace Umbraco.Core.Configuration /// Makes it possible to updates environments by syncing the umbraco.config file across instances /// Relates to http://umbraco.codeplex.com/workitem/30722 /// - public static bool XmlContentCheckForDiskChanges + internal static bool XmlContentCheckForDiskChanges { get { @@ -1030,7 +1029,7 @@ namespace Umbraco.Core.Configuration /// If disabled, only documents will generate data. /// This feature is useful if anyone would like to see how data looked at a given time /// - public static bool EnableGlobalPreviewStorage + internal static bool EnableGlobalPreviewStorage { get { @@ -1058,14 +1057,14 @@ namespace Umbraco.Core.Configuration /// /// true if yes, use the old node/data model; otherwise, false. /// - public static bool UseLegacyXmlSchema + internal static bool UseLegacyXmlSchema { get { // default: true return _useLegacySchema ?? GetKeyValue("/settings/content/UseLegacyXmlSchema", false); } - internal set + /*internal*/ set { // used for unit testing _useLegacySchema = value; @@ -1073,7 +1072,7 @@ namespace Umbraco.Core.Configuration } [Obsolete("This setting is not used anymore, the only file extensions that are supported are .cs and .vb files")] - public static IEnumerable AppCodeFileExtensionsList + internal static IEnumerable AppCodeFileExtensionsList { get { @@ -1084,7 +1083,7 @@ namespace Umbraco.Core.Configuration } [Obsolete("This setting is not used anymore, the only file extensions that are supported are .cs and .vb files")] - public static XmlNode AppCodeFileExtensions + internal static XmlNode AppCodeFileExtensions { get { @@ -1106,7 +1105,7 @@ namespace Umbraco.Core.Configuration /// Tells us whether the Xml to always update disk cache, when changes are made to content /// Default is enabled /// - public static bool ContinouslyUpdateXmlDiskCache + internal static bool ContinouslyUpdateXmlDiskCache { get { @@ -1132,7 +1131,7 @@ namespace Umbraco.Core.Configuration /// have a splash page /// Default is disabled /// - public static bool EnableSplashWhileLoading + internal static bool EnableSplashWhileLoading { get { @@ -1153,7 +1152,7 @@ namespace Umbraco.Core.Configuration } private static bool? _resolveUrlsFromTextString; - public static bool ResolveUrlsFromTextString + internal static bool ResolveUrlsFromTextString { get { @@ -1190,7 +1189,7 @@ namespace Umbraco.Core.Configuration /// is used instead of the masterpages editor /// /// true if umbraco defaults to using MVC views for templating, otherwise false. - public static RenderingEngine DefaultRenderingEngine + internal static RenderingEngine DefaultRenderingEngine { get { @@ -1231,7 +1230,7 @@ namespace Umbraco.Core.Configuration /// - Throw - Throw an exception and invoke the global error handler (if one is defined, if not you'll get a YSOD) /// /// MacroErrorBehaviour enum defining how to handle macro errors. - public static MacroErrorBehaviour MacroErrorBehaviour + internal static MacroErrorBehaviour MacroErrorBehaviour { get { @@ -1467,7 +1466,7 @@ namespace Umbraco.Core.Configuration /// /// The type of the UmbracoConfigurationSectiont. /// The UmbracoConfigurationSection of the specified type. - internal static T For() + public static T For() where T : UmbracoConfigurationSection, new() { var sectionType = typeof (T);