@namespace Oqtane.Modules.Admin.GlobalReplace @using System.Text.Json @inherits ModuleBase @inject ISettingService SettingService @inject IStringLocalizer Localizer @inject IStringLocalizer SharedLocalizer




@code { public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin; public override string Title => "Global Replace"; private string _find; private string _replace; private string _caseSensitive = "True"; private string _site = "True"; private string _pages = "True"; private string _modules = "True"; private string _content = "True"; private async Task Save() { try { if (!string.IsNullOrEmpty(_find) && !string.IsNullOrEmpty(_replace)) { var replace = new GlobalReplace { Find = _find, Replace = _replace, CaseSensitive = bool.Parse(_caseSensitive), Site = bool.Parse(_site), Pages = bool.Parse(_pages), Modules = bool.Parse(_modules), Content = bool.Parse(_content) }; var settings = await SettingService.GetSiteSettingsAsync(PageState.Site.SiteId); settings = SettingService.SetSetting(settings, "GlobalReplace_" + DateTime.UtcNow.ToString("yyyyMMddHHmmss"), JsonSerializer.Serialize(replace)); await SettingService.UpdateSiteSettingsAsync(settings, PageState.Site.SiteId); AddModuleMessage(Localizer["Success.Save"], MessageType.Success); } else { AddModuleMessage(SharedLocalizer["Message.InfoRequired"], MessageType.Warning); } } catch (Exception ex) { await logger.LogError(ex, "Error Saving Global Replace Settings {Error}", ex.Message); AddModuleMessage(Localizer["Error.Save"], MessageType.Error); } } }