Editing Module:High-use
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
local _fetch = require('Module:Transclusion_count').fetch | local _fetch = require('Module:Transclusion_count').fetch | ||
Line 34: | Line 33: | ||
end | end | ||
-- Insert | -- Insert percent of pages | ||
if | if frame.args["all-pages"] and frame.args["all-pages"] ~= "" then | ||
local percent = math.floor( ( (count/frame:callParserFunction('NUMBEROFPAGES', 'R') ) * 100) + 0.5) | local percent = math.floor( ( (count/frame:callParserFunction('NUMBEROFPAGES', 'R') ) * 100) + 0.5) | ||
return_value = string.format("%s pages, or roughly %s%% of all", return_value, percent) | |||
end | end | ||
end | end | ||
Line 58: | Line 55: | ||
function p.text(frame, count) | function p.text(frame, count) | ||
local bot_text = "\n\n----\nTransclusion count updated automatically ([[Template:High-use/doc#Technical details|see documentation]])." | |||
if frame.args["nobot"] == "true" then | |||
local bot_text = | bot_text = "" | ||
end | |||
if count == nil then count = _fetch(frame) end | if count == nil then count = _fetch(frame) end | ||
local return_value = {} | |||
local title = mw.title.getCurrentTitle() | local title = mw.title.getCurrentTitle() | ||
if title.subpageText == "doc" or title.subpageText == "sandbox" then | if title.subpageText == "doc" or title.subpageText == "sandbox" then | ||
Line 68: | Line 68: | ||
end | end | ||
local | local templatecount = string.format("https://templatecount.toolforge.org/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, count) | |||
) | |||
local sandbox_text = ("%s's | local sandbox_text = string.format("%s's {{direct link|%s/sandbox|/sandbox}} or {{direct link|%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 {{direct link|Wikipedia:Subpages#How to create user subpages|user subpage}}.") | |||
) | ) | ||
if ( | if (frame.args[1] == "risk" or (count and count >= 100000) ) then | ||
local info = | local info = "" | ||
if frame.args["info"] and frame.args["info"] ~= "" then | if frame.args["info"] and frame.args["info"] ~= "" then | ||
info = | info = "<br />" .. frame.args["info"] | ||
end | end | ||
sandbox_text = | 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 | else | ||
sandbox_text = | sandbox_text = string.format(" and changes may be widely noticed. Test changes in the %s", | ||
sandbox_text | |||
) | |||
end | end | ||
local discussion_text = | local discussion_text = "Consider discussing changes " | ||
if frame.args["2"] and frame.args["2"] ~= "" and frame.args["2"] ~= "yes" then | if frame.args["2"] and frame.args["2"] ~= "" and frame.args["2"] ~= "yes" then | ||
discussion_text = string.format("%sat | discussion_text = string.format("%sat {{direct link|%s}}", discussion_text, frame.args["2"]) | ||
else | else | ||
discussion_text = string.format("%son the | discussion_text = string.format("%son the {{direct link|%s|talk page}}", discussion_text, title.talkPageTitle.fullText ) | ||
end | end | ||
return used_on_text | return table.concat({used_on_text, sandbox_text, discussion_text, " before implementing them.", bot_text}) | ||
end | end | ||
function p.main(frame) | function p.main(frame) | ||
local count = _fetch(frame) | local count = _fetch(frame) | ||
local return_value = "" | |||
local image = "[[File:Ambox warning yellow.svg|40px|alt=Warning|link=]]" | local image = "[[File:Ambox warning yellow.svg|40px|alt=Warning|link=]]" | ||
local type_param = "style" | local type_param = "style" | ||
if (frame.args[1] == "risk" or (count and count >= 100000) ) then | |||
if | |||
image = "[[File:Ambox warning orange.svg|40px|alt=Warning|link=]]" | image = "[[File:Ambox warning orange.svg|40px|alt=Warning|link=]]" | ||
type_param = "content" | type_param = "content" | ||
Line 133: | Line 117: | ||
if frame.args["form"] == "editnotice" then | if frame.args["form"] == "editnotice" then | ||
return_value = frame:expandTemplate{ | |||
title = 'editnotice', | title = 'editnotice', | ||
args = { | args = { | ||
Line 140: | Line 124: | ||
["expiry"] = (frame.args["expiry"] or "") | ["expiry"] = (frame.args["expiry"] or "") | ||
} | } | ||
} | } | ||
else | else | ||
return_value = frame:expandTemplate{ | |||
title = 'ombox', | |||
args = { | |||
["type"] = type_param, | |||
["image"] = image, | |||
} | ["text"] = p.text(frame, count), | ||
["expiry"] = (frame.args["expiry"] or "") | |||
} | |||
} | |||
end | end | ||
return return_value | |||
end | end | ||
return p | return p |