Module:AfC submission catcheck
Appearance
| This module is rated as ready for general use. It has reached a mature state, is considered relatively stable and bug-free, and may be used wherever appropriate. It can be mentioned on help pages and other Wikipedia resources as an option for new users. To minimise server load and avoid disruptive output, improvements should be developed through sandbox testing rather than repeated trial-and-error editing. |
| This module is currently protected from editing. See the protection policy and protection log for more details. Please discuss any changes on the talk page; you may submit an edit request to ask an administrator to make an edit if it is uncontroversial or supported by consensus. You may also request that this page be unprotected. |
This module is used by Template:AFC submission and its subtemplates to scan the content of AFC submissions. It's used to allow finding of drafts in improper content categories as well as to suppress the message that a draft has not been submitted when in fact it has been.
local p = {}
local function removeFalsePositives(str)
if not str then
return ''
end
str = mw.ustring.gsub(str, "<!--.--->", "")
str = mw.ustring.gsub(str, "<nowiki>.-</nowiki>", "")
str = mw.ustring.gsub(str, "{{[Dd]raft [Cc]ategories[^{}]-{{[^{}]-}}[^{}]-}}", "")
str = mw.ustring.gsub(str, "{{[Dd]raft [Cc]ategories.-}}", "")
str = mw.ustring.gsub(str, "{{[Dd]raftcat[^{}]-{{[^{}]-}}[^{}]-}}", "")
str = mw.ustring.gsub(str, "{{[Dd]raftcat.-}}", "")
str = mw.ustring.gsub(str,"%[%[Category:Unsuitable for Wikipedia AfC submissions%]%]","")
str = mw.ustring.gsub(str,"%[%[Category:[Dd]rafts?.-%]%]","")
str = mw.ustring.gsub(str,"%[%[Category:.-drafts?%]%]","")
str = mw.ustring.gsub(str, "<pre>.-</pre>", "")
return str
end
function p.checkforcats(frame)
local t = mw.title.getCurrentTitle()
tc = t:getContent()
if tc == nil then
return ""
end
tc = removeFalsePositives(tc)
if mw.ustring.match(tc, "%[%[%s-[Cc]ategory:" ) == nil then
return ""
else
return "[[Category:AfC submissions with categories]]"
end
end
function p.submitted(frame)
local text = removeFalsePositives(mw.title.getCurrentTitle():getContent())
if mw.ustring.find(text, '{{AfC submission||', 1, true) or mw.ustring.find(text, '{{AFC submission||', 1, true) then
return frame.args[1]
else
return frame.args[2]
end
end
return p