+ render_menu(prefix .. "/" .. selected_name, selected_node, level + 1)
+ end
+
+ write('</div>')
+ end
+ end
+
+ local function render_changes()
+ if tree.nodes[category] and tree.nodes[category].ucidata then
+ local ucic = 0
+ for i, j in pairs(require("luci.model.uci").cursor():changes()) do
+ for k, l in pairs(j) do
+ for m, n in pairs(l) do
+ ucic = ucic + 1;
+ end
+ end
+ end
+
+ if ucic > 0 then
+ write('<div id="savemenu" class="uci_change_indicator"><a class="warning" href="%s?redir=%s">%s: %d</a></div>' %{
+ url(category, 'uci/changes'),
+ http.urlencode(http.formvalue('redir') or table.concat(disp.context.request, "/")),
+ translate('Unsaved Changes'),
+ ucic
+ })