ഘടകം:Hidden ping
This module is rated as beta, and is ready for widespread use. It is still new and should be used with some caution to ensure the results are as expected. |
Usage 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
|max=
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 August 2015—ലെ കണക്കുപ്രകാരം[update]). 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