--- /dev/null
+<%+cbi/valueheader%>
+
+<%-
+ local utl = require "luci.util"
+ local fwm = require "luci.model.firewall".init()
+ local nwm = require "luci.model.network".init()
+
+ local zone, fwd, fz
+ local value = self:formvalue(section)
+ if not value or value == "-" then
+ value = self:cfgvalue(section) or self.default
+ end
+
+ local def = fwm:get_defaults()
+ local zone = fwm:get_zone(value)
+ local empty = true
+-%>
+
+<% if zone then %>
+<div style="white-space:nowrap">
+ <label class="zonebadge" style="background-color:<%=zone:get_color()%>">
+ <strong><%=zone:name()%>:</strong>
+ <%-
+ local zempty = true
+ for _, net in ipairs(zone:get_networks()) do
+ net = nwm:get_network(net)
+ if net then
+ zempty = false
+ -%>
+ <span class="ifacebadge<% if net:name() == self.network then %> ifacebadge-active<% end %>"><%=net:name()%>:
+ <%
+ local nempty = true
+ for _, iface in ipairs(net:is_bridge() and net:get_interfaces() or { net:get_interface() }) do
+ nempty = false
+ %>
+ <img<%=attr("title", iface:get_i18n())%> style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" />
+ <% end %>
+ <% if nempty then %><em><%:(empty)%></em><% end %>
+ </span>
+ <%- end end -%>
+ <%- if zempty then %><em><%:(empty)%></em><% end -%>
+ </label>
+  ⇒ 
+ <% for _, fwd in ipairs(zone:get_forwardings_by("src")) do
+ fz = fwd:dest_zone()
+ empty = false %>
+ <label class="zonebadge" style="background-color:<%=fz:get_color()%>">
+ <strong><%=fz:name()%></strong>
+ </label> 
+ <% end %>
+ <% if empty then %>
+ <label class="zonebadge zonebadge-empty">
+ <strong><%=zone:forward():upper()%></strong>
+ </label>
+ <% end %>
+</div>
+<% end %>
+
+<%+cbi/valuefooter%>