Module:AfC submission catcheck/sandbox2
From Thetacola Wiki
Jump to navigationJump to search
File:Full-protection-shackle.svg | This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
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 categories[^{}]-{{[^{}]-}}[^{}]-}}", "") str = mw.ustring.gsub(str, "{{[Dd]raft categories.-}}", "") 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?%]%]","") 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