Module:Backwards copy
Appearance
![]() | This Lua module is used on approximately 1,500 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
Implements {{backwards copy}}
local MessageBox = require("Module:Message box")
local yesno = require("Module:Yesno")
local p = {}
local function demoCheck(args)
return yesno(args["demo"]) or yesno(args["nocat"])
end
local function showWarning(text, nocat)
mw.addWarning(text)
return nocat and "" or "[[Category:Pages with backwards copy warnings]]"
end
local function delink(text)
if text == nil then
return nil
end
mw.logObject(require("Module:Delink")._delink{text})
return string.gsub(string.gsub(require("Module:Delink")._delink{text}, "%[%[", ""), "%]%]", "")
end
local function showError(text, nocat)
return string.format(
"%s%s %s",
nocat and "" or "[[Category:Pages with backwards copy errors]] ",
tostring(
mw.html.create("span")
:css("color", "red")
:css("font-weight", "bold")
:wikitext("Error:")
),
text
)
end
local function row(args, i)
return mw.html.create("li"):wikitext(rowText)
end
local function bannerText(args)
local text = ""
local id = args["id"] or args["revid"]
if id ~= nil then
text = string.format("Revisions succeeding [[%s|this version]] of this", text)
else
text = "This"
end
text = string.format(
"%s article is substantially duplicated by a piece in an external publication. " ..
"Please do not flag this article as a copyright violation of the following source",
text
)
-- if count of citations > 1 then
-- text = text .. "s"
-- end
local ul = mw.html.create("ul")
text = text .. " " .. tostring(ul)
return text
end
function p.renderBanner(args)
return MessageBox.main('tmbox', {
name = "backwards-copy",
small = args["small"],
image = '[[File:Newspaper Cover.svg|50px]]',
text = bannerText(args)
})
end
function p.main(frame)
local getArgs = require('Module:Arguments').getArgs
local args = getArgs(frame, {
trim = true,
removeBlanks = true
})
return p.renderBanner(args)
end
return p