Jump to content

Module:Mainspace editnotice

Permanently protected module
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by SD0001 (talk | contribs) at 14:59, 27 January 2024 (cover other mainspace editnotices). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

local Arguments = require('Module:Arguments')
local Disambiguation = require('Module:Disambiguation')
local TfaTitle = require('Module:TFA title')

local p = {}

p.main = function(frame)
	local args = Arguments.getArgs(frame)
	return p.core(args.page and mw.title.new(args.page) or mw.title.getCurrentTitle(), frame)
end

local function draft_notice(page, frame)
	if page.exists 
		and (page.isRedirect or Disambiguation._isDisambiguationPage(page.fullText)) 
		and mw.title.new('Draft:'..page).exists then
		return frame:expandTemplate{ title = "Draft at" } 
	end
end

local function blp_notice(page, frame)
	local content = page:getContent()
		
	if content:find("%[%[%s*[Cc]ategory:%s*[Ll]iving[ _]people%s*%]%]") or 
		content:find("%[%[%s*[Cc]ategory:%s*[Pp]ossibly[ _]living[ _]people%s*%]%]") then
		return frame:expandTemplate{ title = "BLP editintro" }
	end
end

local function disambig_notice(page, frame)
	if Disambiguation._isDisambiguationPage(page.fullText) then
		return frame:expandTemplate{ title = "Disambig editintro" }	
	end
end

local function tfa_notice(page, frame)
	if TfaTitle.is_tfa_on(page.fullText, os.date("%Y-%m-%d")) then
		return frame:expandTemplate{ title = "TFA editnotice" }
	end
end

local function refideas_notice(page, frame)
	return frame:expandTemplate{ title = "Refideas editnotice if exists" }
end

p.core = function(page, frame)
	return 
		(draft_notice(page, frame) or '') ..
		(blp_notice(page, frame) or '') ..
		(disambig_notice(page, frame) or '') ..
		(tfa_notice(page, frame) or '') ..
		(refideas_notice(page, frame) or '')
end

return p