Mô đun:Spam

local getArgs = require("Module:Arguments").getArgs
local sbl = require("Module:Spam-blacklist")
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">' ..
				'[' .. searchLink(site) .. ' tìm kiếm]' ..
			'</span>' ..
		')'
		
		if sbl._isAdded("\\b" .. site:gsub("%.", "\\.") .. "\\b") 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
Chúng tôi bán
Bài viết liên quan
Download the Motorola Razr’s Retro App, Live Wallpapers
Download the Motorola Razr’s Retro App, Live Wallpapers
Foldable phones were a big story in 2019 but one brand stole the show with a heavy dose of nostalgia. Samsung’s Galaxy Fold may be a bigger, more powerful foldable, but it doesn’t have the same name recognition as the iconic razr. Motorola is well aware of this and they included several goodies to amp it up.
Thao túng tâm lý: Vì tôi yêu bạn nên bạn phải chứng minh mình xứng đáng
Thao túng tâm lý: Vì tôi yêu bạn nên bạn phải chứng minh mình xứng đáng
Thuật ngữ “thao túng cảm xúc” (hay “tống tiền tình cảm/tống tiền cảm xúc”) được nhà trị liệu Susan Forward đã đưa ra trong cuốn sách cùng tên
Tuyển người giỏi không khó, tuyển người phù hợp mới khó
Tuyển người giỏi không khó, tuyển người phù hợp mới khó
Thông thường HM sẽ liệt kê các công việc (Trách nhiệm) của vị trí, dựa trên kinh nghiệm của cá nhân mình
Tổng quan về EP trong Tensei Shitara Slime Datta Ken
Tổng quan về EP trong Tensei Shitara Slime Datta Ken
EP có nghĩa là Giá Trị Tồn Tại (存在値), lưu ý rằng EP không phải là ENERGY POINT như nhiều người lầm tưởng