Mercurial Hosting > linkmystyle
view src/theme.js.luan @ 0:8f4df159f06b
start public repo
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 11 Jul 2025 20:57:49 -0600 |
parents | |
children |
line wrap: on
line source
local Luan = require "luan:Luan.luan" local error = Luan.error local pairs = Luan.pairs or error() local stringify = Luan.stringify or error() local String = require "luan:String.luan" local trim = String.trim or error() local Table = require "luan:Table.luan" local is_empty = Table.is_empty or error() local Time = require "luan:Time.luan" local time_now = Time.now or error() local Io = require "luan:Io.luan" local Http = require "luan:http/Http.luan" local User = require "site:/lib/User.luan" local Shared = require "site:/lib/Shared.luan" local fields = Shared.theme_fields or error() local compressed = Shared.compressed or error() local Db = require "site:/lib/Db.luan" local run_in_transaction = Db.run_in_transaction or error() local Logging = require "luan:logging/Logging.luan" local logger = Logging.logger "theme.js" return function() local user = User.current() or error() local data = {} for f in pairs(fields) do local v = Http.request.parameters[f] or error() v = trim(v) if v ~= "" then data[f] = v end end run_in_transaction( function() user = user.reload() if is_empty(data) then user.theme_data = nil user.theme_date = nil else user.theme_data = stringify(data,compressed) user.theme_date = time_now() end user.save() end ) Io.stdout = Http.response.text_writer() %> location = '/<%=user.name%>?saved'; <% end