Mô đun:Check for deprecated parameters

-- This module may be used to compare the arguments passed to the parent
-- with a list of arguments, returning a specified result if an argument is
-- on the list
local p = {}

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

local function isnotempty(s)
	return s and trim(s) ~= ''
end

function p.check (frame)
	local args = frame.args
	local pargs = frame:getParent().args
	local ignoreblank = isnotempty(frame.args['ignoreblank'])
	local deprecated = frame.args['category']
	local preview = frame.args['preview'] or 'Trang sử dụng [['..frame:getParent():getTitle()..']] có tham số _VALUE_ không dùng nữa'

	local dep_values = {}
	local values = {}
	local res = {}

	-- create the table of deprecated values and their matching new value
	for k, v in pairs(args) do
		if k == 'ignoreblank' or k == 'preview' or k == 'deprecated' then else
			dep_values[k] = v
		end
	end
	
	if isnotempty(preview) then 
		preview = '<div class="hatnote" style="color:red"><strong>Cảnh báo:</strong> ' .. preview .. ' (thông báo này chỉ được hiển thị trong bản xem trước).</div>'
	elseif preview == nil then
		preview = deprecated
	end

	-- loop over the parent args and see if any are deprecated
	for k, v in pairs(pargs) do
		if ignoreblank then
			if dep_values[k] and v~='' then
				table.insert(values, k)
			end
		else
			if dep_values[k] then
				table.insert(values, k)
			end	
		end
	end

	-- add resuls to the output tables
	if #values > 0 then
		if frame:preprocess( "{{REVISIONID}}" ) == "" then
			deprecated = preview
			for k, v in pairs(values) do
				if v == '' then
				-- Fix odd bug for | = which gets stripped to the empty string and
				-- breaks category links
				v = ' '
				end
				local r =  deprecated:gsub('_VALUE_', ('"'..v..'". thay thế bằng "'..dep_values[v]..'"'))
				table.insert(res, r)
			end
		else
			for k, v in pairs(values) do
				local r =  deprecated:gsub('_VALUE_', v)
				table.insert(res, r)
			end
		end
	end

	return table.concat(res)
end

return p
Chúng tôi bán
Bài viết liên quan
Nhân vật Manabu Horikita - Class room of the Elite
Nhân vật Manabu Horikita - Class room of the Elite
Manabu Horikita (堀ほり北きた 学まなぶ, Horikita Manabu) là một học sinh của Lớp 3-A và là cựu Hội trưởng Hội học sinh
Marley and Me - Life and love with the world's worst dog
Marley and Me - Life and love with the world's worst dog
Một cuốn sách rất đáng đọc, chỉ xoay quanh những câu chuyện đời thường nhưng vô cùng giản dị. Chú chó lớn lên cùng với sự trưởng thành của cặp vợ chồng, của gia đình nhỏ đấy
Hướng dẫn Relationships trong Postknight
Hướng dẫn Relationships trong Postknight
Relationships hay cách gọi khác là tình yêu trong postknight
Xếp hạng trang bị trong Tensura
Xếp hạng trang bị trong Tensura
Cùng tìm hiểu về bảng xếp hạng trang bị trong thế giới slime