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)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(GLUONDIR)/include/package.mk
|
||||
|
||||
|
||||
define Package/gluon-luci-theme
|
||||
@ -31,10 +31,12 @@ define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
|
||||
endef
|
||||
|
||||
define Package/gluon-luci-theme/install
|
||||
$(CP) ./files/* $(1)/
|
||||
$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,gluon-luci-theme))
|
||||
|
@ -17,6 +17,7 @@ $Id$
|
||||
local http = require "luci.http"
|
||||
local disp = require "luci.dispatcher"
|
||||
local fs = require "nixio.fs"
|
||||
local gluon_luci = require "gluon.luci"
|
||||
|
||||
local hostname = sys.hostname()
|
||||
local release = fs.readfile("/lib/gluon/release")
|
||||
@ -110,15 +111,15 @@ $Id$
|
||||
</style>
|
||||
<% end -%>
|
||||
<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>
|
||||
<body class="lang_<%=luci.i18n.context.lang%>">
|
||||
|
||||
<div id="menubar">
|
||||
<div class="hostinfo">
|
||||
<%=hostname%>
|
||||
<%=gluon_luci.escape(hostname)%>
|
||||
<% if release then %>
|
||||
/ <%=release%>
|
||||
/ <%=gluon_luci.escape(release)%>
|
||||
<% end %>
|
||||
<span id="xhr_poll_status" style="display:none" onclick="XHR.running() ? XHR.halt() : XHR.run()">
|
||||
| <%: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