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
Một xã hội thích nhắn tin hơn là gọi điện và nỗi cô đơn của xã hội hiện đại
Một xã hội thích nhắn tin hơn là gọi điện và nỗi cô đơn của xã hội hiện đại
Bạn có thể nhắn tin với rất nhiều người trên mạng xã hội nhưng với những người xung quanh bạn như gia đình, bạn bè lại trên thực tế lại nhận được rất ít những sự thấu hiểu thực sự của bạn
Vì sao Arcane là một tác phẩm nghệ thuật tinh tế
Vì sao Arcane là một tác phẩm nghệ thuật tinh tế
Vì sao 'Arcane' là một tác phẩm nghệ thuật tinh tế? Nó được trình chiếu cho khán giả toàn cầu nhưng dựa trên tiêu chuẩn khắt khe để làm hài lòng game thủ
GPS Là gì? Có phải bạn luôn bị theo dõi khi bật định vị trên điện thoại?
GPS Là gì? Có phải bạn luôn bị theo dõi khi bật định vị trên điện thoại?
Phát triển bởi quân đội Mỹ nhưng tín hiệu GPS được cung cấp miễn phí cho tất cả mọi người.
Violet Evergarden - Full Anime + Light Novel + Ova
Violet Evergarden - Full Anime + Light Novel + Ova
Đây là câu chuyện kể về người con gái vô cảm trên hành trình tìm kiếm ý nghĩa của tình yêu