<%+header%> <% local http = require("luci.http") local core = require("substore.core") local output = require("substore.output") local util = require("substore.util") -- output.generate 的 err 是语言中立的 msgid(可能是组合消息),翻译在视图侧做 —— -- 后端模块不能 require("luci.i18n"),见 msg.lua 的文件头。 local msg = require("substore.msg") local function tmsg(s) return msg.translate(s, luci.i18n.translate) end local ctx = luci.dispatcher.context or {} local q = ctx.query or {} local id = http.formvalue("id") or q.id or "" local fmt = http.formvalue("fmt") or q.fmt or "clashmeta" local items = core.list() local meta = id ~= "" and core.get(id) or nil local nodes = {} if id ~= "" then nodes = core.read_nodes(id) else -- 合并所有已启用的订阅 local ids = {} for _, it in ipairs(items) do if it.enabled then ids[#ids + 1] = it.id end end nodes = core.merge(ids) end local out, err = output.generate(nodes, fmt) %>

<%:Output%> — <%=luci.util.pcdata(meta and meta.name or luci.i18n.translate("Merged"))%>

<%:Back%>
<% if err then %>
<%=luci.util.pcdata(tmsg(err))%>
<% else %>
<% end %> <%+footer%>