diff --git a/src/Umbraco.Core/StringExtensions.cs b/src/Umbraco.Core/StringExtensions.cs
index 65b6316ff9..a463e36bff 100644
--- a/src/Umbraco.Core/StringExtensions.cs
+++ b/src/Umbraco.Core/StringExtensions.cs
@@ -956,10 +956,13 @@ namespace Umbraco.Core
/// Cleans a string to produce a string that can safely be used in an alias.
///
/// The text to filter.
+ /// A value indicating that we want to camel-case the alias.
/// The safe alias.
- public static string ToSafeCamelAlias(this string alias)
+ public static string ToSafeAlias(this string alias, bool camel)
{
- return ShortStringHelper.CleanStringForSafeCamelAlias(alias);
+ var a = ShortStringHelper.CleanStringForSafeAlias(alias);
+ if (string.IsNullOrWhiteSpace(a) || camel == false) return a;
+ return char.ToLowerInvariant(a[0]) + a.Substring(1);
}
///
diff --git a/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs b/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs
index 3194909329..547cf6090d 100644
--- a/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs
+++ b/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs
@@ -248,34 +248,6 @@ function validateSafeAlias(id, value, immediate, callback) {{
return CleanString(text, CleanStringType.Ascii | CleanStringType.UmbracoCase | CleanStringType.Alias);
}
- ///
- /// Cleans a string to produce a string that can safely be used in an alias.
- ///
- /// The text to filter.
- /// The safe alias.
- ///
- /// The string will be cleaned in the context of the default culture.
- /// Safe aliases are Ascii only.
- ///
- public virtual string CleanStringForSafeCamelAlias(string text)
- {
- return CleanString(text, CleanStringType.Ascii | CleanStringType.CamelCase | CleanStringType.Alias);
- }
-
- ///
- /// Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias.
- ///
- /// The text to filter.
- /// The culture.
- /// The safe alias.
- ///
- /// Safe aliases are Ascii only.
- ///
- public virtual string CleanStringForSafeCamelAlias(string text, CultureInfo culture)
- {
- return CleanString(text, CleanStringType.Ascii | CleanStringType.CamelCase | CleanStringType.Alias, culture);
- }
-
///
/// Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias.
///
diff --git a/src/Umbraco.Core/Strings/IShortStringHelper.cs b/src/Umbraco.Core/Strings/IShortStringHelper.cs
index b1bab9c870..d415bdba4d 100644
--- a/src/Umbraco.Core/Strings/IShortStringHelper.cs
+++ b/src/Umbraco.Core/Strings/IShortStringHelper.cs
@@ -31,19 +31,6 @@ namespace Umbraco.Core.Strings
///
string CleanStringForSafeAlias(string text);
-
- ///
- /// Cleans a string to produce a string that can safely be used in an alias.
- ///
- /// The text to filter.
- /// The safe alias.
- ///
- /// The string will be cleaned in the context of the IShortStringHelper default culture.
- /// A safe alias is [a-z][a-zA-Z0-9_]* although legacy will also accept '-', and '_' at the beginning.
- ///
- string CleanStringForSafeCamelAlias(string text);
-
-
///
/// Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias.
///
@@ -52,14 +39,6 @@ namespace Umbraco.Core.Strings
/// The safe alias.
string CleanStringForSafeAlias(string text, CultureInfo culture);
- ///
- /// Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias.
- ///
- /// The text to filter.
- /// The culture.
- /// The safe alias.
- string CleanStringForSafeCamelAlias(string text, CultureInfo culture);
-
///
/// Cleans a string to produce a string that can safely be used in an url segment.
///
diff --git a/src/Umbraco.Core/Strings/LegacyShortStringHelper.cs b/src/Umbraco.Core/Strings/LegacyShortStringHelper.cs
index 70f869be54..1c780703f4 100644
--- a/src/Umbraco.Core/Strings/LegacyShortStringHelper.cs
+++ b/src/Umbraco.Core/Strings/LegacyShortStringHelper.cs
@@ -138,18 +138,6 @@ function isValidAlias(alias) {{
return safeString.ToString();
}
- ///
- /// Cleans a string to produce a string that can safely be used in an alias.
- ///
- /// The text to filter.
- /// The safe alias.
- /// The string will be cleaned in the context of invariant culture.
- public string CleanStringForSafeCamelAlias(string text)
- {
- var t = CleanStringForSafeAlias(text);
- return Char.ToLowerInvariant(t[0]) + t.Substring(1);
- }
-
///
/// Cleans a string, in the context of the invariant culture, to produce a string that can safely be used in an alias.
///
@@ -162,18 +150,6 @@ function isValidAlias(alias) {{
return CleanStringForSafeAlias(text);
}
- ///
- /// Cleans a string, in the context of the invariant culture, to produce a string that can safely be used in an alias.
- ///
- /// The text to filter.
- /// The culture.
- /// The safe alias.
- /// Legacy does not support culture contexts.
- public string CleanStringForSafeCamelAlias(string text, CultureInfo culture)
- {
- return CleanStringForSafeCamelAlias(text);
- }
-
///
/// Cleans a string to produce a string that can safely be used in an url segment, in the context of the invariant culture.
///
diff --git a/src/Umbraco.Web/WebServices/CoreStringsController.cs b/src/Umbraco.Web/WebServices/CoreStringsController.cs
index 2e5012e58c..78eb449273 100644
--- a/src/Umbraco.Web/WebServices/CoreStringsController.cs
+++ b/src/Umbraco.Web/WebServices/CoreStringsController.cs
@@ -22,7 +22,7 @@ namespace Umbraco.Web.WebServices
{
return value == null
? Json(new {error = "no value."}, JsonRequestBehavior.AllowGet)
- : Json(new { alias = camelCase ? value.ToSafeCamelAlias() : value.ToSafeAlias() }, JsonRequestBehavior.AllowGet);
+ : Json(new { alias = value.ToSafeAlias(camelCase) }, JsonRequestBehavior.AllowGet);
}
[HttpGet]