Fix #5054: parse string to number with invariant culture.
This commit is contained in:
parent
189f8f1d27
commit
1aabb93f77
|
@ -73,7 +73,7 @@
|
|||
|
||||
if (PageState.QueryString.ContainsKey("id"))
|
||||
{
|
||||
_folderId = int.Parse(PageState.QueryString["id"]);
|
||||
_folderId = SharedConverter.ParseInteger(PageState.QueryString["id"]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -212,7 +212,7 @@
|
|||
folder.SiteId = PageState.Site.SiteId;
|
||||
folder.Name = _name;
|
||||
folder.Type = _type;
|
||||
folder.Capacity = int.Parse(_capacity);
|
||||
folder.Capacity = SharedConverter.ParseInteger(_capacity);
|
||||
folder.CacheControl = _cachecontrol;
|
||||
folder.ImageSizes = _imagesizes;
|
||||
folder.IsSystem = _isSystem;
|
||||
|
|
|
@ -119,7 +119,7 @@ else
|
|||
_imageFiles = (string.IsNullOrEmpty(_imageFiles)) ? Constants.ImageFiles : _imageFiles;
|
||||
_uploadableFiles = SettingService.GetSetting(settings, "UploadableFiles", Constants.UploadableFiles);
|
||||
_uploadableFiles = (string.IsNullOrEmpty(_uploadableFiles)) ? Constants.UploadableFiles : _uploadableFiles;
|
||||
_maxChunkSize = int.Parse(SettingService.GetSetting(settings, "MaxChunkSize", "1"));
|
||||
_maxChunkSize = SharedConverter.ParseInteger(SettingService.GetSetting(settings, "MaxChunkSize", "1"));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -137,7 +137,7 @@ else
|
|||
{
|
||||
try
|
||||
{
|
||||
_folderId = int.Parse((string)e.Value);
|
||||
_folderId = SharedConverter.ParseInteger((string)e.Value);
|
||||
await GetFiles();
|
||||
StateHasChanged();
|
||||
}
|
||||
|
|
|
@ -174,11 +174,11 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
job.Interval = int.Parse(_interval);
|
||||
job.Interval = SharedConverter.ParseInteger(_interval);
|
||||
}
|
||||
job.StartDate = Utilities.LocalDateAndTimeAsUtc(_startDate, _startTime);
|
||||
job.EndDate = Utilities.LocalDateAndTimeAsUtc(_endDate, _endTime);
|
||||
job.RetentionHistory = int.Parse(_retentionHistory);
|
||||
job.RetentionHistory = SharedConverter.ParseInteger(_retentionHistory);
|
||||
job.NextExecution = Utilities.LocalDateAndTimeAsUtc(_nextDate, _nextTime);
|
||||
|
||||
try
|
||||
|
|
|
@ -127,7 +127,7 @@ else
|
|||
await GetLogs();
|
||||
|
||||
var settings = await SettingService.GetSiteSettingsAsync(PageState.Site.SiteId);
|
||||
_retention = int.Parse( SettingService.GetSetting(settings, "LogRetention", "30"));
|
||||
_retention = SharedConverter.ParseInteger( SettingService.GetSetting(settings, "LogRetention", "30"));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -184,7 +184,7 @@ else
|
|||
|
||||
private async Task GetLogs()
|
||||
{
|
||||
_logs = await LogService.GetLogsAsync(PageState.Site.SiteId, ((_level == "-") ? string.Empty : _level), ((_function == "-") ? string.Empty : _function), int.Parse(_rows));
|
||||
_logs = await LogService.GetLogsAsync(PageState.Site.SiteId, ((_level == "-") ? string.Empty : _level), ((_function == "-") ? string.Empty : _function), SharedConverter.ParseInteger(_rows));
|
||||
}
|
||||
|
||||
private string GetClass(string function)
|
||||
|
|
|
@ -256,7 +256,7 @@
|
|||
return;
|
||||
}
|
||||
var pagemodule = await PageModuleService.GetPageModuleAsync(ModuleState.PageModuleId);
|
||||
pagemodule.PageId = int.Parse(_pageId);
|
||||
pagemodule.PageId = SharedConverter.ParseInteger(_pageId);
|
||||
pagemodule.Title = _title;
|
||||
pagemodule.Pane = _pane;
|
||||
pagemodule.EffectiveDate = Utilities.LocalDateAndTimeAsUtc(_effectivedate);
|
||||
|
|
|
@ -273,7 +273,7 @@
|
|||
_containers = ThemeService.GetContainerControls(PageState.Site.Themes, _themetype);
|
||||
_containertype = PageState.Site.DefaultContainerType;
|
||||
_children = new List<Page>();
|
||||
foreach (Page p in _pages.Where(item => (_parentid == "-1" && item.ParentId == null) || (item.ParentId == int.Parse(_parentid))))
|
||||
foreach (Page p in _pages.Where(item => (_parentid == "-1" && item.ParentId == null) || (item.ParentId == SharedConverter.ParseInteger(_parentid))))
|
||||
{
|
||||
if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.PermissionList))
|
||||
{
|
||||
|
@ -303,7 +303,7 @@
|
|||
{
|
||||
_parentid = (string)e.Value;
|
||||
_children = new List<Page>();
|
||||
foreach (Page p in _pages.Where(item => (_parentid == "-1" && item.ParentId == null) || (item.ParentId == int.Parse(_parentid))))
|
||||
foreach (Page p in _pages.Where(item => (_parentid == "-1" && item.ParentId == null) || (item.ParentId == SharedConverter.ParseInteger(_parentid))))
|
||||
{
|
||||
if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.PermissionList))
|
||||
{
|
||||
|
|
|
@ -386,7 +386,7 @@
|
|||
_parent = _pages.FirstOrDefault(item => item.PageId == _page.ParentId);
|
||||
}
|
||||
_children = new List<Page>();
|
||||
foreach (Page p in _pages.Where(item => (_parentid == "-1" && item.ParentId == null) || (item.ParentId == int.Parse(_parentid, CultureInfo.InvariantCulture))))
|
||||
foreach (Page p in _pages.Where(item => (_parentid == "-1" && item.ParentId == null) || (item.ParentId == SharedConverter.ParseInteger(_parentid, CultureInfo.InvariantCulture))))
|
||||
{
|
||||
if (p.PageId != _pageId && UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.PermissionList))
|
||||
{
|
||||
|
@ -471,7 +471,7 @@
|
|||
{
|
||||
_parentid = (string)e.Value;
|
||||
_children = new List<Page>();
|
||||
foreach (Page p in _pages.Where(item => (_parentid == "-1" && item.ParentId == null) || (item.ParentId == int.Parse(_parentid))))
|
||||
foreach (Page p in _pages.Where(item => (_parentid == "-1" && item.ParentId == null) || (item.ParentId == SharedConverter.ParseInteger(_parentid))))
|
||||
{
|
||||
if (p.PageId != _pageId && UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.PermissionList))
|
||||
{
|
||||
|
@ -661,7 +661,7 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
await PageService.UpdatePageOrderAsync(_page.SiteId, _page.PageId, int.Parse(_currentparentid));
|
||||
await PageService.UpdatePageOrderAsync(_page.SiteId, _page.PageId, SharedConverter.ParseInteger(_currentparentid));
|
||||
}
|
||||
|
||||
if (_themeSettingsType != null && _themeSettings is ISettingsControl themeSettingsControl)
|
||||
|
|
|
@ -189,9 +189,9 @@
|
|||
profile.Title = _title;
|
||||
profile.Description = _description;
|
||||
profile.Category = _category;
|
||||
profile.ViewOrder = int.Parse(_vieworder);
|
||||
profile.MaxLength = int.Parse(_maxlength);
|
||||
profile.Rows = int.Parse(_rows);
|
||||
profile.ViewOrder = SharedConverter.ParseInteger(_vieworder);
|
||||
profile.MaxLength = SharedConverter.ParseInteger(_maxlength);
|
||||
profile.Rows = SharedConverter.ParseInteger(_rows);
|
||||
profile.DefaultValue = _defaultvalue;
|
||||
profile.Options = _options;
|
||||
profile.Validation = _validation;
|
||||
|
|
|
@ -122,11 +122,11 @@
|
|||
ExcludeEntities = _excludeEntities,
|
||||
FromDate = (!string.IsNullOrEmpty(_fromDate)) ? DateTime.Parse(_fromDate) : DateTime.MinValue,
|
||||
ToDate = (!string.IsNullOrEmpty(_toDate)) ? DateTime.Parse(_toDate) : DateTime.MaxValue,
|
||||
PageSize = (!string.IsNullOrEmpty(_pageSize)) ? int.Parse(_pageSize) : int.MaxValue,
|
||||
PageSize = (!string.IsNullOrEmpty(_pageSize)) ? SharedConverter.ParseInteger(_pageSize) : int.MaxValue,
|
||||
PageIndex = 0,
|
||||
SortField = (!string.IsNullOrEmpty(_sortField)) ? (SearchSortField)Enum.Parse(typeof(SearchSortField), _sortField) : SearchSortField.Relevance,
|
||||
SortOrder = (!string.IsNullOrEmpty(_sortOrder)) ? (SearchSortOrder)Enum.Parse(typeof(SearchSortOrder), _sortOrder) : SearchSortOrder.Descending,
|
||||
BodyLength = (!string.IsNullOrEmpty(_bodyLength)) ? int.Parse(_bodyLength) : 255
|
||||
BodyLength = (!string.IsNullOrEmpty(_bodyLength)) ? SharedConverter.ParseInteger(_bodyLength) : 255
|
||||
};
|
||||
|
||||
_searchResults = await SearchResultsService.GetSearchResultsAsync(searchQuery);
|
||||
|
|
|
@ -530,7 +530,7 @@
|
|||
_smtpsender = SettingService.GetSetting(settings, "SMTPSender", string.Empty);
|
||||
_smtprelay = SettingService.GetSetting(settings, "SMTPRelay", "False");
|
||||
_smtpenabled = SettingService.GetSetting(settings, "SMTPEnabled", "True");
|
||||
_retention = int.Parse(SettingService.GetSetting(settings, "NotificationRetention", "30"));
|
||||
_retention = SharedConverter.ParseInteger(SettingService.GetSetting(settings, "NotificationRetention", "30"));
|
||||
|
||||
// PWA
|
||||
_pwaisenabled = site.PwaIsEnabled.ToString();
|
||||
|
@ -632,7 +632,7 @@
|
|||
if (site != null)
|
||||
{
|
||||
site.Name = _name;
|
||||
site.HomePageId = (_homepageid != "-" ? int.Parse(_homepageid) : null);
|
||||
site.HomePageId = (_homepageid != "-" ? SharedConverter.ParseInteger(_homepageid) : null);
|
||||
site.IsDeleted = (_isdeleted == null ? true : Boolean.Parse(_isdeleted));
|
||||
|
||||
// appearance
|
||||
|
|
|
@ -383,7 +383,7 @@ else
|
|||
}
|
||||
else
|
||||
{
|
||||
var tenant = _tenants.FirstOrDefault(item => item.TenantId == int.Parse(_tenantid));
|
||||
var tenant = _tenants.FirstOrDefault(item => item.TenantId == SharedConverter.ParseInteger(_tenantid));
|
||||
if (tenant != null)
|
||||
{
|
||||
config.TenantName = tenant.Name;
|
||||
|
|
|
@ -90,7 +90,7 @@ else
|
|||
_capturebrokenurls = PageState.Site.CaptureBrokenUrls.ToString();
|
||||
|
||||
var settings = await SettingService.GetSiteSettingsAsync(PageState.Site.SiteId);
|
||||
_retention = int.Parse(SettingService.GetSetting(settings, "UrlMappingRetention", "30"));
|
||||
_retention = SharedConverter.ParseInteger(SettingService.GetSetting(settings, "UrlMappingRetention", "30"));
|
||||
}
|
||||
|
||||
private async void MappedChanged(ChangeEventArgs e)
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
{
|
||||
if (!string.IsNullOrEmpty(username.Key) && !string.IsNullOrEmpty(subject))
|
||||
{
|
||||
var user = await UserService.GetUserAsync(int.Parse(username.Key), ModuleState.SiteId);
|
||||
var user = await UserService.GetUserAsync(SharedConverter.ParseInteger(username.Key), ModuleState.SiteId);
|
||||
if (user != null)
|
||||
{
|
||||
var notification = new Notification(PageState.Site.SiteId, PageState.User, user, subject, body);
|
||||
|
|
|
@ -135,9 +135,9 @@ else
|
|||
|
||||
_tracking = PageState.Site.VisitorTracking.ToString();
|
||||
var settings = await SettingService.GetSiteSettingsAsync(PageState.Site.SiteId);
|
||||
_duration = int.Parse(SettingService.GetSetting(settings, "VisitorDuration", "5"));
|
||||
_duration = SharedConverter.ParseInteger(SettingService.GetSetting(settings, "VisitorDuration", "5"));
|
||||
_filter = SettingService.GetSetting(settings, "VisitorFilter", Constants.DefaultVisitorFilter);
|
||||
_retention = int.Parse(SettingService.GetSetting(settings, "VisitorRetention", "30"));
|
||||
_retention = SharedConverter.ParseInteger(SettingService.GetSetting(settings, "VisitorRetention", "30"));
|
||||
_correlation = SettingService.GetSetting(settings, "VisitorCorrelation", "true");
|
||||
}
|
||||
|
||||
|
@ -159,7 +159,7 @@ else
|
|||
{
|
||||
try
|
||||
{
|
||||
_days = int.Parse(e.Value.ToString());
|
||||
_days = SharedConverter.ParseInteger(e.Value.ToString());
|
||||
await GetVisitors();
|
||||
StateHasChanged();
|
||||
}
|
||||
|
|
|
@ -295,7 +295,7 @@
|
|||
_message = string.Empty;
|
||||
try
|
||||
{
|
||||
FolderId = int.Parse((string)e.Value);
|
||||
FolderId = SharedConverter.ParseInteger((string)e.Value);
|
||||
await GetFiles();
|
||||
FileId = -1;
|
||||
_file = null;
|
||||
|
@ -313,7 +313,7 @@
|
|||
private async Task FileChanged(ChangeEventArgs e)
|
||||
{
|
||||
_message = string.Empty;
|
||||
FileId = int.Parse((string)e.Value);
|
||||
FileId = SharedConverter.ParseInteger((string)e.Value);
|
||||
await SetImage();
|
||||
await OnSelect.InvokeAsync(FileId);
|
||||
StateHasChanged();
|
||||
|
@ -386,7 +386,7 @@
|
|||
if (chunksize == 1)
|
||||
{
|
||||
// if ChunkSize parameter is not overridden use the site setting
|
||||
chunksize = int.Parse(SettingService.GetSetting(PageState.Site.Settings, "MaxChunkSize", "1"));
|
||||
chunksize = SharedConverter.ParseInteger(SettingService.GetSetting(PageState.Site.Settings, "MaxChunkSize", "1"));
|
||||
}
|
||||
|
||||
if (!ShowProgress)
|
||||
|
@ -433,7 +433,7 @@
|
|||
else
|
||||
{
|
||||
// set FileId to first file in upload collection
|
||||
var file = await FileService.GetFileAsync(int.Parse(folder), uploads[0].Split(":")[0]);
|
||||
var file = await FileService.GetFileAsync(SharedConverter.ParseInteger(folder), uploads[0].Split(":")[0]);
|
||||
if (file != null)
|
||||
{
|
||||
FileId = file.FileId;
|
||||
|
|
|
@ -445,17 +445,17 @@
|
|||
|
||||
if (!string.IsNullOrEmpty(PageSize))
|
||||
{
|
||||
_maxItems = int.Parse(PageSize);
|
||||
_maxItems = SharedConverter.ParseInteger(PageSize);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(Columns))
|
||||
{
|
||||
_columns = int.Parse(Columns);
|
||||
_columns = SharedConverter.ParseInteger(Columns);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(DisplayPages))
|
||||
{
|
||||
_displayPages = int.Parse(DisplayPages);
|
||||
_displayPages = SharedConverter.ParseInteger(DisplayPages);
|
||||
}
|
||||
|
||||
if (PageState.QueryString.ContainsKey("page") && int.TryParse(PageState.QueryString["page"], out int page))
|
||||
|
@ -466,7 +466,7 @@
|
|||
{
|
||||
if (!string.IsNullOrEmpty(CurrentPage))
|
||||
{
|
||||
_page = int.Parse(CurrentPage);
|
||||
_page = SharedConverter.ParseInteger(CurrentPage);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -278,7 +278,7 @@
|
|||
{
|
||||
if (!string.IsNullOrEmpty(_user.Key))
|
||||
{
|
||||
var user = await UserService.GetUserAsync(int.Parse(_user.Key), ModuleState.SiteId);
|
||||
var user = await UserService.GetUserAsync(SharedConverter.ParseInteger(_user.Key), ModuleState.SiteId);
|
||||
if (user != null && !_users.Any(item => item.UserId == user.UserId))
|
||||
{
|
||||
_users.Add(user);
|
||||
|
|
|
@ -330,7 +330,7 @@
|
|||
if (_pageId != "-")
|
||||
{
|
||||
_modules = await ModuleService.GetModulesAsync(PageState.Page.SiteId);
|
||||
_modules = _modules.Where(module => module.PageId == int.Parse(_pageId) && module.IsDeleted == false &&
|
||||
_modules = _modules.Where(module => module.PageId == SharedConverter.ParseInteger(_pageId) && module.IsDeleted == false &&
|
||||
UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.PermissionList) &&
|
||||
(_moduleType == "add" || module.ModuleDefinition.IsPortable))
|
||||
.ToList();
|
||||
|
@ -345,7 +345,7 @@
|
|||
{
|
||||
if ((_moduleType == "new" && _moduleDefinitionName != "-") || (_moduleType != "new" && _moduleId != "-"))
|
||||
{
|
||||
var newModuleId = _moduleId != "-" ? int.Parse(_moduleId) : 0;
|
||||
var newModuleId = _moduleId != "-" ? SharedConverter.ParseInteger(_moduleId) : 0;
|
||||
if (_moduleType == "new")
|
||||
{
|
||||
Module module = new Module();
|
||||
|
@ -360,7 +360,7 @@
|
|||
}
|
||||
else if (_moduleType == "copy")
|
||||
{
|
||||
var module = await ModuleService.GetModuleAsync(int.Parse(_moduleId));
|
||||
var module = await ModuleService.GetModuleAsync(SharedConverter.ParseInteger(_moduleId));
|
||||
module.ModuleId = 0;
|
||||
module.SiteId = PageState.Page.SiteId;
|
||||
module.PageId = PageState.Page.PageId;
|
||||
|
@ -368,7 +368,7 @@
|
|||
module.PermissionList = GenerateDefaultPermissions(module.SiteId);
|
||||
|
||||
module = await ModuleService.AddModuleAsync(module);
|
||||
var moduleContent = await ModuleService.ExportModuleAsync(int.Parse(_moduleId), PageState.Page.PageId);
|
||||
var moduleContent = await ModuleService.ExportModuleAsync(SharedConverter.ParseInteger(_moduleId), PageState.Page.PageId);
|
||||
if (!string.IsNullOrEmpty(moduleContent))
|
||||
{
|
||||
await ModuleService.ImportModuleAsync(module.ModuleId, PageState.Page.PageId, moduleContent);
|
||||
|
@ -391,7 +391,7 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
pageModule.Title = _modules.FirstOrDefault(item => item.ModuleId == int.Parse(_moduleId))?.Title;
|
||||
pageModule.Title = _modules.FirstOrDefault(item => item.ModuleId == SharedConverter.ParseInteger(_moduleId))?.Title;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -465,13 +465,13 @@
|
|||
{
|
||||
case "Admin":
|
||||
// get admin dashboard moduleid
|
||||
moduleId = int.Parse(PageState.Site.Settings[Constants.AdminDashboardModule]);
|
||||
moduleId = SharedConverter.ParseInteger(PageState.Site.Settings[Constants.AdminDashboardModule]);
|
||||
NavigationManager.NavigateTo(Utilities.EditUrl(PageState.Alias.Path, "admin", moduleId, "Index", "returnurl=" + WebUtility.UrlEncode(PageState.Route.PathAndQuery)));
|
||||
break;
|
||||
case "Add":
|
||||
case "Edit":
|
||||
// get page management moduleid
|
||||
moduleId = int.Parse(PageState.Site.Settings[Constants.PageManagementModule]);
|
||||
moduleId = SharedConverter.ParseInteger(PageState.Site.Settings[Constants.PageManagementModule]);
|
||||
NavigationManager.NavigateTo(Utilities.EditUrl(PageState.Alias.Path, "admin/pages", moduleId, location, $"id={PageState.Page.PageId}&returnurl={WebUtility.UrlEncode(PageState.Route.PathAndQuery)}"));
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
{
|
||||
if (PageState.QueryString.ContainsKey("id"))
|
||||
{
|
||||
pageId = int.Parse(PageState.QueryString["id"]);
|
||||
pageId = SharedConverter.ParseInteger(PageState.QueryString["id"]);
|
||||
}
|
||||
|
||||
try
|
||||
|
|
|
@ -105,7 +105,7 @@
|
|||
_error = "";
|
||||
|
||||
Route route = new Route(_absoluteUri, SiteState.Alias.Path);
|
||||
int moduleid = int.Parse(route.ModuleId, CultureInfo.InvariantCulture);
|
||||
int moduleid = SharedConverter.ParseInteger(route.ModuleId, CultureInfo.InvariantCulture);
|
||||
var action = route.Action;
|
||||
|
||||
var querystring = Utilities.ParseQueryString(route.Query);
|
||||
|
@ -159,7 +159,7 @@
|
|||
if (authState.User.Identity.IsAuthenticated && authState.User.Claims.Any(item => item.Type == Constants.SiteKeyClaimType && item.Value == SiteState.Alias.SiteKey))
|
||||
{
|
||||
// get user
|
||||
var userid = int.Parse(authState.User.Claims.First(item => item.Type == ClaimTypes.NameIdentifier).Value);
|
||||
var userid = SharedConverter.ParseInteger(authState.User.Claims.First(item => item.Type == ClaimTypes.NameIdentifier).Value);
|
||||
user = await UserService.GetUserAsync(userid, SiteState.Alias.SiteId);
|
||||
if (user != null)
|
||||
{
|
||||
|
@ -262,7 +262,7 @@
|
|||
// edit mode
|
||||
if (user != null)
|
||||
{
|
||||
var editpageid = user.Settings.ContainsKey("CP-editmode") ? int.Parse(user.Settings["CP-editmode"], CultureInfo.InvariantCulture) : -1;
|
||||
var editpageid = user.Settings.ContainsKey("CP-editmode") ? SharedConverter.ParseInteger(user.Settings["CP-editmode"], CultureInfo.InvariantCulture) : -1;
|
||||
if ((querystring.ContainsKey("edit") && querystring["edit"] == "true") || page.PageId == editpageid)
|
||||
{
|
||||
editmode = true;
|
||||
|
|
|
@ -182,7 +182,7 @@
|
|||
}
|
||||
|
||||
// includes resources
|
||||
var resources = await GetPageResources(alias, site, page, modules, int.Parse(route.ModuleId, CultureInfo.InvariantCulture), route.Action);
|
||||
var resources = await GetPageResources(alias, site, page, modules, SharedConverter.ParseInteger(route.ModuleId, CultureInfo.InvariantCulture), route.Action);
|
||||
ManageStyleSheets(resources);
|
||||
ManageScripts(resources, alias);
|
||||
|
||||
|
@ -423,7 +423,7 @@
|
|||
// set cookie
|
||||
if (setcookie)
|
||||
{
|
||||
expiry = DateTime.UtcNow.AddMinutes(int.Parse(settings.GetValue("VisitorDuration", "5")));
|
||||
expiry = DateTime.UtcNow.AddMinutes(SharedConverter.ParseInteger(settings.GetValue("VisitorDuration", "5")));
|
||||
|
||||
Context.Response.Cookies.Append(
|
||||
visitorCookieName,
|
||||
|
@ -456,7 +456,7 @@
|
|||
var secret = sitesettings.GetValue("JwtOptions:Secret", "");
|
||||
if (!string.IsNullOrEmpty(secret))
|
||||
{
|
||||
_authorizationToken = JwtManager.GenerateToken(alias, (ClaimsIdentity)Context.User.Identity, secret, sitesettings.GetValue("JwtOptions:Issuer", ""), sitesettings.GetValue("JwtOptions:Audience", ""), int.Parse(sitesettings.GetValue("JwtOptions:Lifetime", "20")));
|
||||
_authorizationToken = JwtManager.GenerateToken(alias, (ClaimsIdentity)Context.User.Identity, secret, sitesettings.GetValue("JwtOptions:Issuer", ""), sitesettings.GetValue("JwtOptions:Audience", ""), SharedConverter.ParseInteger(sitesettings.GetValue("JwtOptions:Lifetime", "20")));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -530,7 +530,7 @@ namespace Oqtane.Controllers
|
|||
// parse the filename which is in the format of filename.ext.part_001_999
|
||||
string token = ".part_";
|
||||
string parts = Path.GetExtension(filename)?.Replace(token, ""); // returns "001_999"
|
||||
int totalparts = int.Parse(parts?.Substring(parts.IndexOf("_") + 1));
|
||||
int totalparts = SharedConverter.ParseInteger(parts?.Substring(parts.IndexOf("_") + 1));
|
||||
|
||||
filename = Path.GetFileNameWithoutExtension(filename); // base filename
|
||||
string[] fileparts = Directory.GetFiles(folder, filename + token + "*"); // list of all file parts
|
||||
|
|
|
@ -98,7 +98,7 @@ namespace Oqtane.Controllers
|
|||
if (folder == null && User.IsInRole(RoleNames.Host) && path.StartsWith("Users/"))
|
||||
{
|
||||
// create the user folder on this site for the host user
|
||||
var userId = int.Parse(path.ReplaceMultiple(new string[] { "Users", "/" }, ""));
|
||||
var userId = SharedConverter.ParseInteger(path.ReplaceMultiple(new string[] { "Users", "/" }, ""));
|
||||
folder = _folders.GetFolder(siteId, "Users/");
|
||||
if (folder != null)
|
||||
{
|
||||
|
|
|
@ -33,7 +33,7 @@ namespace Oqtane.Controllers
|
|||
int SiteId;
|
||||
if (int.TryParse(siteid, out SiteId) && SiteId == _alias.SiteId)
|
||||
{
|
||||
return _logs.GetLogs(SiteId, level, function, int.Parse(rows));
|
||||
return _logs.GetLogs(SiteId, level, function, SharedConverter.ParseInteger(rows));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace Oqtane.Controllers
|
|||
// legacy support
|
||||
if (_authEntityId.Count == 0 && accessor.HttpContext.Request.Query.ContainsKey("entityid"))
|
||||
{
|
||||
_entityId = int.Parse(accessor.HttpContext.Request.Query["entityid"]);
|
||||
_entityId = SharedConverter.ParseInteger(accessor.HttpContext.Request.Query["entityid"]);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -188,7 +188,7 @@ namespace Oqtane.Controllers
|
|||
Page page = null;
|
||||
Page parent = _pages.GetPage(id);
|
||||
User user = _userPermissions.GetUser(User);
|
||||
if (parent != null && parent.SiteId == _alias.SiteId && parent.IsPersonalizable && user.UserId == int.Parse(userid))
|
||||
if (parent != null && parent.SiteId == _alias.SiteId && parent.IsPersonalizable && user.UserId == SharedConverter.ParseInteger(userid))
|
||||
{
|
||||
var path = Utilities.GetFriendlyUrl(user.Username);
|
||||
page = _pages.GetPage(parent.Path + "/" + path, parent.SiteId);
|
||||
|
@ -208,12 +208,12 @@ namespace Oqtane.Controllers
|
|||
page.Icon = parent.Icon;
|
||||
page.PermissionList = new List<Permission>()
|
||||
{
|
||||
new Permission(PermissionNames.View, int.Parse(userid), true),
|
||||
new Permission(PermissionNames.View, SharedConverter.ParseInteger(userid), true),
|
||||
new Permission(PermissionNames.View, RoleNames.Everyone, true),
|
||||
new Permission(PermissionNames.Edit, int.Parse(userid), true)
|
||||
new Permission(PermissionNames.Edit, SharedConverter.ParseInteger(userid), true)
|
||||
};
|
||||
page.IsPersonalizable = false;
|
||||
page.UserId = int.Parse(userid);
|
||||
page.UserId = SharedConverter.ParseInteger(userid);
|
||||
page = _pages.AddPage(page);
|
||||
|
||||
// copy modules
|
||||
|
@ -227,9 +227,9 @@ namespace Oqtane.Controllers
|
|||
module.AllPages = false;
|
||||
module.PermissionList = new List<Permission>()
|
||||
{
|
||||
new Permission(PermissionNames.View, int.Parse(userid), true),
|
||||
new Permission(PermissionNames.View, SharedConverter.ParseInteger(userid), true),
|
||||
new Permission(PermissionNames.View, RoleNames.Everyone, true),
|
||||
new Permission(PermissionNames.Edit, int.Parse(userid), true)
|
||||
new Permission(PermissionNames.Edit, SharedConverter.ParseInteger(userid), true)
|
||||
};
|
||||
module = _modules.AddModule(module);
|
||||
|
||||
|
|
|
@ -362,7 +362,7 @@ namespace Oqtane.Controllers
|
|||
var secret = sitesettings.GetValue("JwtOptions:Secret", "");
|
||||
if (!string.IsNullOrEmpty(secret))
|
||||
{
|
||||
token = _jwtManager.GenerateToken(_tenantManager.GetAlias(), (ClaimsIdentity)User.Identity, secret, sitesettings.GetValue("JwtOptions:Issuer", ""), sitesettings.GetValue("JwtOptions:Audience", ""), int.Parse(sitesettings.GetValue("JwtOptions:Lifetime", "20")));
|
||||
token = _jwtManager.GenerateToken(_tenantManager.GetAlias(), (ClaimsIdentity)User.Identity, secret, sitesettings.GetValue("JwtOptions:Issuer", ""), sitesettings.GetValue("JwtOptions:Audience", ""), SharedConverter.ParseInteger(sitesettings.GetValue("JwtOptions:Lifetime", "20")));
|
||||
}
|
||||
return token;
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ namespace Oqtane.Extensions
|
|||
{
|
||||
if (claimsPrincipal.HasClaim(item => item.Type == ClaimTypes.NameIdentifier))
|
||||
{
|
||||
return int.Parse(claimsPrincipal.Claims.First(item => item.Type == ClaimTypes.NameIdentifier).Value);
|
||||
return SharedConverter.ParseInteger(claimsPrincipal.Claims.First(item => item.Type == ClaimTypes.NameIdentifier).Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -55,7 +55,7 @@ namespace Oqtane.Extensions
|
|||
var sitekey = SiteKey(claimsPrincipal);
|
||||
if (!string.IsNullOrEmpty(sitekey) && sitekey.Contains(":"))
|
||||
{
|
||||
return int.Parse(sitekey.Split(':')[0]);
|
||||
return SharedConverter.ParseInteger(sitekey.Split(':')[0]);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ namespace Oqtane.Extensions
|
|||
var sitekey = SiteKey(claimsPrincipal);
|
||||
if (!string.IsNullOrEmpty(sitekey) && sitekey.Contains(":"))
|
||||
{
|
||||
return int.Parse(sitekey.Split(':')[1]);
|
||||
return SharedConverter.ParseInteger(sitekey.Split(':')[1]);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ using Microsoft.Extensions.DependencyInjection;
|
|||
using Oqtane.Models;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using System;
|
||||
using Oqtane.Shared;
|
||||
|
||||
namespace Oqtane.Extensions
|
||||
{
|
||||
|
@ -13,15 +14,15 @@ namespace Oqtane.Extensions
|
|||
builder.AddSiteOptions<IdentityOptions>((options, alias, sitesettings) =>
|
||||
{
|
||||
// password options
|
||||
options.Password.RequiredLength = int.Parse(sitesettings.GetValue("IdentityOptions:Password:RequiredLength", options.Password.RequiredLength.ToString()));
|
||||
options.Password.RequiredUniqueChars = int.Parse(sitesettings.GetValue("IdentityOptions:Password:RequiredUniqueChars", options.Password.RequiredUniqueChars.ToString()));
|
||||
options.Password.RequiredLength = SharedConverter.ParseInteger(sitesettings.GetValue("IdentityOptions:Password:RequiredLength", options.Password.RequiredLength.ToString()));
|
||||
options.Password.RequiredUniqueChars = SharedConverter.ParseInteger(sitesettings.GetValue("IdentityOptions:Password:RequiredUniqueChars", options.Password.RequiredUniqueChars.ToString()));
|
||||
options.Password.RequireDigit = bool.Parse(sitesettings.GetValue("IdentityOptions:Password:RequireDigit", options.Password.RequireDigit.ToString()));
|
||||
options.Password.RequireUppercase = bool.Parse(sitesettings.GetValue("IdentityOptions:Password:RequireUppercase", options.Password.RequireUppercase.ToString()));
|
||||
options.Password.RequireLowercase = bool.Parse(sitesettings.GetValue("IdentityOptions:Password:RequireLowercase", options.Password.RequireLowercase.ToString()));
|
||||
options.Password.RequireNonAlphanumeric = bool.Parse(sitesettings.GetValue("IdentityOptions:Password:RequireNonAlphanumeric", options.Password.RequireNonAlphanumeric.ToString()));
|
||||
|
||||
// lockout options
|
||||
options.Lockout.MaxFailedAccessAttempts = int.Parse(sitesettings.GetValue("IdentityOptions:Lockout:MaxFailedAccessAttempts", options.Lockout.MaxFailedAccessAttempts.ToString()));
|
||||
options.Lockout.MaxFailedAccessAttempts = SharedConverter.ParseInteger(sitesettings.GetValue("IdentityOptions:Lockout:MaxFailedAccessAttempts", options.Lockout.MaxFailedAccessAttempts.ToString()));
|
||||
options.Lockout.DefaultLockoutTimeSpan = TimeZoneInfo.Local.GetUtcOffset(DateTime.UtcNow) + TimeSpan.Parse(sitesettings.GetValue("IdentityOptions:Lockout:DefaultLockoutTimeSpan", options.Lockout.DefaultLockoutTimeSpan.ToString()));
|
||||
options.Lockout.AllowedForNewUsers = options.Lockout.MaxFailedAccessAttempts > 0;
|
||||
});
|
||||
|
|
|
@ -55,7 +55,7 @@ namespace Oqtane.Infrastructure
|
|||
DeliveryMethod = SmtpDeliveryMethod.Network,
|
||||
UseDefaultCredentials = false,
|
||||
Host = settings["SMTPHost"],
|
||||
Port = int.Parse(settings["SMTPPort"]),
|
||||
Port = SharedConverter.ParseInteger(settings["SMTPPort"]),
|
||||
EnableSsl = bool.Parse(settings["SMTPSSL"])
|
||||
};
|
||||
if (settings["SMTPUsername"] != "" && settings["SMTPPassword"] != "")
|
||||
|
|
|
@ -50,7 +50,7 @@ namespace Oqtane.Infrastructure
|
|||
retention = 30; // 30 days
|
||||
if (settings.ContainsKey("LogRetention") && !string.IsNullOrEmpty(settings["LogRetention"]))
|
||||
{
|
||||
retention = int.Parse(settings["LogRetention"]);
|
||||
retention = SharedConverter.ParseInteger(settings["LogRetention"]);
|
||||
}
|
||||
try
|
||||
{
|
||||
|
@ -68,7 +68,7 @@ namespace Oqtane.Infrastructure
|
|||
retention = 30; // 30 days
|
||||
if (settings.ContainsKey("VisitorRetention") && !string.IsNullOrEmpty(settings["VisitorRetention"]))
|
||||
{
|
||||
retention = int.Parse(settings["VisitorRetention"]);
|
||||
retention = SharedConverter.ParseInteger(settings["VisitorRetention"]);
|
||||
}
|
||||
try
|
||||
{
|
||||
|
@ -85,7 +85,7 @@ namespace Oqtane.Infrastructure
|
|||
retention = 30; // 30 days
|
||||
if (settings.ContainsKey("NotificationRetention") && !string.IsNullOrEmpty(settings["NotificationRetention"]))
|
||||
{
|
||||
retention = int.Parse(settings["NotificationRetention"]);
|
||||
retention = SharedConverter.ParseInteger(settings["NotificationRetention"]);
|
||||
}
|
||||
try
|
||||
{
|
||||
|
@ -101,7 +101,7 @@ namespace Oqtane.Infrastructure
|
|||
retention = 30; // 30 days
|
||||
if (settings.ContainsKey("UrlMappingRetention") && !string.IsNullOrEmpty(settings["UrlMappingRetention"]))
|
||||
{
|
||||
retention = int.Parse(settings["UrlMappingRetention"]);
|
||||
retention = SharedConverter.ParseInteger(settings["UrlMappingRetention"]);
|
||||
}
|
||||
try
|
||||
{
|
||||
|
|
|
@ -59,7 +59,7 @@ namespace Oqtane.Infrastructure
|
|||
if (userid != null && username != null)
|
||||
{
|
||||
var _users = context.RequestServices.GetService(typeof(IUserManager)) as IUserManager;
|
||||
var user = _users.GetUser(int.Parse(userid), alias.SiteId); // cached
|
||||
var user = _users.GetUser(SharedConverter.ParseInteger(userid), alias.SiteId); // cached
|
||||
if (user != null && !user.IsDeleted)
|
||||
{
|
||||
var claimsidentity = UserSecurity.CreateClaimsIdentity(alias, user);
|
||||
|
|
|
@ -158,7 +158,7 @@ namespace Oqtane.Providers
|
|||
var minimumWordLength = MinimumWordLength;
|
||||
if (siteSettings.ContainsKey(SearchMinimumWordLengthSetting) && !string.IsNullOrEmpty(siteSettings[SearchMinimumWordLengthSetting]))
|
||||
{
|
||||
minimumWordLength = int.Parse(siteSettings[SearchMinimumWordLengthSetting]);
|
||||
minimumWordLength = SharedConverter.ParseInteger(siteSettings[SearchMinimumWordLengthSetting]);
|
||||
}
|
||||
|
||||
// analyze the search content and save the index words
|
||||
|
|
|
@ -36,7 +36,7 @@ namespace Oqtane.Services
|
|||
if (!Enum.TryParse(position, true, out AnchorPositionMode _)) position = "center";
|
||||
if (!Color.TryParseHex("#" + background, out _)) background = "transparent";
|
||||
if (!int.TryParse(rotate, out _)) rotate = "0";
|
||||
rotate = (int.Parse(rotate) < 0 || int.Parse(rotate) > 360) ? "0" : rotate;
|
||||
rotate = (SharedConverter.ParseInteger(rotate) < 0 || SharedConverter.ParseInteger(rotate) > 360) ? "0" : rotate;
|
||||
if (!_formats.Contains(format)) format = "png";
|
||||
|
||||
using (var stream = new FileStream(filepath, FileMode.Open, FileAccess.Read))
|
||||
|
|
|
@ -106,7 +106,7 @@ namespace Oqtane.Services
|
|||
if (permission.Contains(":")) // permission
|
||||
{
|
||||
var entityName = permission.Split(":")[0];
|
||||
var entityId = int.Parse(permission.Split(":")[1]);
|
||||
var entityId = SharedConverter.ParseInteger(permission.Split(":")[1]);
|
||||
if (!_userPermissions.IsAuthorized(_accessor.HttpContext.User, searchQuery.SiteId, entityName, entityId, PermissionNames.View))
|
||||
{
|
||||
visible = false;
|
||||
|
|
32
Oqtane.Shared/Shared/SharedConverter.cs
Normal file
32
Oqtane.Shared/Shared/SharedConverter.cs
Normal file
|
@ -0,0 +1,32 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Oqtane.Shared
|
||||
{
|
||||
public sealed class SharedConverter
|
||||
{
|
||||
public static int ParseInteger(string value)
|
||||
{
|
||||
return ParseInteger(value, CultureInfo.InvariantCulture, 0);
|
||||
}
|
||||
|
||||
public static int ParseInteger(string value, CultureInfo cultureInfo)
|
||||
{
|
||||
return ParseInteger(value, cultureInfo, 0);
|
||||
}
|
||||
|
||||
public static int ParseInteger(string value, CultureInfo cultureInfo, int defaultValue)
|
||||
{
|
||||
if (int.TryParse(value, cultureInfo, out int result))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user