diff options
author | Steven Barth <steven@midlink.org> | 2008-03-29 21:17:54 +0000 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2008-03-29 21:17:54 +0000 |
commit | eee28047913d9bc159ebc49e72807db413ec73c7 (patch) | |
tree | d8c602e801a1b2bc942092c907a1661fedb8f6a5 /src/ffluci/controller/admin | |
parent | 1c6c6d62ca665f9d1126b6bad849f7fd584b6a80 (diff) |
* Added simple text editor
Diffstat (limited to 'src/ffluci/controller/admin')
-rw-r--r-- | src/ffluci/controller/admin/system.lua | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/ffluci/controller/admin/system.lua b/src/ffluci/controller/admin/system.lua index be2d9b6eb6..5e32041538 100644 --- a/src/ffluci/controller/admin/system.lua +++ b/src/ffluci/controller/admin/system.lua @@ -2,6 +2,8 @@ module("ffluci.controller.admin.system", package.seeall) require("ffluci.sys") require("ffluci.http") +require("ffluci.util") +require("ffluci.fs") menu = { descr = "System", @@ -11,6 +13,32 @@ menu = { } } +function action_editor() + local file = ffluci.http.formvalue("file") + local data = ffluci.http.formvalue("data") + local err = nil + local msg = nil + local stat = nil + + if file and data then + stat, err = pcall(ffluci.fs.writefile, file, data) + end + + if not stat then + err = ffluci.util.split(err, " ") + table.remove(err, 1) + msg = table.concat(err, " ") + end + + local stat, cnt = pcall(ffluci.fs.readfile, fname) + if stat and cnt then + cnt = ffluci.util.pcdata(cnt) + else + cnt = nil + end + ffluci.template.render("admin_system/editor", {fn=file, cnt=cnt, msg=msg}) +end + function action_passwd() local p1 = ffluci.http.formvalue("pwd1") local p2 = ffluci.http.formvalue("pwd2") |