(no commit message)
authorSteven Barth <steven@midlink.org>
Fri, 11 Apr 2008 18:29:19 +0000 (18:29 +0000)
committerSteven Barth <steven@midlink.org>
Fri, 11 Apr 2008 18:29:19 +0000 (18:29 +0000)
17 files changed:
core/src/ffluci/view/cbi/dvalue.htm [new file with mode: 0644]
core/src/ffluci/view/cbi/footer.htm [new file with mode: 0644]
core/src/ffluci/view/cbi/fvalue.htm [new file with mode: 0644]
core/src/ffluci/view/cbi/header.htm [new file with mode: 0644]
core/src/ffluci/view/cbi/lvalue.htm [new file with mode: 0644]
core/src/ffluci/view/cbi/map.htm [new file with mode: 0644]
core/src/ffluci/view/cbi/mvalue.htm [new file with mode: 0644]
core/src/ffluci/view/cbi/nsection.htm [new file with mode: 0644]
core/src/ffluci/view/cbi/tsection.htm [new file with mode: 0644]
core/src/ffluci/view/cbi/ucisection.htm [new file with mode: 0644]
core/src/ffluci/view/cbi/value.htm [new file with mode: 0644]
core/src/ffluci/view/cbi/valuefooter.htm [new file with mode: 0644]
core/src/ffluci/view/cbi/valueheader.htm [new file with mode: 0644]
core/src/ffluci/view/error404.htm [new file with mode: 0644]
core/src/ffluci/view/error500.htm [new file with mode: 0644]
core/src/ffluci/view/footer.htm [new file with mode: 0644]
core/src/ffluci/view/header.htm [new file with mode: 0644]

