local Luan = require "luan:Luan.luan" local error = Luan.error local ipairs = Luan.ipairs or error() local Io = require "luan:Io.luan" local String = require "luan:String.luan" local split = String.split or error() local Table = require "luan:Table.luan" local concat = Table.concat or error() local insert = Table.insert or error() local sort = Table.sort or error() local Time = require "luan:Time.luan" local format_time = Time.format or error() local Http = require "luan:http/Http.luan" local Utils = require "site:/private/lib/Utils.luan" local Logging = require "luan:logging/Logging.luan" local logger = Logging.logger "sites.html" local function remove() local site = Http.request.parameters.site or error() local site_dir = Utils.sites_dir.child(site) site_dir.exists() or error() site_dir.delete() end return function() local action = Http.request.parameters.action if action == "remove" then remove() Http.response.send_redirect "sites.html" return end Io.stdout = Http.response.text_writer() local dirs = Utils.sites_dir.children() for _, dir in ipairs(dirs) do local t = {} for _, s in ipairs{split(dir.name(),".")} do insert(t,1,s) end dir.sort = concat(t,".") end sort(dirs,function(d1,d2) return d1.sort < d2.sort end) %>
| site | logs/web | DNS | password | ||
|---|---|---|---|---|---|
| <%=i%> | <%=site%> | <%=format_time(date,"yyyy-MM-dd")%> | <%=dns%> | remove | <%=password%> |
| <%=site%> |