gluon-luci-theme: add HTML and URL escaping utility functions
This commit is contained in:
parent
81280d8e18
commit
79a49a1515
@ -9,7 +9,7 @@ PKG_RELEASE:=1
|
|||||||
|
|
||||||
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
|
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(GLUONDIR)/include/package.mk
|
||||||
|
|
||||||
|
|
||||||
define Package/gluon-luci-theme
|
define Package/gluon-luci-theme
|
||||||
@ -31,10 +31,12 @@ define Build/Configure
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
|
$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/gluon-luci-theme/install
|
define Package/gluon-luci-theme/install
|
||||||
$(CP) ./files/* $(1)/
|
$(CP) ./files/* $(1)/
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,gluon-luci-theme))
|
$(eval $(call BuildPackage,gluon-luci-theme))
|
||||||
|
@ -17,6 +17,7 @@ $Id$
|
|||||||
local http = require "luci.http"
|
local http = require "luci.http"
|
||||||
local disp = require "luci.dispatcher"
|
local disp = require "luci.dispatcher"
|
||||||
local fs = require "nixio.fs"
|
local fs = require "nixio.fs"
|
||||||
|
local gluon_luci = require "gluon.luci"
|
||||||
|
|
||||||
local hostname = sys.hostname()
|
local hostname = sys.hostname()
|
||||||
local release = fs.readfile("/lib/gluon/release")
|
local release = fs.readfile("/lib/gluon/release")
|
||||||
@ -110,15 +111,15 @@ $Id$
|
|||||||
</style>
|
</style>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
<script type="text/javascript" src="<%=resource%>/xhr.js"></script>
|
<script type="text/javascript" src="<%=resource%>/xhr.js"></script>
|
||||||
<title><%=striptags( hostname .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI</title>
|
<title><%=gluon_luci.escape( hostname .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI</title>
|
||||||
</head>
|
</head>
|
||||||
<body class="lang_<%=luci.i18n.context.lang%>">
|
<body class="lang_<%=luci.i18n.context.lang%>">
|
||||||
|
|
||||||
<div id="menubar">
|
<div id="menubar">
|
||||||
<div class="hostinfo">
|
<div class="hostinfo">
|
||||||
<%=hostname%>
|
<%=gluon_luci.escape(hostname)%>
|
||||||
<% if release then %>
|
<% if release then %>
|
||||||
/ <%=release%>
|
/ <%=gluon_luci.escape(release)%>
|
||||||
<% end %>
|
<% end %>
|
||||||
<span id="xhr_poll_status" style="display:none" onclick="XHR.running() ? XHR.halt() : XHR.run()">
|
<span id="xhr_poll_status" style="display:none" onclick="XHR.running() ? XHR.halt() : XHR.run()">
|
||||||
| <%:Auto Refresh%>:
|
| <%:Auto Refresh%>:
|
||||||
|
28
package/gluon-luci-theme/luasrc/usr/lib/lua/gluon/luci.lua
Normal file
28
package/gluon-luci-theme/luasrc/usr/lib/lua/gluon/luci.lua
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
-- Config mode utility functions
|
||||||
|
|
||||||
|
local string = string
|
||||||
|
|
||||||
|
module 'gluon.luci'
|
||||||
|
|
||||||
|
function escape(s)
|
||||||
|
return (string.gsub(s, '[<>&"]', {
|
||||||
|
['<'] = '<',
|
||||||
|
['>'] = '>',
|
||||||
|
['&'] = '&',
|
||||||
|
['"'] = '"',
|
||||||
|
}))
|
||||||
|
end
|
||||||
|
|
||||||
|
function urlescape(s)
|
||||||
|
return (string.gsub(s, '[^a-zA-Z0-9%-_%.~]',
|
||||||
|
function(c)
|
||||||
|
local ret = ''
|
||||||
|
|
||||||
|
for i = 1, string.len(c) do
|
||||||
|
ret = ret .. string.format('%%%02X', string.byte(c, i, i))
|
||||||
|
end
|
||||||
|
|
||||||
|
return ret
|
||||||
|
end
|
||||||
|
))
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user