ikibooru/bigglobe.lua
2024-06-01 17:40:11 +03:00

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
}