summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-base/ucode/template/sysauth.ut
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2022-09-13 23:50:12 +0200
committerJo-Philipp Wich <jo@mein.io>2022-10-25 01:03:37 +0200
commit673f38246ac3548caefec41183e3dd7477d9f6f6 (patch)
treeb3b7682b14d8a81286f8b7fe2aa5239e5dfbf4b7 /modules/luci-base/ucode/template/sysauth.ut
parentded8ccf93ec5163be35c41501869110e5dab30d1 (diff)
treewide: separate Lua runtime resources
Move classes required for Lua runtime support into a new `luci-lua-runtime` package. Also replace the `luci.http` and `luci.util` classes in `luci-lib-base` with stubbed versions interacting with the ucode based runtime environment. Finally merge `luci-base-ucode` into the remainders of `luci-base`. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'modules/luci-base/ucode/template/sysauth.ut')
-rw-r--r--modules/luci-base/ucode/template/sysauth.ut74
1 files changed, 74 insertions, 0 deletions
diff --git a/modules/luci-base/ucode/template/sysauth.ut b/modules/luci-base/ucode/template/sysauth.ut
new file mode 100644
index 0000000000..0fe873d440
--- /dev/null
+++ b/modules/luci-base/ucode/template/sysauth.ut
@@ -0,0 +1,74 @@
+{#
+ 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.
+-#}
+
+{% include('header') %}
+
+<form method="post">
+ {% if (fuser): %}
+ <div class="alert-message warning">
+ <p>{{ _('Invalid username and/or password! Please try again.') }}</p>
+ </div>
+ {% endif %}
+
+ <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">{{ _('Username') }}</label>
+ <div class="cbi-value-field">
+ <input class="cbi-input-text" type="text" name="luci_username" value="{{ entityencode(duser, true) }}" />
+ </div>
+ </div>
+ <div class="cbi-value cbi-value-last">
+ <label class="cbi-value-title">{{ _('Password') }}</label>
+ <div class="cbi-value-field">
+ <input class="cbi-input-text" type="password" name="luci_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>
+
+{%
+ let https_ports = uci.get('uhttpd', 'main', 'listen_https') ?? [];
+
+ https_ports = uniq(filter(
+ map(
+ (type(https_ports) == 'string') ? split(https_port, /\s+/) : https_ports,
+ e => +match(e, /\d+$/)?.[0]
+ ),
+ p => (p >= 0 && p <= 65535)
+ ));
+%}
+
+<script type="text/javascript">//<![CDATA[
+ var input = document.getElementsByName('luci_password')[0];
+
+ if (input)
+ input.focus();
+
+ if (document.location.protocol != 'https:') {
+ {{ https_ports }}.forEach(function(port) {
+ var url = 'https://' + window.location.hostname + ':' + port + window.location.pathname;
+ var img = new Image();
+
+ img.onload = function() { window.location = url };
+ img.src = 'https://' + window.location.hostname + ':' + port + '{{ resource }}/icons/loading.gif?' + Math.random();
+
+ setTimeout(function() { img.src = '' }, 5000);
+ });
+ }
+//]]></script>
+
+{% include('footer') %}