summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-base/luasrc/view/sysauth.htm
blob: 797c87a72ee4ffdd52d7e6ac9eefff396a75e5af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<%#
 Copyright 2008 Steven Barth <steven@midlink.org>
 Copyright 2008-2012 Jo-Philipp Wich <jow@openwrt.org>
 Licensed to the public under the Apache License 2.0.
-%>

<%+header%>

<form method="post" action="<%=pcdata(FULL_REQUEST_URI)%>">
	<%- if fuser then %>
		<div class="alert-message warning">
			<p><%:Invalid username and/or password! Please try again.%></p>
		</div>
	<% end -%>

	<div class="cbi-map">
		<h2 name="content"><%:Authorization Required%></h2>
		<div class="cbi-map-descr">
			<%:Please enter your username and password.%>
		</div>
		<div class="cbi-section"><div class="cbi-section-node">
			<div class="cbi-value">
				<label class="cbi-value-title" for="luci_username"><%:Username%></label>
				<div class="cbi-value-field">
					<input class="cbi-input-text" type="text" name="luci_username" id="luci_username" autocomplete="username" value="<%=duser%>" />
				</div>
			</div>
			<div class="cbi-value cbi-value-last">
				<label class="cbi-value-title" for="luci_password"><%:Password%></label>
				<div class="cbi-value-field">
					<input class="cbi-input-text" type="password" name="luci_password" id="luci_password" autocomplete="current-password"/>
				</div>
			</div>
		</div></div>
	</div>

	<div class="cbi-page-actions">
		<input type="submit" value="<%:Login%>" class="btn cbi-button cbi-button-apply" />
		<input type="reset" value="<%:Reset%>" class="btn cbi-button cbi-button-reset" />
	</div>
</form>
<script type="text/javascript">//<![CDATA[
	var input = document.getElementsByName('luci_password')[0];
	if (input)
		input.focus();
//]]></script>

<%
local uci  = require "luci.model.uci".cursor()
local fs  = require "nixio.fs"
local https_key = uci:get("uhttpd", "main", "key")
local https_port = uci:get("uhttpd", "main", "listen_https")
if type(https_port) == "table" then
	https_port = https_port[1]
end

if https_port and fs.access(https_key) then
	https_port = https_port:match("(%d+)$")
%>

<script type="text/javascript">//<![CDATA[
	if (document.location.protocol != 'https:') {
		var url = 'https://' + window.location.hostname + ':' + '<%=https_port%>' + window.location.pathname;
		var img=new Image;
		img.onload=function(){window.location = url};
		img.src='https://' + window.location.hostname + ':' + '<%=https_port%>' + '<%=resource%>/icons/loading.gif?' + Math.random();
		setTimeout(function(){
			img.src=''
		}, 5000);
	}
//]]></script>

<% end %>

<%+footer%>