diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor index 25e0c6a4..fbb8c37e 100644 --- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor +++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor @@ -96,7 +96,7 @@ { } - @if (context.Price != null && !string.IsNullOrEmpty(context.PaymentUrl)) + @if (context.Price != null && !string.IsNullOrEmpty(context.PaymentUrl) && string.IsNullOrEmpty(context.PackageUrl)) { @SharedLocalizer["Buy"] } diff --git a/Oqtane.Client/Modules/Admin/Themes/Add.razor b/Oqtane.Client/Modules/Admin/Themes/Add.razor index c56f7f69..04bafe8f 100644 --- a/Oqtane.Client/Modules/Admin/Themes/Add.razor +++ b/Oqtane.Client/Modules/Admin/Themes/Add.razor @@ -98,7 +98,7 @@ { } - @if (context.Price != null && !string.IsNullOrEmpty(context.PaymentUrl)) + @if (context.Price != null && !string.IsNullOrEmpty(context.PaymentUrl) && string.IsNullOrEmpty(context.PackageUrl)) { @SharedLocalizer["Buy"] } diff --git a/Oqtane.Client/UI/ThemeBuilder.razor b/Oqtane.Client/UI/ThemeBuilder.razor index cae90f09..769add2e 100644 --- a/Oqtane.Client/UI/ThemeBuilder.razor +++ b/Oqtane.Client/UI/ThemeBuilder.razor @@ -67,16 +67,19 @@ if (!string.IsNullOrEmpty(content)) { // format head content, remove scripts, and filter duplicate elements - var elements = (">" + content.Replace("\n", "") + "<").Split("><"); - foreach (var element in elements) + content = content.Replace("\n", ""); + var index = content.IndexOf("<"); + while (index >= 0) { - if (!string.IsNullOrEmpty(element) && !element.ToLower().StartsWith("script")) + var element = content.Substring(index, content.IndexOf(">", index) - index + 1); + if (!string.IsNullOrEmpty(element) && !element.ToLower().StartsWith("")) + if (!headcontent.Contains(element)) { - headcontent += "<" + element + ">" + "\n"; + headcontent += element + "\n"; } } + index = content.IndexOf("<", index + 1); } } return headcontent;