Module:High-use
Jump to navigation
Jump to search
Documentation for this module may be created at Module:High-use/doc
local p = {}
function p.num(frame)
if frame.args[1] == "risk" then
return_value = "a very large number of"
else
return_value = "many"
end
return return_value
end
function p.risk(frame)
local return_value = ""
if frame.args[1] == "risk" then
return_value = "risk"
end
return return_value
end
function p.text(frame)
local return_value = {}
local title = mw.title.getCurrentTitle()
if title.subpageText == "doc" or title.subpageText == "sandbox" then
title = title.basePageTitle
end
local templatecount = string.format("https://tools.wmflabs.org/templatecount/index.php?lang=en&namespace=%s&name=%s",mw.title.getCurrentTitle().namespace,mw.uri.encode(title.text))
local used_on_text = string.format("'''This %s is used on [%s %s pages]'''",
(mw.title.getCurrentTitle().namespace == 828 and "Lua module" or "template"),
templatecount,
p.num(frame)
)
local sandbox_text = string.format("%s's [[%s/sandbox|/sandbox]] or [[%s/testcases|/testcases]] subpages%s ",
(mw.title.getCurrentTitle().namespace == 828 and "module" or "template"),
title.fullText, title.fullText,
(mw.title.getCurrentTitle().namespace == 828 and "." or ", or in your own [[Wikipedia:Subpages#How to create user subpages|user subpage]].")
)
if (frame.args[1] == "risk") then
local info = ""
if frame.args["info"] and frame.args["info"] ~= "" then
info = "<br />" .. frame.args["info"]
end
sandbox_text = string.format(".%s<br /> To avoid major disruption and server load, any changes should be tested in the %sThe tested changes can be added to this page in a single edit. ",
info, sandbox_text
)
else
sandbox_text = string.format(" and changes may be widely noticed. Test changes in the %s",
sandbox_text
)
end
local discussion_text = "Consider discussing changes "
if frame.args["2"] and frame.args["2"] ~= "" and frame.args["2"] ~= "yes" then
discussion_text = string.format("%sat [[%s]]", discussion_text, frame.args["2"])
else
discussion_text = string.format("%son the [[%s|talk page]]", discussion_text, title.talkPageTitle.fullText )
end
return table.concat({used_on_text, sandbox_text, discussion_text, " before implementing them."})
end
function p.main(frame)
local return_value = ""
local image = "[[File:Ambox warning yellow.svg|40px|alt=Warning|link=]]"
local type_param = "style"
if (frame.args[1] == "risk") then
image = "[[File:Ambox warning orange.svg|40px|alt=Warning|link=]]"
type_param = "content"
end
if frame.args["form"] == "editnotice" then
return_value = frame:expandTemplate{
title = 'editnotice',
args = {
["image"] = image,
["text"] = p.text(frame),
["expiry"] = (frame.args["expiry"] or "")
}
}
else
return_value = frame:expandTemplate{
title = 'ombox',
args = {
["type"] = type_param,
["image"] = image,
["text"] = p.text(frame),
["expiry"] = (frame.args["expiry"] or "")
}
}
end
return return_value
end
return p