44 lines
1.4 KiB
Plaintext

@namespace Oqtane.Themes.Controls
@using System.Net
@inherits ThemeControlBase
@inject IStringLocalizer<Login> Localizer
@inject ISettingService SettingService
@inject IStringLocalizer<SharedResources> SharedLocalizer
<a href="@_registerurl" class="@CssClass">@SharedLocalizer["Register"]</a>
@code
{
private string _returnurl;
private string _registerurl;
[Parameter]
public string CssClass { get; set; } = "btn btn-secondary";
protected override void OnParametersSet()
{
if (!PageState.QueryString.ContainsKey("returnurl"))
{
// remember current url
_returnurl = WebUtility.UrlEncode(PageState.Route.PathAndQuery);
}
else
{
// use existing value
_returnurl = PageState.QueryString["returnurl"];
}
if (!string.IsNullOrEmpty(SettingService.GetSetting(PageState.Site.Settings, "LoginOptions:RegisterUrl", "")))
{
_registerurl = SettingService.GetSetting(PageState.Site.Settings, "LoginOptions:RegisterUrl", "");
_registerurl += (!_registerurl.Contains("?") ? "?" : "&") + "returnurl=" + (_registerurl.Contains("://") ? WebUtility.UrlEncode(PageState.Route.RootUrl) + _returnurl : _returnurl);
}
else
{
_registerurl = NavigateUrl("register", "returnurl=" + _returnurl);
}
Console.WriteLine($"Register URL: {_registerurl}");
}
}