Module:Hidden ping

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.baseText usernames = usernames + 1 elseif (frame:preprocess( "" ) == "") then -- Show error only in preview return ' Error in Template:Hidden ping: Input contains forbidden characters. '			end end end

if usernames < 1 then if (frame:preprocess( "" ) == "") then -- Show error only in preview return ' Error in Template:Hidden ping: Username not given. '		else return '' end elseif usernames > (tonumber(frame.args.max) or 50) and (frame:preprocess( "" ) == "") then -- Show error only in preview return ' Error in Template:Hidden ping: More than '..tostring(frame.args.max or 50)..' names specified. '	else local outStr = '' for i = 1, maxArg do			if args[i] then outStr = outStr..'&#x200B;' end end return outStr end end

return p