2 Copyright 2010 Jo-Philipp Wich <jow@openwrt.org>
3 Licensed to the public under the Apache License 2.0.
6 <% export("uci_changelog", function(changes) -%>
7 <fieldset class="cbi-section">
8 <strong><%:Legend:%></strong>
9 <div class="uci-change-legend">
10 <div class="uci-change-legend-label"><ins> </ins> <%:Section added%></div>
11 <div class="uci-change-legend-label"><del> </del> <%:Section removed%></div>
12 <div class="uci-change-legend-label"><var><ins> </ins></var> <%:Option changed%></div>
13 <div class="uci-change-legend-label"><var><del> </del></var> <%:Option removed%></div>
14 <br style="clear:both" />
18 <div class="uci-change-list"><%
19 local util = luci.util
22 for r, tbl in pairs(changes) do
23 for s, os in pairs(tbl) do
25 if os['.type'] and os['.type'] ~= "" then
26 ret[#ret+1] = "<ins>%s.%s=<strong>%s</strong>" %{ r, s, os['.type'] }
27 for o, v in util.kspairs(os) do
28 if o:sub(1,1) ~= "." then
29 if type(v) == "table" then
32 ret[#ret+1] = "<br />%s.%s.%s+=<strong>%s</strong>"
33 %{ r, s, o, util.pcdata(v[i]) }
36 ret[#ret+1] = "<br />%s.%s.%s=<strong>%s</strong>"
37 %{ r, s, o, util.pcdata(v) }
41 ret[#ret+1] = "</ins><br />"
44 elseif os['.type'] and os['.type'] == "" then
45 ret[#ret+1] = "<del>%s.<strong>%s</strong></del><br />" %{ r, s }
49 ret[#ret+1] = "<var>%s.%s<br />" %{ r, s }
50 for o, v in util.kspairs(os) do
51 if o:sub(1,1) ~= "." then
54 if type(v) == "table" then
57 ret[#ret+1] = "%s.%s.%s+=<strong>%s</strong><br />"
58 %{ r, s, o, util.pcdata(v[i]) }
62 ret[#ret+1] = "%s.%s.%s=<strong>%s</strong><br />"
63 %{ r, s, o, util.pcdata(v) }
65 ret[#ret+1] = "</ins>"
67 ret[#ret+1] = "<del>%s.%s.<strong>%s</strong><br /></del>" %{ r, s, o }
71 ret[#ret+1] = "</var><br />"
76 write(table.concat(ret))