Module:High-use: Difference between revisions

413 bytes added ,  3 years ago
m
31 revisions imported from wikipedia:Module:High-use: see Topic:Vtixlm0q28eo6jtf
(Remove all pages parameter as there should be no need to set that manually)
m (31 revisions imported from wikipedia:Module:High-use: see Topic:Vtixlm0q28eo6jtf)
 
(6 intermediate revisions by 3 users not shown)
Line 37: Line 37:
if count and count > 250000 then
if count and count > 250000 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)
if percent >= 1 then
return_value = string.format("%s pages, or roughly %s%% of all", return_value, percent)
end
end
end
end
end
Line 58: Line 60:
-- Only show the information about how this template gets updated if someone
-- Only show the information about how this template gets updated if someone
-- is actually editing the page and maybe trying to update the count.
-- is actually editing the page and maybe trying to update the count.
local bot_text = (frame:preprocess("{{REVISIONID}}") == "") and "\n\n----\n'''Preview message''': Transclusion count updated automatically ([[Template:High-use/doc#Technical details|see documentation]]</small>)." or ''
local bot_text = (frame:preprocess("{{REVISIONID}}") == "") and "\n\n----\n'''Preview message''': Transclusion count updated automatically ([[Template:High-use/doc#Technical details|see documentation]])." or ''
if count == nil then count = _fetch(frame) end
if count == nil then count = _fetch(frame) end
Line 71: Line 73:
end
end
local templateCount = ('on [https://templatecount.toolforge.org/index.php?lang=en&namespace=%s&name=%s %s pages].'):format(
local templateCount = ('on [https://templatecount.toolforge.org/index.php?lang=en&namespace=%s&name=%s %s pages]'):format(
mw.title.getCurrentTitle().namespace, mw.uri.encode(title.text), p.num(frame, count))
mw.title.getCurrentTitle().namespace, mw.uri.encode(title.text), p.num(frame, count))
local used_on_text = "'''This " .. (mw.title.getCurrentTitle().namespace == 828 and "Lua module" or "template") .. ' is used ';
local used_on_text = "'''This " .. (mw.title.getCurrentTitle().namespace == 828 and "Lua module" or "template") .. ' is used ';
Line 114: Line 116:
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"
local epilogue = ''
if frame.args['system'] and frame.args['system'] ~= '' then
if frame.args['system'] and frame.args['system'] ~= '' then
image = "[[File:Ambox important.svg|40px|alt=Warning|link=]]"
image = "[[File:Ambox important.svg|40px|alt=Warning|link=]]"
type_param = "content"
type_param = "content"
local nocat = frame:getParent().args['nocat'] or frame.args['nocat']
local categorise = (nocat == '' or not require('Module:Yesno')(nocat))
if categorise then
epilogue = frame:preprocess('{{Sandbox other||{{#switch:{{#invoke:Effective protection level|{{#switch:{{NAMESPACE}}|File=upload|#default=edit}}|{{FULLPAGENAME}}}}|sysop|templateeditor|interfaceadmin=|#default=[[Category:Pages used in system messages needing protection]]}}}}')
end
elseif (frame.args[1] == "risk" or (count and count >= 100000)) then
elseif (frame.args[1] == "risk" or (count and count >= 100000)) then
image = "[[File:Ambox warning orange.svg|40px|alt=Warning|link=]]"
image = "[[File:Ambox warning orange.svg|40px|alt=Warning|link=]]"
Line 126: Line 133:
if frame.args["form"] == "editnotice" then
if frame.args["form"] == "editnotice" then
return_value = frame:expandTemplate{
return frame:expandTemplate{
title = 'editnotice',
title = 'editnotice',
args = {
args = {
Line 133: Line 140:
["expiry"] = (frame.args["expiry"] or "")
["expiry"] = (frame.args["expiry"] or "")
}
}
}
} .. epilogue
else
else
return_value = frame:expandTemplate{
return require('Module:Message box').main('ombox', {
title = 'ombox',
type = type_param,
args = {
image = image,
["type"] = type_param,
text = p.text(frame, count),
["image"] = image,
expiry = (frame.args["expiry"] or "")
["text"] = p.text(frame, count),
}) .. epilogue
["expiry"] = (frame.args["expiry"] or "")
}
}
end
end
return return_value
end
end


return p
return p