2 LuCI - Lua Configuration Interface
3 Copyright 2008 Steven Barth <steven@midlink.org>
4 Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
10 http://www.apache.org/licenses/LICENSE-2.0
16 local bit = require "bit"
21 return (rowcnt % 2) + 1
24 function opkg_error(code)
25 code = bit.rshift(tonumber(code), 8)
27 'a_s_packages_code%i' % code,
28 '%s %i' % { translate('code'), code }
33 <h2><a id="content" name="content"><%:system%></a></h2>
34 <h3><%:a_s_packages%></h3>
38 <% if install or remove or update or upgrade then %>
39 <div class="code"><strong><%:status%>:</strong><br />
41 <%:a_s_packages_update%>: <% if update == 0 then %><span class="ok"><%:ok%></span><% else %><span class="error"><%:error%> (<%=opkg_error(update)%>)</span><% end %><br />
44 <%:a_s_packages_upgrade%>: <% if upgrade == 0 then %><span class="ok"><%:ok%></span><% else %><span class="error"><%:error%> (<%=opkg_error(upgrade)%>)</span><% end %><br />
46 <% if install then for k,v in pairs(install) do %>
47 <%:a_s_packages_install%> '<%=k%>': <% if v == 0 then %><span class="ok"><%:ok%></span><% else %><span class="error"><%:error%> (<%=opkg_error(v)%>)</span><% end %><br />
49 <% if remove then for k,v in pairs(remove) do %>
50 <%:a_s_packages_remove%> '<%=k%>': <% if v == 0 then %><span class="ok"><%:ok%></span><% else %><span class="error"><%:error%> (<%=opkg_error(v)%>)</span><% end %><br />
56 <form method="post" action="<%=REQUEST_URI%>">
58 <fieldset class="cbi-section">
60 <li><a href="<%=REQUEST_URI%>/ipkg"><%:a_s_packages_ipkg%></a></li>
61 <li><a href="<%=REQUEST_URI%>?update=1"><%:a_s_packages_updatelist%></a></li>
64 <fieldset class="cbi-section-node">
65 <div class="cbi-value">
66 <label class="cbi-value-title"><%:a_s_packages_installurl%>:</label>
67 <div class="cbi-value-field">
68 <input type="text" name="url" size="30" value="" />
69 <input class="cbi-input-save" type="submit" name="submit" value="<%:ok%>" />
73 <div class="cbi-value">
74 <label class="cbi-value-title"><%:filter%>:</label>
75 <div class="cbi-value-field">
76 <input type="text" name="query" size="20" value="<%=query%>" />
77 <input type="submit" class="cbi-input-find" name="search" value="<%:a_s_packages_search%>" />
81 <table class="cbi-section-table">
82 <tr class="cbi-section-table-titles">
83 <th class="cbi-section-table-cell"><%:a_s_packages_name%></th>
84 <th class="cbi-section-table-cell"><%:version%></th>
85 <th class="cbi-section-table-cell"><%:install%></th>
86 <th class="cbi-section-table-cell"><%:delete%></th>
87 <th class="cbi-section-table-cell"><%:descr%></th>
89 <% for k, pkg in pairs(pkgs) do %>
90 <tr class="cbi-section-table-row cbi-rowstyle-<%=rowstyle()%>">
91 <td><%=luci.util.pcdata(pkg.Package)%></td>
92 <td><%=luci.util.pcdata(pkg.Version)%></td>
93 <td><% if not pkg.Status or not pkg.Status.installed then %><input type="checkbox" name="install.<%=pkg.Package%>" value="1" /><% else %><%:installed%><% end %></td>
94 <td><% if pkg.Status and pkg.Status.installed then %><input type="checkbox" name="remove.<%=pkg.Package%>" value="1" /><% else %><%:notinstalled%><% end %></td>
95 <td><%=luci.util.pcdata(pkg.Description)%></td>
102 <div style="text-align: right">
103 <input type="submit" class="cbi-input-apply" name="submit" value="<%:a_s_packages_do%>" />
105 </fieldset></fieldset>