diff --git a/core/src/ffluci/view/cbi/dvalue.htm b/core/src/ffluci/view/cbi/dvalue.htm
new file mode 100644 (file)
index 0000000..178f2e1
--- /dev/null
@@ -0,0 +1,12 @@
+<%+cbi/valueheader%>
+<% if self.value then
+       if type(self.value) == "function" then %>
+       <%=self:value(section)%>
+<% else %>
+       <%=self.value%>
+<%     end
+else %>
+       <%=(self:cfgvalue(section) or "")%>
+<% end %>
+&nbsp;
+<%+cbi/valuefooter%>
diff --git a/core/src/ffluci/view/cbi/footer.htm b/core/src/ffluci/view/cbi/footer.htm
new file mode 100644 (file)
index 0000000..2acf710
--- /dev/null
@@ -0,0 +1,7 @@
+                       <div>
+                               <input type="submit" value="<%:save Speichern%>" />
+                               <input type="reset" value="<%:reset Zurücksetzen%>" />
+                               <script type="text/javascript">cbi_d_init();</script>
+                       </div>
+               </form>
+<%+footer%>
\ No newline at end of file
diff --git a/core/src/ffluci/view/cbi/fvalue.htm b/core/src/ffluci/view/cbi/fvalue.htm
new file mode 100644 (file)
index 0000000..b609f1d
--- /dev/null
@@ -0,0 +1,3 @@
+<%+cbi/valueheader%>
+                                                               <input onchange="cbi_d_update(this.id)" type="checkbox" id="cbid.<%=self.config.."."..section.."."..self.option%>" name="cbid.<%=self.config.."."..section.."."..self.option%>"<% if self:cfgvalue(section) == self.enabled then %> checked="checked"<% end %> value="1" />
+<%+cbi/valuefooter%>
\ No newline at end of file
diff --git a/core/src/ffluci/view/cbi/header.htm b/core/src/ffluci/view/cbi/header.htm
new file mode 100644 (file)
index 0000000..20b4aac
--- /dev/null
@@ -0,0 +1,7 @@
+<%+header%>
+               <form method="post" action="<%=os.getenv("REQUEST_URI")%>">
+                       <div>
+                               <script type="text/javascript" src="<%=media%>/cbi.js"></script>
+                               <input type="hidden" name="cbi.submit" value="1" />
+                               <input type="submit" value="<%:cbi_save Speichern%>" class="hidden" />
+                       </div>
diff --git a/core/src/ffluci/view/cbi/lvalue.htm b/core/src/ffluci/view/cbi/lvalue.htm
new file mode 100644 (file)
index 0000000..f1ae5a0
--- /dev/null
@@ -0,0 +1,16 @@
+<%+cbi/valueheader%>
+<% if self.widget == "select" then %>
+                                                               <select onchange="cbi_d_update(this.id)" id="cbid.<%=self.config.."."..section.."."..self.option%>" name="cbid.<%=self.config.."."..section.."."..self.option%>"<% if self.size then %> size="<%=self.size%>"<% end %>>
+<%for i, key in pairs(self.keylist) do%>
+                                                                       <option<% if self:cfgvalue(section) == key then %> selected="selected"<% end %> value="<%=key%>"><%=self.vallist[i]%></option>
+<% end %>
+                                                               </select>
+<% elseif self.widget == "radio" then
+       local c = 0;
+       for i, key in pairs(self.keylist) do
+       c = c + 1%>
+                                                               <%=self.vallist[i]%><input type="radio" name="cbid.<%=self.config.."."..section.."."..self.option%>"<% if self:cfgvalue(section) == key then %> checked="checked"<% end %> value="<%=key%>" />
+<% if c == self.size then c = 0 %><br />
+<% end end %>
+<% end %>
+<%+cbi/valuefooter%>
\ No newline at end of file
diff --git a/core/src/ffluci/view/cbi/map.htm b/core/src/ffluci/view/cbi/map.htm
new file mode 100644 (file)
index 0000000..83c377f
--- /dev/null
@@ -0,0 +1,7 @@
+                       <div class="cbi-map" id="cbi-<%=self.config%>">
+                               <h1><%=self.title%></h1>
+                               <div class="cbi-map-descr"><%=self.description%></div>
+                               <br />
+<% self:render_children() %>
+                               <br />
+                       </div>
diff --git a/core/src/ffluci/view/cbi/mvalue.htm b/core/src/ffluci/view/cbi/mvalue.htm
new file mode 100644 (file)
index 0000000..97a1c42
--- /dev/null
@@ -0,0 +1,19 @@
+<%
+local v = self:valuelist(section)      
+%>
+<%+cbi/valueheader%>
+<% if self.widget == "select" then %>
+                                                               <select multiple="multiple" name="cbid.<%=self.config.."."..section.."."..self.option%>[]"<% if self.size then %> size="<%=self.size%>"<% end %>>
+<%for i, key in pairs(self.keylist) do %>
+                                                                       <option<% if ffluci.util.contains(v, key) then %> selected="selected"<% end %> value="<%=key%>"><%=self.vallist[i]%></option>
+<% end %>
+                                                               </select>
+<% elseif self.widget == "checkbox" then
+       local c = 0;
+       for i, key in pairs(self.keylist) do
+       c = c + 1%>
+                                                               <%=self.vallist[i]%><input type="checkbox" name="cbid.<%=self.config.."."..section.."."..self.option%>[]"<% if ffluci.util.contains(v, key) then %> checked="checked"<% end %> value="<%=key%>" />
+<% if c == self.size then c = 0 %><br />
+<% end end %>
+<% end %>
+<%+cbi/valuefooter%>
\ No newline at end of file
diff --git a/core/src/ffluci/view/cbi/nsection.htm b/core/src/ffluci/view/cbi/nsection.htm
new file mode 100644 (file)
index 0000000..9c54a99
--- /dev/null
@@ -0,0 +1,17 @@
+<% if self:cfgvalue(self.section) then
+section = self.section %>
+                               <div class="cbi-section" id="cbi-<%=self.config%>-<%=section%>">
+                                       <h2><%=self.title%></h2>
+                                       <div class="cbi-section-descr"><%=self.description%></div>
+                                       <% if self.addremove then %><div class="cbi-section-remove">
+                                               <input type="submit" name="cbi.rns.<%=self.config%>.<%=section%>" value="<%:cbi_del Eintrag entfernen%>" />
+                                       </div><% end %>
+<%+cbi/ucisection%>
+                               </div>
+<% elseif self.addremove then %>
+                               <div class="cbi-section" id="cbi-<%=self.config%>-<%=self.section%>">
+                                       <h2><%=self.title%></h2>
+                                       <div class="cbi-section-descr"><%=self.description%></div>
+                                       <input type="submit" name="cbi.cns.<%=self.config%>.<%=self.section%>" value="<%:cbi_cns Eintrag anlegen%>" />
+                               </div>
+<% end %>
diff --git a/core/src/ffluci/view/cbi/tsection.htm b/core/src/ffluci/view/cbi/tsection.htm
new file mode 100644 (file)
index 0000000..8da0b4a
--- /dev/null
@@ -0,0 +1,22 @@
+                               <div class="cbi-section" id="cbi-<%=self.config%>-<%=self.sectiontype%>">
+                                       <h2><%=self.title%></h2>
+                                       <div class="cbi-section-descr"><%=self.description%></div>
+<% for k, v in pairs(self:cfgsections()) do%>
+                                               <% if self.addremove then %><div class="cbi-section-remove right">
+                                                       <input type="submit" name="cbi.rts.<%=self.config%>.<%=k%>" value="<%:cbi_del Eintrag entfernen%>" />
+                                               </div><% end %>
+                                               <% if not self.anonymous then %><h3><%=k%></h3><% end %>
+<% section = k %>
+<%+cbi/ucisection%>
+<% end %>
+<% if self.addremove then %>
+                                       <div class="cbi-section-create">
+                                               <% if self.anonymous then %>
+                                                       <input type="submit" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" value="<%:cbi_add Eintrag hinzufügen%>" />
+                                               <% else %>
+                                                       <input type="text" class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" />
+                                                       <input type="submit" value="<%:cbi_add Eintrag hinzufügen%>" />
+                                               <% end %><% if self.err_invalid then %><div class="cbi-error"><%:cbi_invalid Fehler: Ungültige Eingabe%></div><% end %>
+                                       </div>
+<% end %>
+                               </div>
diff --git a/core/src/ffluci/view/cbi/ucisection.htm b/core/src/ffluci/view/cbi/ucisection.htm
new file mode 100644 (file)
index 0000000..ef1b6cb
--- /dev/null
@@ -0,0 +1,23 @@
+                                       <fieldset class="cbi-section-node" id="cbi-<%=self.config%>-<%=section%>">
+<% self:render_children(section) %>
+                                               <% if #self.optionals[section] > 0 or self.dynamic then %>
+                                                       <div class="cbi-optionals">
+                                                       <% if self.dynamic then %>
+                                                               <input type="text" name="cbi.opt.<%=self.config%>.<%=section%>" />
+                                                       <% else %>
+                                                               <select name="cbi.opt.<%=self.config%>.<%=section%>">
+                                                                       <option><%:cbi_addopt -- Feld --%></option>
+                                                               <% for key, val in pairs(self.optionals[section]) do %>
+                                                                       <option id="cbi-<%=self.config.."-"..section.."-"..val.option%>" value="<%=val.option%>"><%=val.title%></option>
+                                                               <% end %>
+                                                               </select>
+                                                               <script type="text/javascript"><% for key, val in pairs(self.optionals[section]) do %>
+                                                                       <% if #val.deps > 0 then %><% for j, d in ipairs(val.deps) do %>cbi_d_add("cbi-<%=self.config.."-"..section.."-"..val.option%>", "cbid.<%=self.config.."."..section.."."..d.field%>", "<%=d.value%>");
+                                                               <% end %><% end %>
+                                                               <% end %></script>
+                                                       <% end %>
+                                                               <input type="submit" value="<%:add hinzufügen%>" />
+                                                       </div>
+                                               <% end %>
+                                       </fieldset>
+                                       <br />
\ No newline at end of file
diff --git a/core/src/ffluci/view/cbi/value.htm b/core/src/ffluci/view/cbi/value.htm
new file mode 100644 (file)
index 0000000..61033a0
--- /dev/null
@@ -0,0 +1,3 @@
+<%+cbi/valueheader%>
+                                                               <input type="text" onchange="cbi_d_update(this.id)" <% if self.size then %>size="<%=self.size%>" <% end %><% if self.maxlength then %>maxlength="<%=self.maxlength%>" <% end %>name="cbid.<%=self.config.."."..section.."."..self.option%>" id="cbid.<%=self.config.."."..section.."."..self.option%>" value="<%=(self:cfgvalue(section) or "")%>" />
+<%+cbi/valuefooter%>
diff --git a/core/src/ffluci/view/cbi/valuefooter.htm b/core/src/ffluci/view/cbi/valuefooter.htm
new file mode 100644 (file)
index 0000000..3f92f09
--- /dev/null
@@ -0,0 +1,8 @@
+                                                               <div class="cbi-value-description inline"><%=self.description%></div>
+                                                       </div>
+                                                       <% if self.tag_invalid[section] then %><div class="cbi-error"><%:cbi_invalid Fehler: Ungültige Eingabe%></div><% end %>
+                                               </div>
+                                               <% if #self.deps > 0 then %><script type="text/javascript">
+                                                       <% for j, d in ipairs(self.deps) do %>cbi_d_add("cbi-<%=self.config.."-"..section.."-"..self.option%>", "cbid.<%=self.config.."."..section.."."..d.field%>", "<%=d.value%>");
+                                                       <% end %>
+                                               </script><% end %>
\ No newline at end of file
diff --git a/core/src/ffluci/view/cbi/valueheader.htm b/core/src/ffluci/view/cbi/valueheader.htm
new file mode 100644 (file)
index 0000000..86c782d
--- /dev/null
@@ -0,0 +1,3 @@
+                                               <div class="cbi-value clear" id="cbi-<%=self.config.."-"..section.."-"..self.option%>">
+                                                       <div class="cbi-value-title left"><%=self.title%></div>
+                                                       <div class="cbi-value-field">
\ No newline at end of file
diff --git a/core/src/ffluci/view/error404.htm b/core/src/ffluci/view/error404.htm
new file mode 100644 (file)
index 0000000..adc671d
--- /dev/null
@@ -0,0 +1,5 @@
+<%+header%>
+<h1>404 Not Found</h1>
+<p>Sorry, the object you requested was not found.</p>
+<tt>Unable to dispatch: <%=os.getenv("PATH_INFO")%></tt>
+<%+footer%>
\ No newline at end of file
diff --git a/core/src/ffluci/view/error500.htm b/core/src/ffluci/view/error500.htm
new file mode 100644 (file)
index 0000000..8af22e8
--- /dev/null
@@ -0,0 +1,5 @@
+<%+header%>
+<h1>500 Internal Server Error</h1>
+<p>Sorry, the server encountered an unexpected error.</p>
+<tt><%=message%></tt>
+<%+footer%>
\ No newline at end of file
diff --git a/core/src/ffluci/view/footer.htm b/core/src/ffluci/view/footer.htm
new file mode 100644 (file)
index 0000000..8d48c5f
--- /dev/null
@@ -0,0 +1,7 @@
+       </div>
+       <div class="clear"></div>
+</div></div>
+
+<div class="separator magenta bold">FFLuCI 0.2 - Freifunk Lua Configuration Interface</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/core/src/ffluci/view/header.htm b/core/src/ffluci/view/header.htm
new file mode 100644 (file)
index 0000000..40d54f5
--- /dev/null
@@ -0,0 +1,78 @@
+<%
+require("ffluci.sys")
+local load1, load5, load15 = ffluci.sys.loadavg()
+local req  = require("ffluci.dispatcher").request
+local menu = require("ffluci.menu").get()[req.category]
+require("ffluci.i18n").loadc("default")
+require("ffluci.http").htmlheader()
+%><?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <link rel="stylesheet" type="text/css" href="<%=media%>/cascade.css" />
+       <link rel="stylesheet" type="text/css" href="<%=media%>/css/<%=req.category%>_<%=req.module%>.css" />
+       <meta http-equiv="content-type" content="text/xhtml+xml; charset=utf-8" />
+       <meta http-equiv="content-script-type" content="text/javascript" />
+       <title>FFLuCI</title>
+</head>
+<body>
+<div id="header">
+       <div class="headerlogo left"><img src="<%=media%>/logo.png" alt="Freifunk" /></div>
+       <div class="whitetext smalltext right">
+       OpenWRT Kamikaze<br />
+       Freifunk Firmware 2.0-dev<br />
+       <%:load Last%>: <%=load1%> <%=load5%> <%=load15%><br />
+       <%:hostname Hostname%>: <%=ffluci.sys.hostname()%> 
+       </div>
+       <div>
+               <span class="headertitle">Freifunk Kamikaze</span><br />
+               <span class="whitetext bold"><%:batmanedition Fledermausedition%></span>
+       </div>
+</div>
+
+<div class="separator yellow bold">
+<%:path Pfad%>: <a href="<%=controller .. "/" .. req.category%>"><%=translate(req.category, req.category)%></a>
+&#187; <a href="<%=controller .. "/" .. req.category .. "/" .. req.module %>"><%=translate(req.module, req.module)%></a>
+&#187; <a href="<%=controller .. "/" .. req.category .. "/" .. req.module .. "/" .. req.action %>"><%=translate(req.action, req.action)%></a>
+</div>
+
+<div id="columns"><div id="columnswrapper">
+       <div class="sidebar left">
+       <% for k,v in pairs(menu) do %>
+           <div<% if v[".contr"] == req.module then %> class="yellowtext"<% end %>><a href="<%=controller.."/"..req.category.."/"..v[".contr"]%>"><%=translate(v[".contr"], v[".descr"])%></a><%
+           if v[".contr"] == req.module then %>
+               <ul><% for key,val in ipairs(v) do %>
+                       <li<% if val.action == req.action then %> class="yellowtext"<% end %>><a href="<%=controller.."/"..req.category.."/"..req.module.."/"..val.action%>"><%=translate(val.action, val.descr)%></a></li>
+               <% end %></ul>
+           <% end %></div>
+       <% end %>
+       </div>
+       <div class="sidebar right">
+               <div><%:webif Weboberfläche%>
+                       <ul>
+                               <li<% if "public" == req.category then %> class="yellowtext"<% end %>><a href="<%=controller%>/public"><%:public Öffentlich%></a></li>
+                               <li<% if "admin" == req.category then %> class="yellowtext"<% end %>><a href="<%=controller%>/admin"><%:admin Verwaltung%></a></li>
+                       </ul>
+               </div>
+               <%
+                       if "admin" == req.category then
+                               require("ffluci.model.uci") 
+                               local ucic = ffluci.model.uci.changes()
+                               if ucic then
+                                       ucic = #ffluci.util.split(ucic)
+                               end
+               %>
+               <div><%:config Konfiguration%>
+                       <ul>
+                       <% if ucic then %>
+                               <li><a href="<%=controller%>/admin/uci/changes"><%:changes Änderungen:%> <%=ucic%></a></li>
+                               <li><a href="<%=controller%>/admin/uci/apply"><%:apply Anwenden%></a></li>
+                               <li><a href="<%=controller%>/admin/uci/revert"><%:revert Verwerfen%></a></li>
+                       <% else %>
+                               <li><%:changes Änderungen: %> 0</li>
+                       <% end %>
+                       </ul>
+               </div>
+               <% end %>
+       </div>
+       <div id="content">
\ No newline at end of file