* Added simple text editor
This commit is contained in:
parent
1c6c6d62ca
commit
eee2804791
4 changed files with 50 additions and 9 deletions
|
@ -237,3 +237,8 @@ code {
|
||||||
.cbi-optionals option {
|
.cbi-optionals option {
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.error {
|
||||||
|
color: red;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
|
@ -2,6 +2,8 @@ module("ffluci.controller.admin.system", package.seeall)
|
||||||
|
|
||||||
require("ffluci.sys")
|
require("ffluci.sys")
|
||||||
require("ffluci.http")
|
require("ffluci.http")
|
||||||
|
require("ffluci.util")
|
||||||
|
require("ffluci.fs")
|
||||||
|
|
||||||
menu = {
|
menu = {
|
||||||
descr = "System",
|
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()
|
function action_passwd()
|
||||||
local p1 = ffluci.http.formvalue("pwd1")
|
local p1 = ffluci.http.formvalue("pwd1")
|
||||||
local p2 = ffluci.http.formvalue("pwd2")
|
local p2 = ffluci.http.formvalue("pwd2")
|
||||||
|
|
|
@ -84,14 +84,10 @@ function mtime(path)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- basename wrapper
|
-- basename wrapper
|
||||||
function basename(path)
|
basename = posix.basename
|
||||||
return posix.basename(path)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- dirname wrapper
|
-- dirname wrapper
|
||||||
function dirname(path)
|
dirname = posix.dirname
|
||||||
return posix.dirname(path)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Diriterator - alias for lfs.dir - filter . and ..
|
-- Diriterator - alias for lfs.dir - filter . and ..
|
||||||
function dir(path)
|
function dir(path)
|
||||||
|
@ -102,6 +98,4 @@ function dir(path)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Alias for lfs.mkdir
|
-- Alias for lfs.mkdir
|
||||||
function mkdir(...)
|
mkdir = posix.mkdir
|
||||||
return posix.mkdir(...)
|
|
||||||
end
|
|
14
src/ffluci/view/admin_system/editor.htm
Normal file
14
src/ffluci/view/admin_system/editor.htm
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<%+header%>
|
||||||
|
<h1><%:texteditor Texteditor%></h1>
|
||||||
|
<form method="post" action="<%=controller%>/admin/system/editor">
|
||||||
|
<div><%:file Datei%>: <input type="text" name="file" size="30" value="<%=fn%>" />
|
||||||
|
<% if msg then %><span class="error"><%:error Fehler%>: <%=msg%></span><% end %></div>
|
||||||
|
<br />
|
||||||
|
<div><textarea style="width: 100%" rows="20" name="data"><%=(cnt or '')%></textarea></div>
|
||||||
|
<br />
|
||||||
|
<div>
|
||||||
|
<input type="submit" value="<%:save Speichern%>" />
|
||||||
|
<input type="reset" value="<%:reset Zurücksetzen%>" />
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<%+footer%>
|
Loading…
Reference in a new issue