local getArgs = require("Module:Arguments").getArgs
local sbl = require("Module:BEDSearch")
local p = {}
local sites = {}
local users = {}
local templateArgs = getArgs(mw.getCurrentFrame(), {
parentOnly = true
})
local searchLink = function(site)
local args = {
search = 'insource:"' .. site .. '"',
profile = 'advanced',
fulltext = 1
}
local ns = {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 710, 711,
828, 829, 2300, 2301, 2302, 2303
}
for _, v in ipairs(ns) do
args['ns' .. v] = 1
end
return tostring(mw.uri.fullUrl('Special:Search', args))
end
for _, args in ipairs(templateArgs) do
if args:find(">>") then
local els = mw.text.split(args, ">>", true)
table.insert(sites, mw.text.trim(els[1]))
table.insert(users, mw.text.trim(els[2]))
else
table.insert(sites, mw.text.trim(args))
table.insert(users, "__")
end
end
function p.sites()
local list = {}
for _, site in ipairs(sites) do
table.insert(
list,
"* " .. mw.getCurrentFrame():expandTemplate({
title = "Spam/sites",
args = {
site:gsub("%.", "\\."):gsub("%/", "\\/")
}
})
)
end
return table.concat(list, "\n")
end
function p.users()
local list = {}
for _, user in ipairs(users) do
if user ~= "__" then
table.insert(
list,
"* " .. mw.getCurrentFrame():expandTemplate({
title = "Spam/users",
args = {user}
})
)
else
table.insert(
list, tostring(
mw.html.create("li"):css("visibility", "hidden")
)
)
end
end
return table.concat(list, "\n")
end
function p.ticks()
local list = {}
for _, site in ipairs(sites) do
local li = ' <span class="plainlinks">([[Đặc biệt:BlockedExternalDomains|xem và sửa danh sách]] - [[MediaWiki:BlockedExternalDomains.json|JSON]] - [https://vi.wikipedia.org/w/index.php?title=MediaWiki:BlockedExternalDomains.json&action=history lịch sử])</span>'
if sbl._isAdded(site) then
li = mw.getCurrentFrame():expandTemplate({ title = 'Tick3' })
.. ' '
.. mw.getCurrentFrame():expandTemplate({ title = 'Green', args = {'Đã thêm'} })
.. li
else
li = 'Chưa thêm' .. li
end
table.insert(list, li)
end
return table.concat(list, "\n")
end
return p