Module:No ping: Difference between revisions
Appearance
merge: general improvement for anti-abuse and unaffecting others elsewhere; using modules can consider whether to reintroduce a user link for TAs |
Deleatur yhe (talk | contribs) m 1 revision imported |
(No difference)
| |
Latest revision as of 04:09, 4 September 2026
Documentation for this module may be created at Module:No ping/doc
local p = {}
function p.main(frame)
local args = frame:getParent().args
return p._main(args)
end
function p._main(args)
local ret = {}
local fullUrl = mw.uri.fullUrl
local format = string.format
for i, username in ipairs(args) do
local label = args['label' .. tostring(i)]
local url = ""
local targetUser = username
if (username:sub(1, (mw.site.namespaces.User.name .. ':'):len()) == (mw.site.namespaces.User.name .. ':')) then
targetUser = username:sub((mw.site.namespaces.User.name .. ':'):len() + 1)
end
if targetUser:sub(1, 2) == '~2' then
-- Temporary user target; use internal contributions link
url = mw.site.namespaces.Special.name .. ':Contributions/' .. targetUser
url = format('[[%s|%s]]', url, label or username)
else
-- Named user target; use external link
url = fullUrl(mw.site.namespaces.User.name .. ':' .. targetUser)
url = tostring(url)
url = format('[%s %s]', url, label or username)
end
ret[#ret + 1] = url
end
ret = mw.text.listToText(ret)
ret = '<span class="plainlinks">' .. ret .. '</span>'
return ret
end
return p