--- /dev/null
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2010 Jo-Philipp Wich <xm@subsignal.org>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+-%>
+
+<% export("uci_changelog", function(changes) -%>
+<fieldset class="cbi-section">
+ <strong><%:Legend:%></strong>
+ <div class="uci-change-legend">
+ <div class="uci-change-legend-label"><ins> </ins> <%:Section added%></div>
+ <div class="uci-change-legend-label"><del> </del> <%:Section removed%></div>
+ <div class="uci-change-legend-label"><var><ins> </ins></var> <%:Option changed%></div>
+ <div class="uci-change-legend-label"><var><del> </del></var> <%:Option removed%></div>
+ <br style="clear:both" />
+ </div>
+ <br />
+
+ <div class="uci-change-list"><%
+ local util = luci.util
+ local ret = { }
+
+ for r, tbl in pairs(changes) do
+ for s, os in pairs(tbl) do
+ -- section add
+ if os['.type'] and os['.type'] ~= "" then
+ ret[#ret+1] = "<ins>%s.%s=<strong>%s</strong>" %{ r, s, os['.type'] }
+ for o, v in util.kspairs(os) do
+ if o:sub(1,1) ~= "." then
+ if type(v) == "table" then
+ local i
+ for i = 1, #v do
+ ret[#ret+1] = "<br />%s.%s.%s+=<strong>%s</strong>"
+ %{ r, s, o, util.pcdata(v[i]) }
+ end
+ else
+ ret[#ret+1] = "<br />%s.%s.%s=<strong>%s</strong>"
+ %{ r, s, o, util.pcdata(v) }
+ end
+ end
+ end
+ ret[#ret+1] = "</ins><br />"
+
+ -- section delete
+ elseif os['.type'] and os['.type'] == "" then
+ ret[#ret+1] = "<del>%s.<strong>%s</strong></del><br />" %{ r, s }
+
+ -- modifications
+ else
+ ret[#ret+1] = "<var>%s.%s<br />" %{ r, s }
+ for o, v in util.kspairs(os) do
+ if o:sub(1,1) ~= "." then
+ if v and #v > 0 then
+ ret[#ret+1] = "<ins>"
+ if type(v) == "table" then
+ local i
+ for i = 1, #v do
+ ret[#ret+1] = "%s.%s.%s+=<strong>%s</strong><br />"
+ %{ r, s, o, util.pcdata(v[i]) }
+ end
+
+ else
+ ret[#ret+1] = "%s.%s.%s=<strong>%s</strong><br />"
+ %{ r, s, o, util.pcdata(v) }
+ end
+ ret[#ret+1] = "</ins>"
+ else
+ ret[#ret+1] = "<del>%s.%s.<strong>%s</strong><br /></del>" %{ r, s, o }
+ end
+ end
+ end
+ ret[#ret+1] = "</var><br />"
+ end
+ end
+ end
+
+ write(table.concat(ret))
+ %></div>
+</fieldset>
+<%- end) %>