From 68d142e79287e9b5e9f980f37b546070a38fc478 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Wed, 26 Mar 2008 20:55:14 +0000 Subject: * CBI update * Added some configuration pages * Introduced contact site * Introduced luci UCI config file --- src/ffluci/controller/admin/index.lua | 9 ++++++ src/ffluci/controller/admin/network.lua | 10 ++++++ src/ffluci/controller/admin/uci.lua | 57 +++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 src/ffluci/controller/admin/index.lua create mode 100644 src/ffluci/controller/admin/network.lua create mode 100644 src/ffluci/controller/admin/uci.lua (limited to 'src/ffluci/controller/admin') diff --git a/src/ffluci/controller/admin/index.lua b/src/ffluci/controller/admin/index.lua new file mode 100644 index 0000000000..3ee564f640 --- /dev/null +++ b/src/ffluci/controller/admin/index.lua @@ -0,0 +1,9 @@ +module(..., package.seeall) + +menu = { + descr = "Übersicht", + order = 10, + entries = { + {action = "contact", descr = "Kontakt"} + } +} \ No newline at end of file diff --git a/src/ffluci/controller/admin/network.lua b/src/ffluci/controller/admin/network.lua new file mode 100644 index 0000000000..f76dce5555 --- /dev/null +++ b/src/ffluci/controller/admin/network.lua @@ -0,0 +1,10 @@ +module(..., package.seeall) + +menu = { + descr = "Netzwerk", + order = 20, + entries = { + {action = "vlan", descr = "VLAN"}, + {action = "ifaces", descr = "Schnittstellen"} + } +} \ No newline at end of file diff --git a/src/ffluci/controller/admin/uci.lua b/src/ffluci/controller/admin/uci.lua new file mode 100644 index 0000000000..db70eb6a63 --- /dev/null +++ b/src/ffluci/controller/admin/uci.lua @@ -0,0 +1,57 @@ +module("ffluci.controller.admin.uci", package.seeall) + +-- This function has a higher priority than the admin_uci/apply template +function action_apply() + local changes = ffluci.model.uci.changes() + local output = "" + + if changes then + local apply = {} + + -- Collect files to be applied + for i, line in ipairs(ffluci.util.split(changes)) do + local r = line:match("^[^.]+") + if r then + apply[r] = true + end + end + + -- Commit changes + ffluci.model.uci.commit() + + -- Search for post-commit commands + if ffluci.config.uci_oncommit then + for k, v in pairs(apply) do + local cmd = ffluci.config.uci_oncommit[k] + if cmd then + output = output .. ffluci.util.exec(cmd) + end + end + end + end + + ffluci.template.render("admin_uci/apply", {changes=changes, output=output}) +end + + +function action_revert() + local changes = ffluci.model.uci.changes() + if changes then + local revert = {} + + -- Collect files to be reverted + for i, line in ipairs(ffluci.util.split(changes)) do + local r = line:match("^[^.]+") + if r then + revert[r] = true + end + end + + -- Revert them + for k, v in pairs(revert) do + ffluci.model.uci.revert(k) + end + end + + ffluci.template.render("admin_uci/revert", {changes=changes}) +end \ No newline at end of file -- cgit v1.2.3