diff options
author | Ted Trask <ttrask01@yahoo.com> | 2011-10-17 13:03:47 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2011-10-17 13:03:47 +0000 |
commit | aa581098ea396d65680e4ccee0db6e323c3c0ba2 (patch) | |
tree | 5ece56ba2abbcbcee01d9fcdde01b52a9ce9faf0 | |
parent | db798e24226b68d98bd658e057fd5d9844518a46 (diff) | |
download | acf-core-aa581098ea396d65680e4ccee0db6e323c3c0ba2.tar.bz2 acf-core-aa581098ea396d65680e4ccee0db6e323c3c0ba2.tar.xz |
Added logrotate script for acf.log
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | acf | 10 | ||||
-rw-r--r-- | lib/viewfunctions.lua | 40 |
3 files changed, 54 insertions, 1 deletions
@@ -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 @@ -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") |