mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-21 19:34:40 +08:00
Merge pull request #6172 from SzymonSel/dev
[Fixes #6168] Generating TechnicalName for ContenTypes, ContentFields …
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using Orchard.ContentManagement;
|
||||
using Orchard.ContentManagement.Drivers;
|
||||
using Orchard.ContentManagement.MetaData;
|
||||
@@ -357,19 +358,23 @@ namespace Orchard.ContentTypes.Services {
|
||||
}
|
||||
|
||||
private static string VersionName(string name) {
|
||||
int version;
|
||||
var nameParts = name.Split(new[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
var i = name.Length - 1;
|
||||
while (i >= 0 && char.IsDigit(name, i)) {
|
||||
i--;
|
||||
}
|
||||
|
||||
if (nameParts.Length > 1 && int.TryParse(nameParts.Last(), out version)) {
|
||||
var substring = i != name.Length - 1 ? name.Substring(i + 1) : string.Empty;
|
||||
int version;
|
||||
|
||||
if (int.TryParse(substring, out version)) {
|
||||
name = name.Remove(name.Length - substring.Length);
|
||||
version = version > 0 ? ++version : 2;
|
||||
//this could unintentionally chomp something that looks like a version
|
||||
name = string.Join("-", nameParts.Take(nameParts.Length - 1));
|
||||
}
|
||||
else {
|
||||
version = 2;
|
||||
}
|
||||
|
||||
return string.Format("{0}-{1}", name, version);
|
||||
return name + version;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user