mirror of
https://github.com/openwrt/luci.git
synced 2025-12-22 01:44:35 +04:00
luci-theme-openwrt: convert Lua templates to ucode
Convert the theme's Lua templates to ucode to avoid the implicit dependency on the luci-lua-runtime package. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
@@ -1,95 +0,0 @@
|
|||||||
<%#
|
|
||||||
Copyright 2008 Steven Barth <steven@midlink.org>
|
|
||||||
Copyright 2008-2010 Jo-Philipp Wich <jow@openwrt.org>
|
|
||||||
Licensed to the public under the Apache License 2.0.
|
|
||||||
-%>
|
|
||||||
|
|
||||||
<%
|
|
||||||
local sys = require "luci.sys"
|
|
||||||
local util = require "luci.util"
|
|
||||||
local http = require "luci.http"
|
|
||||||
local disp = require "luci.dispatcher"
|
|
||||||
local ver = require "luci.version"
|
|
||||||
|
|
||||||
local sysinfo = util.ubus("system", "info") or { }
|
|
||||||
local loadinfo = sysinfo.load or { 0, 0, 0 }
|
|
||||||
local boardinfo = util.ubus("system", "board") or { }
|
|
||||||
|
|
||||||
local node = disp.context.dispatched
|
|
||||||
|
|
||||||
http.prepare_content("application/xhtml+xml")
|
|
||||||
-%>
|
|
||||||
|
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<%=luci.i18n.context.lang%>" lang="<%=luci.i18n.context.lang%>">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
||||||
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
||||||
<link rel="stylesheet" type="text/css" media="screen" href="<%=media%>/cascade.css" />
|
|
||||||
<% if node and node.css then %><link rel="stylesheet" type="text/css" media="screen" href="<%=resource%>/<%=node.css%>" />
|
|
||||||
<% end -%>
|
|
||||||
<% if css then %><style title="text/css">
|
|
||||||
<%= css %>
|
|
||||||
</style>
|
|
||||||
<% end -%>
|
|
||||||
<script type="text/javascript" src="<%=url('admin/translations', luci.i18n.context.lang)%><%# ?v=PKG_VERSION %>"></script>
|
|
||||||
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
|
|
||||||
|
|
||||||
<title><%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI</title>
|
|
||||||
</head>
|
|
||||||
<body class="lang_<%=luci.i18n.context.lang%>" data-page="<%= pcdata(table.concat(disp.context.requestpath, "-")) %>">
|
|
||||||
|
|
||||||
<p class="skiplink">
|
|
||||||
<span id="skiplink1"><a href="#navigation"><%:Skip to navigation%></a></span>
|
|
||||||
<span id="skiplink2"><a href="#content"><%:Skip to content%></a></span>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div id="menubar">
|
|
||||||
<h2 class="navigation"><a id="navigation" name="navigation"><%:Navigation%></a></h2>
|
|
||||||
|
|
||||||
<div class="hostinfo">
|
|
||||||
<%=striptags(boardinfo.hostname or "?")%> | <%=ver.distversion%> |
|
|
||||||
<%:Load%>: <%="%.2f" % (loadinfo[1] / 65535.0)%> <%="%.2f" % (loadinfo[2] / 65535.0)%> <%="%.2f" % (loadinfo[3] / 65535.0)%>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="indicators"></div>
|
|
||||||
|
|
||||||
<ul id="modemenu" style="display:none"></ul>
|
|
||||||
|
|
||||||
<div class="clear"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="maincontainer">
|
|
||||||
<div id="mainmenu" style="display:none"></div>
|
|
||||||
|
|
||||||
<div id="maincontent">
|
|
||||||
<div id="tabmenu" style="display:none"></div>
|
|
||||||
|
|
||||||
<noscript>
|
|
||||||
<div class="alert-message warning">
|
|
||||||
<h4><%:JavaScript required!%></h4>
|
|
||||||
<p><%:You must enable JavaScript in your browser or LuCI will not work properly.%></p>
|
|
||||||
</div>
|
|
||||||
</noscript>
|
|
||||||
|
|
||||||
<%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%>
|
|
||||||
<div class="alert-message warning">
|
|
||||||
<h4><%:No password set!%></h4>
|
|
||||||
<p><%:There is no password set on this router. Please configure a root password to protect the web interface.%></p>
|
|
||||||
<% if disp.lookup("admin/system/admin") then %>
|
|
||||||
<div class="right"><a class="btn" href="<%=url("admin/system/admin")%>"><%:Go to password configuration...%></a></div>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
|
||||||
<%- end -%>
|
|
||||||
|
|
||||||
<%- if boardinfo.rootfs_type == "initramfs" then -%>
|
|
||||||
<div class="alert-message warning">
|
|
||||||
<h4><%:System running in recovery (initramfs) mode.%></h4>
|
|
||||||
<p><%:No changes to settings will be stored and are lost after rebooting. This mode should only be used to install a firmware upgrade%></p>
|
|
||||||
<% if disp.lookup("admin/system/flash") then %>
|
|
||||||
<div class="right"><a class="btn" href="<%=url("admin/system/flash")%>"><%:Go to firmware upgrade...%></a></div>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
|
||||||
<%- end -%>
|
|
||||||
@@ -1,16 +1,15 @@
|
|||||||
<%#
|
{#
|
||||||
Copyright 2008 Steven Barth <steven@midlink.org>
|
Copyright 2008 Steven Barth <steven@midlink.org>
|
||||||
Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
|
Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
|
||||||
Licensed to the public under the Apache License 2.0.
|
Licensed to the public under the Apache License 2.0.
|
||||||
-%>
|
-#}
|
||||||
|
|
||||||
<div class="clear"></div>
|
<div class="clear"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="luci">
|
<p class="luci">
|
||||||
<% local ver = require "luci.version" -%>
|
Powered by {{ version.luciname }} ({{ version.luciversion }})
|
||||||
Powered by <%= ver.luciname %> (<%= ver.luciversion %>)
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<script type="text/javascript">L.require('menu-openwrt')</script>
|
<script type="text/javascript">L.require('menu-openwrt')</script>
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
{#
|
||||||
|
Copyright 2008 Steven Barth <steven@midlink.org>
|
||||||
|
Copyright 2008-2010 Jo-Philipp Wich <jow@openwrt.org>
|
||||||
|
Licensed to the public under the Apache License 2.0.
|
||||||
|
-#}
|
||||||
|
|
||||||
|
{%
|
||||||
|
import { getuid, getspnam } from 'luci.core';
|
||||||
|
|
||||||
|
const boardinfo = ubus.call('system', 'board');
|
||||||
|
const loadinfo = ubus.call("system", "info")?.load;
|
||||||
|
|
||||||
|
http.prepare_content("application/xhtml+xml");
|
||||||
|
-%}
|
||||||
|
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{ dispatcher.lang }}" lang="{{ dispatcher.lang }}">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
||||||
|
<link rel="stylesheet" type="text/css" media="screen" href="{{ media }}/cascade.css" />
|
||||||
|
{% if (node?.css): %}
|
||||||
|
<link rel="stylesheet" type="text/css" media="screen" href="{{ resource }}/{{ node.css }}" />
|
||||||
|
{% endif %}
|
||||||
|
{% if (css): %}
|
||||||
|
<style type="text/css">{{ css }}</style>
|
||||||
|
{% endif %}
|
||||||
|
<script type="text/javascript" src="{{ dispatcher.build_url('admin/translations', dispatcher.lang) }}"></script>
|
||||||
|
<script type="text/javascript" src="{{ resource }}/cbi.js"></script>
|
||||||
|
|
||||||
|
<title>{{ striptags(`${boardinfo.hostname ?? '?'}${node ? ` - ${_(node.title)}` : ''}`) }} - LuCI</title>
|
||||||
|
</head>
|
||||||
|
<body class="lang_{{ dispatcher.lang }}" data-page="{{ entityencode(join('-', ctx.request_path), true) }}">
|
||||||
|
|
||||||
|
<p class="skiplink">
|
||||||
|
<span id="skiplink1"><a href="#navigation">{{ _('Skip to navigation') }}</a></span>
|
||||||
|
<span id="skiplink2"><a href="#content">{{ _('Skip to content') }}</a></span>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div id="menubar">
|
||||||
|
<h2 class="navigation"><a id="navigation" name="navigation">{{ _('Navigation') }}</a></h2>
|
||||||
|
|
||||||
|
<div class="hostinfo">
|
||||||
|
{{ striptags(boardinfo.hostname ?? '?') }} | {{ version.distversion }} |
|
||||||
|
{{ _('Load') }}: {{ loadinfo ? join(' ', map(loadinfo, load => sprintf("%.2f", load / 65535.0))) : '-' }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="indicators"></div>
|
||||||
|
|
||||||
|
<ul id="modemenu" style="display:none"></ul>
|
||||||
|
|
||||||
|
<div class="clear"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="maincontainer">
|
||||||
|
<div id="mainmenu" style="display:none"></div>
|
||||||
|
|
||||||
|
<div id="maincontent">
|
||||||
|
<div id="tabmenu" style="display:none"></div>
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<div class="alert-message warning">
|
||||||
|
<h4>{{ _('JavaScript required!') }}</h4>
|
||||||
|
<p>{{ _('You must enable JavaScript in your browser or LuCI will not work properly.') }}</p>
|
||||||
|
</div>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
{% if (getuid() == 0 && getspnam('root')?.pwdp === '' && join('-', ctx.request_path) != 'admin-system-admin'): %}
|
||||||
|
<div class="alert-message warning">
|
||||||
|
<h4>{{ _('No password set!') }}</h4>
|
||||||
|
<p>{{ _('There is no password set on this router. Please configure a root password to protect the web interface.') }}</p>
|
||||||
|
{% if (dispatcher.lookup("admin/system/admin")): %}
|
||||||
|
<div class="right"><a class="btn" href="{{ dispatcher.build_url("admin/system/admin") }}">{{ _('Go to password configuration...') }}</a></div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if (boardinfo.rootfs_type == "initramfs"): %}
|
||||||
|
<div class="alert-message warning">
|
||||||
|
<h4>{{ _('System running in recovery (initramfs) mode.') }}</h4>
|
||||||
|
<p>{{ _('No changes to settings will be stored and are lost after rebooting. This mode should only be used to install a firmware upgrade') }}</p>
|
||||||
|
{% if (dispatcher.lookup("admin/system/flash")): %}
|
||||||
|
<div class="right"><a class="btn" href="{{ dispatcher.build_url("admin/system/flash") }}">{{ _('Go to firmware upgrade...') }}</a></div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
Reference in New Issue
Block a user