summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2011-10-17 13:03:47 +0000
committerTed Trask <ttrask01@yahoo.com>2011-10-17 13:03:47 +0000
commitaa581098ea396d65680e4ccee0db6e323c3c0ba2 (patch)
tree5ece56ba2abbcbcee01d9fcdde01b52a9ce9faf0
parentdb798e24226b68d98bd658e057fd5d9844518a46 (diff)
downloadacf-core-aa581098ea396d65680e4ccee0db6e323c3c0ba2.tar.bz2
acf-core-aa581098ea396d65680e4ccee0db6e323c3c0ba2.tar.xz
Added logrotate script for acf.log
-rw-r--r--Makefile5
-rw-r--r--acf10
-rw-r--r--lib/viewfunctions.lua40
3 files changed, 54 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 8f40067..136adc7 100644
--- a/Makefile
+++ b/Makefile
@@ -9,8 +9,9 @@ DISTPKG=$(P).tar.bz2
SUBDIRS=app bin lib lua www
EXTRA_DIST=config.mk Makefile README
CONF_FILES=acf.conf
+LOGROTATE_FILES=acf
-DISTFILES=$(EXTRA_DIST) $(CONF_FILES)
+DISTFILES=$(EXTRA_DIST) $(CONF_FILES) $(LOGROTATE_FILES)
CP=cp
TAR=tar
@@ -52,6 +53,8 @@ phony+=install
install: install-recursive $(CONF_FILES)
mkdir -p $(DESTDIR)/etc/acf
cp $(CONF_FILES) $(DESTDIR)/etc/acf
+ mkdir -p $(DESTDIR)/etc/logrotate.d
+ cp $(LOGROTATE_FILES) $(DESTDIR)/etc/logrotate.d
ln -sf /etc/acf/skins $(DESTDIR)/$(wwwdir)/userskins
include config.mk
diff --git a/acf b/acf
new file mode 100644
index 0000000..382f8de
--- /dev/null
+++ b/acf
@@ -0,0 +1,10 @@
+# ACF logrotate script
+
+/var/log/acf.log {
+ daily
+ missingok
+ copytruncate
+ rotate 7
+ compress
+ notifempty
+}
diff --git a/lib/viewfunctions.lua b/lib/viewfunctions.lua
index 5f923f5..67f839b 100644
--- a/lib/viewfunctions.lua
+++ b/lib/viewfunctions.lua
@@ -20,6 +20,46 @@ function getlabel(myitem, value)
return value
end
+function displayitemcustom(myitem, header_level)
+ if not myitem then return end
+ if myitem.type == "group" then
+ header_level = header_level or 2
+ io.write("<H"..tostring(header_level)..">"..html.html_escape(myitem.label).."</H"..tostring(header_level)..">")
+ if myitem.descr then io.write('<P CLASS="descr">' .. string.gsub(html.html_escape(myitem.descr), "\n", "<BR>") .. "</P>\n") end
+ if myitem.errtxt then io.write('<P CLASS="error">' .. string.gsub(html.html_escape(myitem.errtxt), "\n", "<BR>") .. "</P>\n") end
+ local seqorder = {}
+ local order = {}
+ for name,item in pairs(myitem.value) do
+ if tonumber(item.seq) then
+ seqorder[#seqorder+1] = {seq=tonumber(item.seq), name=name}
+ else
+ order[#order+1] = name
+ end
+ end
+ table.sort(seqorder, function(a,b) if a.seq ~= b.seq then return a.seq > b.seq else return a.name > b.name end end)
+ table.sort(order)
+ for i,val in ipairs(seqorder) do
+ table.insert(order, 1, val.name)
+ end
+ for x,name in ipairs(order) do
+ if myitem.value[name] then
+ displayitemcustom(myitem.value[name], tonumber(header_level)+1)
+ end
+ end
+ elseif myitem.type ~= "hidden" then
+ io.write("<DT")
+ if myitem.errtxt then
+ myitem.class = "error"
+ io.write(' class="error"')
+ end
+ io.write(">" .. html.html_escape(myitem.label) .. "</DT>\n")
+ io.write("<DD>")
+ io.write(string.gsub(html.html_escape(tostring(myitem.value)), "\n", "<BR>") .. "\n")
+ if myitem.descr then io.write("<P CLASS='descr'>" .. string.gsub(html.html_escape(myitem.descr), "\n", "<BR>") .. "</P>\n") end
+ if myitem.errtxt then io.write("<P CLASS='error'>" .. string.gsub(html.html_escape(myitem.errtxt), "\n", "<BR>") .. "</P>\n") end
+ io.write("</DD>\n")
+ end
+end
function displayitem(myitem)
if not myitem then return end
io.write("<DT")