fix #4984 - ensure personalized page path does not contain illegal characters

This commit is contained in:
sbwalker 2025-01-14 15:42:40 -05:00
parent 4521f8a774
commit 51600bbcb0

View File

@ -189,14 +189,15 @@ namespace Oqtane.Controllers
User user = _userPermissions.GetUser(User); 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 == int.Parse(userid))
{ {
page = _pages.GetPage(parent.Path + "/" + user.Username, parent.SiteId); var path = parent.Path + "/" + Utilities.GetFriendlyUrl(user.Username);
page = _pages.GetPage(path, parent.SiteId);
if (page == null) if (page == null)
{ {
page = new Page(); page = new Page();
page.SiteId = parent.SiteId; page.SiteId = parent.SiteId;
page.ParentId = parent.PageId; page.ParentId = parent.PageId;
page.Name = (!string.IsNullOrEmpty(user.DisplayName)) ? user.DisplayName : user.Username; page.Name = (!string.IsNullOrEmpty(user.DisplayName)) ? user.DisplayName : user.Username;
page.Path = parent.Path + "/" + user.Username; page.Path = path;
page.Title = page.Name + " - " + parent.Name; page.Title = page.Name + " - " + parent.Name;
page.Order = 0; page.Order = 0;
page.IsNavigation = false; page.IsNavigation = false;