پودمان:Hidden ping
توضیحات پودمان[ایجاد]
در صورت تمایل یک صفحهٔ توضیحات برای این پودمان اسکریبونتو ایجاد کنید. ویرایشگران میتوانند در صفحههای تمرین (ایجاد | آینه) و آزمایشی (ایجاد) این پودمان را آزمایش کنند. لطفاً ردهها را به زیرصفحهٔ /توضیحات بیافزایید. زیرصفحههای این پودمان. |
local p = {}
local function makeError(msg, frame)
-- Show error only in preview
if (frame:preprocess( "{{REVISIONID}}" ) ~= "") then return '' end
msg ='<strongخطا در [[الگو:پینگ مخفی]]:</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('ورودی شامل نویسههای نامعتبر است.', frame)
end
end
end
if usernames < 1 then
return makeError('نام کاربری وارد نشدهاست.', frame)
elseif usernames > (tonumber(frame.args.max) or 50) then
return makeError('بیش از '..tostring(frame.args.max or 50)..' نام مشخص شدهاست.', frame)
else
local outStr = ''
for i = 1, maxArg do
if args[i] then outStr = outStr..'[[:کاربر:'..args[i]..'|​]]' end
end
return outStr
end
end
return p