70 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| local Escapes=require"html"
 | |
| 
 | |
| local cfg
 | |
| 
 | |
| local function ld()
 | |
| 	cfg = loadfile("cfg.lua", "t")
 | |
| 	
 | |
| 	if cfg then cfg = cfg() end
 | |
| 	
 | |
| 	if not cfg then
 | |
| 		error("Configuration file is missing.")
 | |
| 	end
 | |
| end
 | |
| 
 | |
| local function serialize(t)
 | |
| 	if type(t) == "table" then
 | |
| 		local r = {"{"}
 | |
| 		
 | |
| 		for k, v in pairs(t) do
 | |
| 			table.insert(r, "[" .. string.format("%q", k) .. "]=" .. serialize(v) .. ",")
 | |
| 		end
 | |
| 		
 | |
| 		table.insert(r, "}")
 | |
| 		return table.concat(r)
 | |
| 	else
 | |
| 		return string.format("%q", t)
 | |
| 	end
 | |
| end
 | |
| 
 | |
| local function sv()
 | |
| 	local out = io.open("cfg.lua", "wb")
 | |
| 	out:write"-- THIS FILE IS AUTO-GENERATED. USE THE WEB ADMIN MENU!!\nreturn "
 | |
| 	out:write(serialize(cfg))
 | |
| 	out:close()
 | |
| 	
 | |
| 	out = io.open("static/tagcats.css", "wb")
 | |
| 	for i=1,cfg.tc.n do
 | |
| 		out:write("div.tag.tc" .. (i - 1) .. "::before{content:" .. Escapes.cssescape(cfg.tc[i].name:sub(1, 1)) .. ";}")
 | |
| 		out:write("div.tag.tc" .. (i - 1) .. ":hover::before{content:" .. Escapes.cssescape(cfg.tc[i].name) .. ";}")
 | |
| 		
 | |
| 		local r = cfg.tc[i].col >> 16
 | |
| 		local g = (cfg.tc[i].col >> 8) & 0xFF
 | |
| 		local b = cfg.tc[i].col & 0xFF
 | |
| 		local off = 150
 | |
| 		local darker = math.floor(math.min(b + off, 255)) | (math.floor(math.min(g + off, 255)) << 8) | (math.floor(math.min(r + off, 255)) << 16)
 | |
| 		out:write("div.tag.tc" .. (i - 1) .. "{border-color:#" .. string.format("%06x", cfg.tc[i].col) .. ";background-color:#"..string.format("%06x",darker)..";}")
 | |
| 	end
 | |
| 	out:close()
 | |
| end
 | |
| 
 | |
| ld()
 | |
| sv()
 | |
| 
 | |
| return {
 | |
| 	MEMBEXCL_ADMIN_INVITES = 1,
 | |
| 	MEMBEXCL_MODS_INVITE = 2,
 | |
| 	MEMBEXCL_MEMBERS_INVITE = 3,
 | |
| 	MEMBEXCL_PUBLIC_WITHAPPROVAL = 4,
 | |
| 	MEMBEXCL_PUBLIC_NOAPPROVAL = 5,
 | |
| 	
 | |
| 	MAX_COMMENT_SIZE = 1024,
 | |
| 	
 | |
| 	REPORT_STATUS_OPEN = 0,
 | |
| 	REPORT_STATUS_CLOSED_WONTFIX = 1,
 | |
| 	REPORT_STATUS_CLOSED_FIXED = 2,
 | |
| 	
 | |
| 	cfg = cfg,
 | |
| 	ld = ld,
 | |
| 	sv = sv
 | |
| } | 
