Jump to content

Module:If in category: Difference between revisions

From Wikipedia, the free encyclopedia
simplify code
m Protected "Module:If in category": High-risk template or module: 32537 transclusions (more info) ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite))
(No difference)

Revision as of 18:00, 6 September 2024

local p = {}
local TableTools = require('Module:TableTools')

function p.main(frame)
	local getArgs = require('Module:Arguments').getArgs
	local args = getArgs(frame)
	return p._main(args)
end

function p._main(args)
	-- create a title object
	local page =  mw.title.new((args.page or '')) or mw.title.getCurrentTitle()
	if TableTools.inArray(page.categories, string.gsub( args[1], '^[Cc]ategory:', '' )) then
		if not args[3] then
		-- if we are are not given anything to return, return 'yes' if it evalulates to true
    		return args[2] or 'yes'
    	else 
    		return args[2]
		end
	else
		return args[3]
	end
end

return p