Mô đun:Check for clobbered parameters

local p = {}

local function trim(s)
	return s:match('^%s*(.-)%s*$')
end

local function isnotempty(s)
	return s and s:match('%S')
end

function p.check(frame)
	local args = frame.args
	local pargs = frame:getParent().args
	local checknested = isnotempty(args['nested'])
	local delimiter = isnotempty(args['delimiter']) and args['delimiter'] or ';'
	local cat = ''
	if args['cat'] and mw.ustring.match(args['cat'],'^[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]:') then
		cat = args['cat']
	end
	local res = ''

	local argpairs = {}
	for k, v in pairs(args) do
		if type(k) == 'number' then
			local plist = mw.text.split(v, delimiter)
			local pfound = {}
			local count = 0
			for ii, vv in ipairs(plist) do
				vv = trim(vv)
				if checknested and pargs[vv] or isnotempty(pargs[vv]) then
					count = count + 1
					table.insert(pfound, vv)
				end
			end
			if count > 1 then
				table.insert(argpairs, pfound)
			end
		end
	end
	
	local warnmsg = {}
	if #argpairs > 0 then
		for i, v in ipairs( argpairs ) do
			table.insert(warnmsg, 'Sử dụng nhiều hơn một trong các tham số sau: <code>' ..
				table.concat(v, '</code>, <code>') .. '</code>')
			if cat ~= '' then
				res = res .. '[[' .. cat .. '|' .. (v[1] == '' and ' ' or '') .. v[1] .. ']]'
			end	
		end
	end
	
	if #warnmsg > 0 then
		if frame:preprocess( "{{REVISIONID}}" ) == "" then
			local ptxt = 'Cảnh báo ' .. args['template'] and args['template'] or 'Cảnh báo'
			res = '<div class="hatnote" style="color:red"><strong>' .. ptxt .. ':</strong> ' .. table.concat(warnmsg, '<br />') .. '</div>' .. res
		end
	end
	
	return res
end

return p
Chúng tôi bán
Bài viết liên quan
Tổ chức SWORD trong One Piece - Garp có phải là một thành viên
Tổ chức SWORD trong One Piece - Garp có phải là một thành viên
Qua chương 1080 thì ta biết thêm được về SWORD, về cơ bản thì họ là đội biệt kích đặc biệt gồm những Hải Quân đã từ bỏ Quân Tịch nhưng vẫn hoạt động với vai trò là 1 Hải Quân
Giới thiệu về Captain John - One Piece
Giới thiệu về Captain John - One Piece
Đây là một trong các hải tặc nổi tiếng từng là thành viên trong Băng hải tặc Rocks của Rocks D. Xebec từ 38 năm về trước và có tham gia Sự kiện God Valley
Nhân vật Makima - Chainsaw Man
Nhân vật Makima - Chainsaw Man
Cô được tiết lộ là Ác quỷ Kiểm soát (支 し 配 は い の 悪 あ く 魔 ま Shihai no Akuma?), Hiện thân của nỗi sợ kiểm soát hoặc chinh phục
Review phim The Secret Life of Walter Mitty
Review phim The Secret Life of Walter Mitty
Một bộ phim mình sẽ xem tới những giây cuối cùng, và nhìn màn hình tắt. Một bộ phim đã đưa mình đến những nơi unknown