* libs/web: Added support for custom query strings
authorSteven Barth <steven@midlink.org>
Tue, 3 Jun 2008 18:02:53 +0000 (18:02 +0000)
committerSteven Barth <steven@midlink.org>
Tue, 3 Jun 2008 18:02:53 +0000 (18:02 +0000)
libs/web/luasrc/http.lua
themes/fledermaus/luasrc/view/themes/fledermaus/header.htm
themes/openwrt.org/luasrc/view/themes/openwrt.org/header.htm

index fa8821c5a32d9c6adf2ab6de395f37b1c7d1b329..68dad8f1ece7c1fe7e131087458ce9e0b6ba6911 100644 (file)
@@ -33,4 +33,14 @@ if ENV and ENV.HASERLVER then
        require("luci.sgi.haserl")
 elseif webuci then
        require("luci.sgi.webuci")
+end
+
+function build_querystring(table)
+       local s="?"
+       
+       for k, v in pairs(table) do
+               s = s .. k .. "=" .. v .. "&"
+       end
+       
+       return s
 end
\ No newline at end of file
index 99bd39924882b1bf0d440e5de22bca5677a40430..cb378555f1056b48c81241611bc6d197d62fbb60 100644 (file)
@@ -73,9 +73,12 @@ local function submenu(prefix, node)
 %>
        <ul>
        <% for j, v in pairs(index) do 
-               local nnode = node.nodes[v.name]%>
+               local nnode = node.nodes[v.name]
+               local href = controller .. prefix .. v.name
+               href = (v.query) and href .. luci.http.build_querystring(v.query) or href
+               %>
                <li>
-                       <span<% if nnode._menu_selected then %> class="yellowtext"<%end%>><a href="<%=controller .. prefix .. v.name%>"><%=nnode.title%></a></span>
+                       <span<% if nnode._menu_selected then %> class="yellowtext"<%end%>><a href="<%=href%>"><%=nnode.title%></a></span>
                        <% submenu(prefix .. v.name .. "/", nnode) %>
                </li>
        <% end %>
@@ -93,7 +96,9 @@ if cattree and cattree.nodes then
 
        for i, k in ipairs(index) do
                node = cattree.nodes[k.name]
-               if node.title then %>
+               if node.title then
+                       local href = controller.."/"..category.."/"..k.name
+                       href = (k.query) and href .. luci.http.build_querystring(k.query) or href %>
                        <div<% if node._menu_selected then %> class="yellowtext"<%end%>><a href="<%=controller%>/<%=category%>/<%=k.name%>"><%=node.title%></a>                 
                                <%submenu("/" .. category .. "/" .. k.name .. "/", node)%>
                        </div>
index 2ab67ecf4926b625b36fd969e2f4336c2c51b13b..4efde4a62c85d3a8bb8b1401e3b0228916f8f6ad 100644 (file)
@@ -73,9 +73,12 @@ local function submenu(prefix, node)
 %>
        <ul>
        <% for j, v in pairs(index) do 
-               local nnode = node.nodes[v.name]%>
+               local nnode = node.nodes[v.name]
+               local href = controller .. prefix .. v.name
+               href = (v.query) and href .. luci.http.build_querystring(v.query) or href
+               %>
                <li>
-                       <span<% if nnode._menu_selected then %> class="blacktext"<%end%>><a href="<%=controller .. prefix .. v.name%>"><%=nnode.title%></a></span>
+                       <span<% if nnode._menu_selected then %> class="blacktext"<%end%>><a href="<%=href%>"><%=nnode.title%></a></span>
                        <% submenu(prefix .. v.name .. "/", nnode) %>
                </li>
        <% end %>
@@ -93,8 +96,10 @@ if cattree and cattree.nodes then
 
        for i, k in ipairs(index) do
                node = cattree.nodes[k.name]
-               if node.title then %>
-                       <div<% if node._menu_selected then %> class="blacktext"<%end%>><a href="<%=controller%>/<%=category%>/<%=k.name%>"><%=node.title%></a>                  
+               if node.title then
+                       local href = controller.."/"..category.."/"..k.name
+                       href = (k.query) and href .. luci.http.build_querystring(k.query) or href %>
+                       <div<% if node._menu_selected then %> class="blacktext"<%end%>><a href="<%=href%>"><%=node.title%></a>                  
                                <%submenu("/" .. category .. "/" .. k.name .. "/", node)%>
                        </div>
 <%             end