Jump to content

Module:RedirectData

Permanently protected module
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Elli (talk | contribs) at 02:30, 23 February 2021 (add code for detecting subpage status). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

local p = {}

function p.getRedirectToNamespace(frame)
	titleObject = mw.title.getCurrentTitle() -- check if this is a redirect
	if titleObject.redirectTarget then
		targetNamespace = titleObject.redirectTarget.nsText
		return targetNamespace
	end
	return "Notaredirect"
end

function p.getSubpageStatus(frame)
	titleObject = mw.title.getCurrentTitle()
	if titleObject.redirectTarget then -- check if this is a redirect
		pageIsSubpage = titleObject.isSubpage
		targetIsSubpage = titleObject.redirectTarget.isSubpage
		if (pageIsSubpage or targetIsSubpage) then
			if (pageIsSubpage and targetIsSubpage) then
				return "Both" -- both are subpages, return three
			elseif pageIsSubpage then
				return "Onlypage" -- just the page is a subpage, target isn't, return one
			else
				return "Onlysubpage" -- just the target is a subpage, the page isn't, return two
			end
		else -- neither page nor target is a subpage, return zero
			return "Neither"
		end
	end
	return "Notaredirect"
end

return p