44 lines
1.4 KiB
Plaintext
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}");
|
|
}
|
|
} |