در حال ویرایش پودمان:Check for unknown parameters

هشدار: شما وارد نشده‌اید. نشانی آی‌پی شما برای عموم قابل مشاهده خواهد بود اگر هر تغییری ایجاد کنید. اگر وارد شوید یا یک حساب کاربری بسازید، ویرایش‌هایتان به نام کاربری‌تان نسبت داده خواهد شد، همراه با مزایای دیگر.

این ویرایش را می‌توان خنثی کرد. لطفاً تفاوت زیر را بررسی کنید تا تأیید کنید که این چیزی است که می‌خواهید انجام دهید، سپس تغییرات زیر را ذخیره کنید تا خنثی‌سازی ویرایش را به پایان ببرید.

نسخهٔ فعلی متن شما
خط ۳۵: خط ۳۵:
end
end


function p._check(args, pargs)
function p.check (frame)
if type(args) ~= "table" or type(pargs) ~= "table" then
local args = frame.args
-- TODO: error handling
local pargs = frame:getParent().args
return
local ignoreblank = isnotempty(args['ignoreblank'])
end
local showblankpos = isnotempty(args['showblankpositional'])
local knownargs = {}
local unknown = args['unknown'] or 'Found _VALUE_, '
local preview = args['preview']
 
local values = {}
local res = {}
local regexps = {}


-- create the list of known args, regular expressions, and the return string
-- create the list of known args, regular expressions, and the return string
local knownargs = {}
local regexps = {}
for k, v in pairs(args) do
for k, v in pairs(args) do
if type(k) == 'number' then
if type(k) == 'number' then
خط ۵۱: خط ۵۶:
table.insert(regexps, '^' .. v .. '$')
table.insert(regexps, '^' .. v .. '$')
end
end
end
if isnotempty(preview) then
preview = '<div class="hatnote" style="color:red"><strong>Warning:</strong> ' .. preview .. ' (this message is shown only in preview).</div>'
elseif preview == nil then
preview = unknown
end
end


-- loop over the parent args, and make sure they are on the list
-- loop over the parent args, and make sure they are on the list
local ignoreblank = isnotempty(args['ignoreblank'])
local showblankpos = isnotempty(args['showblankpositional'])
local values = {}
for k, v in pairs(pargs) do
for k, v in pairs(pargs) do
if type(k) == 'string' and knownargs[k] == nil then
if type(k) == 'string' and knownargs[k] == nil then
خط ۶۹: خط ۷۶:
table.insert(values, clean(k))
table.insert(values, clean(k))
end
end
elseif type(k) == 'number' and knownargs[tostring(k)] == nil then
elseif type(k) == 'number' and
local knownflag = false
knownargs[tostring(k)] == nil and
for _, regexp in ipairs(regexps) do
( showblankpos or isnotempty(v) )
if mw.ustring.match(tostring(k), regexp) then
then
knownflag = true
table.insert(values, k .. ' = ' .. clean(v))
break
end
end
if not knownflag and ( showblankpos or isnotempty(v) ) then
table.insert(values, k .. ' = ' .. clean(v))
end
end
end
end
end


-- add results to the output tables
-- add results to the output tables
local res = {}
if #values > 0 then
if #values > 0 then
local unknown_text = args['unknown'] or 'Found _VALUE_, '
if frame:preprocess( "{{REVISIONID}}" ) == "" then
 
unknown = preview
if mw.getCurrentFrame():preprocess( "{{REVISIONID}}" ) == "" then
local preview_text = args['preview']
if isnotempty(preview_text) then
preview_text = require('Module:If preview')._warning({preview_text})
elseif preview == nil then
preview_text = unknown_text
end
unknown_text = preview_text
end
end
for _, v in pairs(values) do
for _, v in pairs(values) do
-- Fix odd bug for | = which gets stripped to the empty string and
if v == '' then
-- breaks category links
-- Fix odd bug for | = which gets stripped to the empty string and
if v == '' then v = ' ' end
-- breaks category links
 
v = ' '
end
-- avoid error with v = 'example%2' ("invalid capture index")
-- avoid error with v = 'example%2' ("invalid capture index")
local r = unknown_text:gsub('_VALUE_', {_VALUE_ = v})
local r = unknown:gsub('_VALUE_', {_VALUE_ = v})
table.insert(res, r)
table.insert(res, r)
end
end
خط ۱۰۹: خط ۱۰۲:


return table.concat(res)
return table.concat(res)
end
function p.check(frame)
local args = frame.args
local pargs = frame:getParent().args
return p._check(args, pargs)
end
end


return p
return p
لطفاً توجه داشته‌باشید که همهٔ مشارکت‌ها در ویکی حج منتشرشده تحت Creative Commons Attribution-NonCommercial-ShareAlike در نظر گرفته‌می‌شوند (برای جزئیات بیش‌تر ویکی حج:حق تکثیر را ببینید). اگر نمی‌خواهید نوشته‌هایتان بی‌رحمانه ویرایش و توزیع شوند؛ بنابراین، آنها را اینجا ارائه نکنید.
شما همچنین به ما تعهد می‌کنید که خودتان این را نوشته‌اید یا آن را از یک منبع با مالکیت عمومی یا مشابه آزاد آن برداشته‌اید (برای جزئیات بیش‌تر ویکی حج:حق تکثیر را ببینید). کارهای دارای حق تکثیر را بدون اجازه ارائه نکنید!
لغو راهنمای ویرایش‌کردن (در پنجرهٔ تازه باز می‌شود)

الگوی به‌کاررفته در این صفحه: