diff options
author | Steven Barth <steven@midlink.org> | 2008-03-10 08:53:14 +0000 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2008-03-10 08:53:14 +0000 |
commit | 93a98dd13be5127871ff78d85e8199f2df77e9c2 (patch) | |
tree | 9873e6b279893a1f36ce4d361974fd2bd1219d59 /examples | |
parent | b827bb905aee48f3c4c8edf9cfc2e8fc9406ba68 (diff) |
Moved examples out of source directory
Added a first draft design
Cleaned up Makefile
Prepared for module development
Diffstat (limited to 'examples')
-rw-r--r-- | examples/ffluci/controller/admin/index.lua | 15 | ||||
-rw-r--r-- | examples/ffluci/controller/public/example-action.lua | 49 | ||||
-rw-r--r-- | examples/ffluci/controller/public/example-simpleview.lua | 27 | ||||
-rw-r--r-- | examples/ffluci/controller/public/index.lua | 32 | ||||
-rwxr-xr-x | examples/ffluci/view/example-simpleview/foo.htm | 3 | ||||
-rwxr-xr-x | examples/ffluci/view/example-simpleview/index.htm | 6 | ||||
-rw-r--r-- | examples/ffluci/view/hello.htm | 1 |
7 files changed, 133 insertions, 0 deletions
diff --git a/examples/ffluci/controller/admin/index.lua b/examples/ffluci/controller/admin/index.lua new file mode 100644 index 0000000000..9aec94c867 --- /dev/null +++ b/examples/ffluci/controller/admin/index.lua @@ -0,0 +1,15 @@ +module(..., package.seeall) + +function dispatcher(request) + require("ffluci.template").render("header") + print("Hello there, Mr. Administrator") + require("ffluci.template").render("footer") +end + +menu = { + descr = "Administrative", + order = 10, + entries = { + {action = "index", descr = "Hello"} + } +}
\ No newline at end of file diff --git a/examples/ffluci/controller/public/example-action.lua b/examples/ffluci/controller/public/example-action.lua new file mode 100644 index 0000000000..538f5d9d05 --- /dev/null +++ b/examples/ffluci/controller/public/example-action.lua @@ -0,0 +1,49 @@ +-- This example demonstrates the action dispatcher which invokes +-- an appropriate action function named action_"action" + +-- This example consists of: +-- ffluci/controller/index/example-action.lua (this file) + +-- Try the following address(es) in your browser: +-- ffluci/index/example-action +-- ffluci/index/example-action/sp +-- ffluci/index/example-action/redir + +module(..., package.seeall) + +dispatcher = require("ffluci.dispatcher").action + +menu = { + descr = "Example Action", + order = 30, + entries = { + {action = "index", descr = "Action-Dispatcher Example"}, + {action = "sp", descr = "Simple View Template Stealing"}, + {action = "redir", descr = "Hello World Redirector"} + } +} + +function action_index() + require("ffluci.template").render("header") + local formvalue = require("ffluci.http").formvalue + + local x = formvalue("x", nil, true) + + print(x and "x*x: "..tostring(x*x) or "Set ?x= any number") + require("ffluci.template").render("footer") +end + +function action_sp() + require("ffluci.http") + require("ffluci.i18n") + require("ffluci.config") + require("ffluci.template") + + -- Try uncommenting the next line + -- ffluci.i18n.loadc("example-simpleview") + ffluci.template.render("example-simpleview/index") +end + +function action_redir() + require("ffluci.http").request_redirect("public", "index", "foobar") +end
\ No newline at end of file diff --git a/examples/ffluci/controller/public/example-simpleview.lua b/examples/ffluci/controller/public/example-simpleview.lua new file mode 100644 index 0000000000..61f4ad32cd --- /dev/null +++ b/examples/ffluci/controller/public/example-simpleview.lua @@ -0,0 +1,27 @@ +-- This example demonstrates the simple view dispatcher which is the +-- most simple way to provide content as it directly renders the +-- associated template + +-- This example consists of: +-- ffluci/controller/index/example-simpleview.lua (this file) +-- ffluci/view/example-simpleview/index.htm (the template for action "index") +-- ffluci/view/example-simpleview/foo.htm (the template for action "foo") +-- ffluci/i18n/example-simpleview.de (the german language file for this module) + +-- Try the following address(es) in your browser: +-- ffluci/index/example-simpleview +-- ffluci/index/example-simpleview/index +-- ffluci/index/example-simpleview/foo + +module(..., package.seeall) + +dispatcher = require("ffluci.dispatcher").simpleview + +menu = { + descr = "Example Simpleview", + order = 20, + entries = { + {action = "index", descr = "Simpleview Index"}, + {action = "foo", descr = "Simpleview Foo"} + } +}
\ No newline at end of file diff --git a/examples/ffluci/controller/public/index.lua b/examples/ffluci/controller/public/index.lua new file mode 100644 index 0000000000..4498c77edf --- /dev/null +++ b/examples/ffluci/controller/public/index.lua @@ -0,0 +1,32 @@ +-- This is a very simple example Hello World FFLuCI controller +-- See the other examples for more automated controllers + +-- Initialise Lua module system +module(..., package.seeall) + +-- This is the module dispatcher. It implements the last step of the +-- dispatching process. +function dispatcher(request) + require("ffluci.template").render("header") + print("<h2>Hello World!</h2>") + for k,v in pairs(request) do + print("<div>" .. k .. ": " .. v .. "</div>") + end + require("ffluci.template").render("footer") +end + +-- The following part is optional it could be useful for menu generators +-- An example menu generator is implemented in the template "menu" + +menu = { + -- This is the menu item description + descr = "Hello World", + + -- This is the order level of the menu entry (lowest goes first) + order = 10, + + -- A list of menu entries in the form action => "description" + entries = { + {action = "index", descr = "Hello World"}, + } +}
\ No newline at end of file diff --git a/examples/ffluci/view/example-simpleview/foo.htm b/examples/ffluci/view/example-simpleview/foo.htm new file mode 100755 index 0000000000..a0df536f16 --- /dev/null +++ b/examples/ffluci/view/example-simpleview/foo.htm @@ -0,0 +1,3 @@ +<%+header%> +<h1>bar</h1> +<%+footer%>
\ No newline at end of file diff --git a/examples/ffluci/view/example-simpleview/index.htm b/examples/ffluci/view/example-simpleview/index.htm new file mode 100755 index 0000000000..ffe1ccf71d --- /dev/null +++ b/examples/ffluci/view/example-simpleview/index.htm @@ -0,0 +1,6 @@ +<%+header%> +<p><%:descr This is the Simple View-Example.<br /> +This template is ffluci/view/example-simpleview/index.htm and belongs +to the index-Action.%></p> +<p><%:lan The router's LAN IP-Address is:%> <%~network.lan.ipaddr%></p> +<%+footer%>
\ No newline at end of file diff --git a/examples/ffluci/view/hello.htm b/examples/ffluci/view/hello.htm new file mode 100644 index 0000000000..8231b61f96 --- /dev/null +++ b/examples/ffluci/view/hello.htm @@ -0,0 +1 @@ +A very little Hello <%=muh%> |