Module:Hidden ping
Documentation for this module may be created at Module:Hidden ping/doc
local p = {} function p.hiddenping(frame) local origArgs = frame:getParent().args local args = {} local maxArg = 0 local usernames = 0 for k, v in pairs(origArgs) do if type(k) == 'number' and mw.ustring.match(v,'%S') then if k > maxArg then maxArg = k end local title = mw.title.new(v) if title then args[k] = title.rootText usernames = usernames + 1 elseif (frame:preprocess( "{{REVISIONID}}" ) == "") then -- Show error only in preview return '<div class="error"><strong>Error in [[Template:Hidden ping]]:</strong> Input contains forbidden characters.</div>' end end end if usernames < 1 then if (frame:preprocess( "{{REVISIONID}}" ) == "") then -- Show error only in preview return '<div class="error"><strong>Error in [[Template:Hidden ping]]:</strong> Username not given.</div>' else return '' end elseif usernames > (tonumber(frame.args.max) or 50) and (frame:preprocess( "{{REVISIONID}}" ) == "") then -- Show error only in preview return '<div class="error"><strong>Error in [[Template:Hidden ping]]:</strong> More than '..tostring(frame.args.max or 50)..' names specified.</div>' else local outStr = '' for i = 1, maxArg do if args[i] then outStr = outStr..'[[:User:'..args[i]..'|​]]' end end return outStr end end return p