Module:Hidden ping
MyWikiBiz, Author Your Legacy — Thursday December 26, 2024
Jump to navigationJump to searchUsage from wikitext
This module cannot be used directly from wikitext. Please use the {{Hidden ping}} template instead.
Usage within templates
{{#invoke:Hidden ping|hiddenping|max=maximum number of names}}
- The Template:Para parameter sets the maximum number of names that the template will accept. If not specified, it defaults to 50 (which is the maximum number that Echo currently supports Template:As of). If this number of names is exceeded, the parent template will return an error message when previewed.
local p = {} local function makeError(msg, frame) -- Show error only in preview if (frame:preprocess( "{{REVISIONID}}" ) ~= "") then return '' end msg ='<strong>Error in [[Template:Hidden ping]]:</strong> ' .. msg return mw.text.tag('div', {['class']='error'}, msg) end 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 else return makeError('Input contains forbidden characters.', frame) end end end if usernames < 1 then return makeError('Username not given.', frame) elseif usernames > (tonumber(frame.args.max) or 50) then return makeError('More than '..tostring(frame.args.max or 50)..' names specified.', frame) 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