From 014bebd38f2bcae2b5da607a91bd6d8e4600d019 Mon Sep 17 00:00:00 2001 From: Morten Christensen Date: Mon, 14 Jan 2013 13:27:40 -0100 Subject: [PATCH] Fixes U4-1465 by ensuring that a ContentType alias does not contain invalid characters nor spaces. --- src/Umbraco.Core/Models/ContentTypeBase.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Core/Models/ContentTypeBase.cs b/src/Umbraco.Core/Models/ContentTypeBase.cs index b2a70d8d6a..f0dad5f280 100644 --- a/src/Umbraco.Core/Models/ContentTypeBase.cs +++ b/src/Umbraco.Core/Models/ContentTypeBase.cs @@ -4,6 +4,7 @@ using System.Collections.Specialized; using System.Linq; using System.Reflection; using System.Runtime.Serialization; +using System.Text.RegularExpressions; using Umbraco.Core.Models.EntityBase; namespace Umbraco.Core.Models @@ -153,7 +154,12 @@ namespace Umbraco.Core.Models get { return _alias; } set { - _alias = value; + //Ensures a valid ContentType alias + //Would have liked to use .ToUmbracoAlias() but that would break casing upon saving older/upgraded ContentTypes + var result = Regex.Replace(value, @"[^a-zA-Z0-9\s\.-]+", "", RegexOptions.Compiled); + result = result.Replace(" ", ""); + + _alias = result; OnPropertyChanged(AliasSelector); } }