diff options
-rw-r--r-- | Makefile | 17 | ||||
-rwxr-xr-x | contrib/index.cgi | 2 | ||||
-rw-r--r-- | contrib/media/cascade.css | 138 | ||||
-rw-r--r-- | contrib/media/logo.png | bin | 0 -> 4002 bytes | |||
-rw-r--r-- | contrib/package/ffluci/Makefile | 2 | ||||
-rw-r--r-- | examples/ffluci/controller/admin/index.lua (renamed from src/ffluci/controller/admin/index.lua) | 0 | ||||
-rw-r--r-- | examples/ffluci/controller/public/example-action.lua (renamed from src/ffluci/controller/public/example-action.lua) | 0 | ||||
-rw-r--r-- | examples/ffluci/controller/public/example-simpleview.lua (renamed from src/ffluci/controller/public/example-simpleview.lua) | 0 | ||||
-rw-r--r-- | examples/ffluci/controller/public/index.lua (renamed from src/ffluci/controller/public/index.lua) | 0 | ||||
-rwxr-xr-x | examples/ffluci/view/example-simpleview/foo.htm (renamed from src/ffluci/view/example-simpleview/foo.htm) | 0 | ||||
-rwxr-xr-x | examples/ffluci/view/example-simpleview/index.htm (renamed from src/ffluci/view/example-simpleview/index.htm) | 0 | ||||
-rw-r--r-- | examples/ffluci/view/hello.htm (renamed from src/ffluci/view/hello.htm) | 0 | ||||
-rw-r--r-- | src/ffluci/template.lua | 4 | ||||
-rw-r--r-- | src/ffluci/view/footer.htm | 6 | ||||
-rw-r--r-- | src/ffluci/view/header.htm | 59 | ||||
-rw-r--r-- | src/ffluci/view/menu.htm | 25 |
16 files changed, 213 insertions, 40 deletions
@@ -12,16 +12,25 @@ DIRECTORIES = dist/ffluci/model dist/ffluci/controller/public dist/ffluci/contro INFILES = $(CFILES:%=src/%) OUTFILE = ffluci/init.lua +.PHONY: all dist-compile dist-source examples-compile examples-source dist examples compile source clean + all: compile -dist-compile: compile examples -dist-source: source examples +dist-compile: compile dist +dist-source: source dist -examples: +examples-compile: compile examples +examples-source: source examples + + +dist: cp src/ffluci/controller/public/* dist/ffluci/controller/public/ cp src/ffluci/controller/admin/* dist/ffluci/controller/admin/ cp src/ffluci/i18n/* dist/ffluci/i18n/ cp src/ffluci/view/* dist/ffluci/view/ -R + +examples: + cp examples/* dist/ -R compile: mkdir -p $(DIRECTORIES) @@ -34,7 +43,5 @@ source: for i in $(CFILES); do cp src/$$i dist/$$i; done for i in $(FILES); do cp src/$$i dist/$$i; done - -.PHONY: clean clean: rm dist -rf diff --git a/contrib/index.cgi b/contrib/index.cgi index 429b4c3b02..31705ccf27 100755 --- a/contrib/index.cgi +++ b/contrib/index.cgi @@ -1,3 +1,3 @@ #!/usr/bin/haserl --shell=luac print("Status: 302 Found") -print("Location: /cgi-bin/ffluci\n") +print("Location: ffluci\n") diff --git a/contrib/media/cascade.css b/contrib/media/cascade.css new file mode 100644 index 0000000000..143b93ba29 --- /dev/null +++ b/contrib/media/cascade.css @@ -0,0 +1,138 @@ +body { + font-family: Verdana, Arial, sans-serif; + background-color: #aaaaaa; +} + +#header { + padding: 0.2em; + height: 4.5em; + background-color: #262626; +} + +#columns { + border-left: 10.1em solid #262626; + border-right: 10.1em solid #262626; + display: block; + background-color: white; + padding: 0.1em; +} + +#columnswrapper { + display: block; + margin-left: -10em; + margin-right: -10em; +} + +#content { + margin-left: 10em; + margin-right: 10em; + display: block; + position: relative; + padding: 2px; +} + +.headerlogo { + height: 4em; + padding: 5px; +} + +.headerlogo img { + height: 100%; +} + +.headertitle { + font-size: 2.4em; + color: gray; + letter-spacing: 0.5em; + text-transform: lowercase; +} + +.separator { + padding-left: 0.25em; + font-weight: bold; + font-size: 0.8em; + line-height: 1.4em; +} + +.whitetext { + color: white; +} + +.yellowtext { + color: #ffcb05; +} + +.magentatext { + color: #dc0065; +} + +.inheritcolor { + color: inherit; +} + +.smalltext { + font-size: 0.8em; +} + +.yellow { + background-color: #ffcb05; +} + +.magenta { + background-color: #dc0065; +} + +.nodeco { + text-decoration: none; +} + +.redhover:hover { + color: red; +} + +.bold { + font-weight: bold; +} + +.sidebar { + position: relative; + padding: 0.25em; + color: gray; + width: 9em; + font-weight: bold; +} + +.separator a, .sidebar a { + color: inherit; + text-decoration: inherit; +} + +.separator a:hover, .sidebar a:hover { + color: red; +} + +.sidebar div { + padding-bottom: 0.5em; +} + +.sidebar ul { + font-size: 0.8em; + color: white; + list-style-type: none; + padding-left: 1em; + margin-top: 0%; +} + +.left { + float: left; + text-align: left; +} + +.right { + float: right; + text-align: right; +} + +.clear { + clear: both; +} diff --git a/contrib/media/logo.png b/contrib/media/logo.png Binary files differnew file mode 100644 index 0000000000..d4c5dd9a3f --- /dev/null +++ b/contrib/media/logo.png diff --git a/contrib/package/ffluci/Makefile b/contrib/package/ffluci/Makefile index 12e811d2c2..dab80be37c 100644 --- a/contrib/package/ffluci/Makefile +++ b/contrib/package/ffluci/Makefile @@ -34,7 +34,9 @@ endef define Package/ffluci/install $(INSTALL_DIR) $(1)/usr/lib/lua $(INSTALL_DIR) $(1)/www/cgi-bin + $(INSTALL_DIR) $(1)/www/ffluci $(CP) $(PKG_BUILD_DIR)/dist/* $(1)/usr/lib/lua/ -R + $(CP) $(PKG_BUILD_DIR)/contrib/media $(1)/www/ffluci/ -R $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/ffluci $(1)/www/cgi-bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/index.cgi $(1)/www/cgi-bin $(CP) -a ./ipkg/ffluci.postinst $(1)/CONTROL/postinst diff --git a/src/ffluci/controller/admin/index.lua b/examples/ffluci/controller/admin/index.lua index 9aec94c867..9aec94c867 100644 --- a/src/ffluci/controller/admin/index.lua +++ b/examples/ffluci/controller/admin/index.lua diff --git a/src/ffluci/controller/public/example-action.lua b/examples/ffluci/controller/public/example-action.lua index 538f5d9d05..538f5d9d05 100644 --- a/src/ffluci/controller/public/example-action.lua +++ b/examples/ffluci/controller/public/example-action.lua diff --git a/src/ffluci/controller/public/example-simpleview.lua b/examples/ffluci/controller/public/example-simpleview.lua index 61f4ad32cd..61f4ad32cd 100644 --- a/src/ffluci/controller/public/example-simpleview.lua +++ b/examples/ffluci/controller/public/example-simpleview.lua diff --git a/src/ffluci/controller/public/index.lua b/examples/ffluci/controller/public/index.lua index 4498c77edf..4498c77edf 100644 --- a/src/ffluci/controller/public/index.lua +++ b/examples/ffluci/controller/public/index.lua diff --git a/src/ffluci/view/example-simpleview/foo.htm b/examples/ffluci/view/example-simpleview/foo.htm index a0df536f16..a0df536f16 100755 --- a/src/ffluci/view/example-simpleview/foo.htm +++ b/examples/ffluci/view/example-simpleview/foo.htm diff --git a/src/ffluci/view/example-simpleview/index.htm b/examples/ffluci/view/example-simpleview/index.htm index ffe1ccf71d..ffe1ccf71d 100755 --- a/src/ffluci/view/example-simpleview/index.htm +++ b/examples/ffluci/view/example-simpleview/index.htm diff --git a/src/ffluci/view/hello.htm b/examples/ffluci/view/hello.htm index 8231b61f96..8231b61f96 100644 --- a/src/ffluci/view/hello.htm +++ b/examples/ffluci/view/hello.htm diff --git a/src/ffluci/template.lua b/src/ffluci/template.lua index 8c7f07f94a..3d64571690 100644 --- a/src/ffluci/template.lua +++ b/src/ffluci/template.lua @@ -39,7 +39,7 @@ viewdir = ffluci.fs.dirname(ffluci.util.__file__()) .. "view/" -- memory: Always compile, do not save compiled files, ignore precompiled -- always: Same as "memory" but also saves compiled files -- smart: Compile on demand, save compiled files, update precompiled -compiler_mode = "smart" +compiler_mode = "memory" -- This applies to compiler modes "always" and "smart" @@ -186,4 +186,4 @@ function render(name, scope) -- Now finally render the thing return view() -end
\ No newline at end of file +end diff --git a/src/ffluci/view/footer.htm b/src/ffluci/view/footer.htm index 17c7245b64..c43cbb7e42 100644 --- a/src/ffluci/view/footer.htm +++ b/src/ffluci/view/footer.htm @@ -1,3 +1,7 @@ -</div> + </div> + <div class="clear"></div> +</div></div> + +<div class="separator magenta bold">FFLuCI 0.1 - Freifunk Lua Configuration Interface</div> </body> </html>
\ No newline at end of file diff --git a/src/ffluci/view/header.htm b/src/ffluci/view/header.htm index f47388a424..2c0836be5b 100644 --- a/src/ffluci/view/header.htm +++ b/src/ffluci/view/header.htm @@ -1,9 +1,56 @@ -<% require("ffluci.http").htmlheader() %> -<html> +<% +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> -<title>FFLuCI Examples</title> +<link rel="stylesheet" type="text/css" href="<%=media%>/cascade.css" /> +<title>FFLuCI</title> </head> <body> -<h1>FFLuCI</h1> -<%+menu%> -<div id="content">
\ No newline at end of file +<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 average: 1.00 2.00 3.00<br /> + 1.2.3.4 - host1 + </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%>"><%=req.category%></a> +» <a href="<%=controller .. "/" .. req.category .. "/" .. req.module %>"><%=req.module%></a> +» <a href="<%=controller .. "/" .. req.category .. "/" .. req.module .. "/" .. 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 Public%></a></li> + <li<% if "admin" == req.category then %> class="yellowtext"<% end %>><a href="<%=controller%>/admin"><%:admin Admin%></a></li> + </ul> + </div> + <% if "admin" == req.category then %> + <div>Konfiguration<ul><li>x Änderungen</li><li>Anwenden</li><li>Zurücksetzen</li></ul></div> + <% end %> + </div> + <div id="content"> diff --git a/src/ffluci/view/menu.htm b/src/ffluci/view/menu.htm deleted file mode 100644 index 8d5c597cf7..0000000000 --- a/src/ffluci/view/menu.htm +++ /dev/null @@ -1,25 +0,0 @@ -<% -local req = require("ffluci.dispatcher").request -local menu = require("ffluci.menu").get()[req.category] -local menu_module = nil -require("ffluci.i18n").loadc("default") -%> -<div id="menu" style="font-size: 0.8em; padding-bottom: 20px"> - <div id="menu_categories"> - <span style="<% if "public" == req.category then write("font-weight: bold") end %>"><a href="<%=controller%>/public"><%:public Public%></a></span> - <span style="<% if "admin" == req.category then write("font-weight: bold") end %>"><a href="<%=controller%>/admin"><%:admin Admin%></a></span> - </div> - <div id="menu_modules"> -<% for k,v in pairs(menu) do -if v[".contr"] == req.module then menu_module = v end %> - <span style="<% if v[".contr"] == req.module then write("font-weight: bold") end %>"><a href="<%=controller.."/"..req.category.."/"..v[".contr"]%>"><%=translate(v[".contr"], v[".descr"])%></a></span> -<% end %> - </div> -<% if menu_module then %> - <div id="menu_actions"> -<% for k,v in ipairs(menu_module) do %> - <span style="<% if v.action == req.action then write("font-weight: bold") end %>"><a href="<%=controller.."/"..req.category.."/"..req.module.."/"..v.action%>"><%=translate(v.action, v.descr)%></a></span> -<% end %> - </div> -<% end %> -</div> |