mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-29 15:35:13 +08:00
⛄ Sync 2026-04-23 20:32:35
This commit is contained in:
1 parent
17738c6f79
commit
fe51d2b304
206 files changed
+725671
No files matched your search
@@ -0,0 +1,24 @@
|
||||
{#
|
||||
Copyright 2015-2022 Jo-Philipp Wich <jo@mein.io>
|
||||
Licensed to the public under the Apache License 2.0.
|
||||
-#}
|
||||
|
||||
{% include('header') %}
|
||||
|
||||
<h2 name="content">{{ _('Form token mismatch') }}</h2>
|
||||
<br />
|
||||
|
||||
<p class="alert-message">{{ _('The submitted security token is invalid or already expired!') }}</p>
|
||||
|
||||
<p>{{ _(`
|
||||
In order to prevent unauthorized access to the system, your request has
|
||||
been blocked. Click "Continue »" below to return to the previous page.
|
||||
`) }}</p>
|
||||
|
||||
<hr />
|
||||
|
||||
<p class="right">
|
||||
<strong><a href="#" onclick="window.history.back();">Continue »</a></strong>
|
||||
</p>
|
||||
|
||||
{% include('footer') %}
|
||||
@@ -0,0 +1,14 @@
|
||||
{#
|
||||
Copyright 2008 Steven Barth <steven@midlink.org>
|
||||
Copyright 2008-2022 Jo-Philipp Wich <jo@mein.io>
|
||||
Licensed to the public under the Apache License 2.0.
|
||||
-#}
|
||||
|
||||
{% include('header') %}
|
||||
|
||||
<h2 name="content">404 {{ _('Not Found') }}</h2>
|
||||
<p>{{ _('Sorry, the object you requested was not found.') }}</p>
|
||||
<p>{{ message }}</p>
|
||||
<tt>{{ _('Unable to dispatch') }}: {{ dispatcher.build_url(...ctx.request_path) }}</tt>
|
||||
|
||||
{% include('footer') %}
|
||||
@@ -0,0 +1,67 @@
|
||||
{#
|
||||
Copyright 2022 Jo-Philipp Wich <jo@mein.io>
|
||||
Licensed to the public under the Apache License 2.0.
|
||||
-#}
|
||||
|
||||
<!--]]>--><!--'>--><!--">-->
|
||||
<style>
|
||||
body {
|
||||
line-height: 1.5;
|
||||
font-size: 14px;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
.error500 * {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.error500 {
|
||||
box-sizing: border-box;
|
||||
position: fixed;
|
||||
z-index: 999999;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
overflow: auto;
|
||||
background: #ffe;
|
||||
color: #f00 !important;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
.error500 h1 {
|
||||
margin-bottom: .5em;
|
||||
}
|
||||
|
||||
.error500 .exception {
|
||||
font-weight: normal;
|
||||
white-space: normal;
|
||||
margin: .25em;
|
||||
padding: .5em;
|
||||
border: 1px solid #f00;
|
||||
background: rgba(204, 204, 204, .2);
|
||||
}
|
||||
|
||||
.error500 .message {
|
||||
font-weight: bold;
|
||||
white-space: pre-line;
|
||||
}
|
||||
|
||||
.error500 .context {
|
||||
margin-top: 2em;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="error500">
|
||||
<h1>{{ title }}</h1>
|
||||
<div class="message">{{ message }}</div>
|
||||
|
||||
{% if (exception): %}
|
||||
<div class="exception">
|
||||
<div class="message">{{ exception.message }}</div>
|
||||
<pre class="context">{{ exception.stacktrace[0].context }}</pre>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
@@ -0,0 +1,42 @@
|
||||
{#
|
||||
Copyright 2022 Jo-Philipp Wich <jo@mein.io>
|
||||
Licensed to the public under the Apache License 2.0.
|
||||
-#}
|
||||
|
||||
{% const rollback = dispatcher.rollback_pending() %}
|
||||
{% if (rollback || trigger_apply || trigger_revert): %}
|
||||
<script>
|
||||
document.addEventListener("luci-loaded", function() {
|
||||
{% if (trigger_apply): %}
|
||||
L.ui.changes.apply(true);
|
||||
{% elif (trigger_revert): %}
|
||||
L.ui.changes.revert();
|
||||
{% else %}
|
||||
L.ui.changes.confirm(true, Date.now() + {{rollback.remaining * 1000}}, {{sprintf('%J', rollback.token)}});
|
||||
{% endif %}
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
|
||||
{% if (media_error): %}
|
||||
<script>
|
||||
L.require('ui').then(function(ui) {
|
||||
ui.showIndicator('media_error', _('Theme fallback'), function(ev) {
|
||||
ui.showModal(_('Error loading theme'), [
|
||||
E('p', [
|
||||
_('A fallback is used since the configured theme failed to load with the error below.')
|
||||
]),
|
||||
E('hr'),
|
||||
E('div', { 'style': 'white-space:pre-line' }, {{ sprintf('%J', trim(media_error)) }}),
|
||||
E('div', { 'class': 'right' }, [
|
||||
E('button', { 'class': 'btn cbi-button', 'click': ui.hideModal }, _('Dismiss'))
|
||||
])
|
||||
]);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
|
||||
{% include(`themes/${theme}/footer`) %}
|
||||
|
||||
<!-- Lua compatibility mode active: {{ lua_active ? 'yes' : 'no' }} -->
|
||||
@@ -0,0 +1,31 @@
|
||||
{#
|
||||
Copyright 2022 Jo-Philipp Wich <jo@mein.io>
|
||||
Licensed to the public under the Apache License 2.0.
|
||||
-#}
|
||||
|
||||
{%
|
||||
include(`themes/${theme}/header`);
|
||||
-%}
|
||||
|
||||
<script src="{{ resource }}/luci.js?v={# PKG_VERSION #}-{{ pkgs_update_time }}"></script>
|
||||
<script>
|
||||
L = new LuCI({{ replace(`${ {
|
||||
media : media,
|
||||
resource : resource,
|
||||
scriptname : http.getenv("SCRIPT_NAME"),
|
||||
pathinfo : http.getenv("PATH_INFO"),
|
||||
documentroot : http.getenv("DOCUMENT_ROOT"),
|
||||
requestpath : ctx.request_path,
|
||||
dispatchpath : ctx.path,
|
||||
pollinterval : +config.main.pollinterval || 5,
|
||||
ubuspath : config.main.ubuspath || '/ubus/',
|
||||
sessionid : ctx.authsession,
|
||||
token : ctx.authtoken,
|
||||
nodespec : dispatched,
|
||||
apply_rollback : max(+config.apply.rollback || 90, 90),
|
||||
apply_holdoff : max(+config.apply.holdoff || 4, 1),
|
||||
apply_timeout : max(+config.apply.timeout || 5, 1),
|
||||
apply_display : max(+config.apply.display || 1.5, 1),
|
||||
rollback_token : rollback_token
|
||||
} }`, '/', '\\/') }});
|
||||
</script>
|
||||
@@ -0,0 +1,73 @@
|
||||
{#
|
||||
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="{{ _('Log in') }}" class="btn cbi-button cbi-button-apply" />
|
||||
</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>
|
||||
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.svg?' + Math.random();
|
||||
|
||||
setTimeout(function() { img.src = '' }, 5000);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
{% include('footer') %}
|
||||
@@ -0,0 +1,12 @@
|
||||
{% include('header') %}
|
||||
|
||||
<div id="view">
|
||||
<div class="spinning">{{ _('Loading view…') }}</div>
|
||||
<script>
|
||||
L.require('ui').then(function(ui) {
|
||||
ui.instantiateView('{{ view }}');
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
{% include('footer') %}
|
||||
Reference in new issue
Block a user