پودمان:Check for deprecated parameters
![]() | این پودمان حفاظتشده ارزیابی شدهاست. این پودمان یکی از ویکیپدیا:الگوهای حساس است و در صفحات بسیار زیادی استفاده میشود. محافظت این پودمان در برابر ویرایش، بهدلیل بار قابل توجهی است که خرابکاریها، خطاها یا ویرایشهای جزئی میتوانند به دوش سرورها بگذارند. |
![]() | این پودمان لوآ در تعداد زیادی صفحه صفحه بهکار رفته است و تغییر دادن آن میتواند تأثیرات گستردهای داشتهباشد. لطفاً تغییرات را در زیرصفحههای /تمرین یا /آزمایشی پودمان، یا در پودمان تمرینی خودتان بیازمایید. توصیه میشود که ابتدا در خصوص تغییرات مورد نظر در صفحهٔ بحث گفتگو کرده و سپس آنها را پیادهسازی کنید. |
![]() | این پودمان از پودمانهای زیر استفاده میکند: |
پودمان:Check for deprecated parameters را میتوان برای بررسی کاربردهای پارامترهای منسوخشدهٔ یک الگو به انتهای کد آن الگو افزود. این پودمان در صورت یافتن پارامترهای منسوخشده، صفحه را به یک ردهٔ مشخص میافزاید و در یک پیام در حالت پیشنمایش، پارامتر منسوخشدهٔ مورد استفاده در صفحه را نیز نمایش میدهد.
نکته: با توجه به طبیعت منسوخسازی پارامترها، الگویی که برای پیادهسازی این پودمان ایجاد شده باشد وجود ندارد.
استفاده[ویرایش]
{{#invoke:check for deprecated parameters|check | category = [[رده:<نام رده>|_VALUE_]] | پارامتر قدیمی ۱ = پارامتر جدید ۱ | پارامتر قدیمی ۲ = پارامتر جدید ۲ | .... | پارامتر قدیمی N = پارامتر جدید N }}
جستارهای وابسته[ویرایش]
- رده:پارامترهای بددانسته
- پودمان:Check for unknown parameters
- پودمان:Check for clobbered parameters – پودمانی برای بررسی پارامترهای متناقض
-- This module may be used to compare the arguments passed to the parent
-- with a list of arguments, returning a specified result if an argument is
-- on the list
local p = {}
local function trim(s)
return mw.ustring.match(s, '^%s*(.-)%s*$')
end
local function isnotempty(s)
return s and trim(s) ~= ''
end
function p.check (frame)
-- create the table of deprecated values and their matching new value
local args = frame.args
local dep_values = {}
for k, v in pairs(args) do
if k == 'ignoreblank' or k == 'preview' or k == 'deprecated' then else
dep_values[k] = v
end
end
-- loop over the parent args and see if any are deprecated
local values = {}
local ignoreblank = isnotempty(frame.args['ignoreblank'])
local pargs = frame:getParent().args
for k, v in pairs(pargs) do
if ignoreblank then
if dep_values[k] and v~='' then
table.insert(values, k)
end
else
if dep_values[k] then
table.insert(values, k)
end
end
end
-- add results to the output tables
local res = {}
if #values > 0 then
local preview = frame.args['preview'] or
'این صفحه از [['..frame:getParent():getTitle()..']] با پارامتر منسوخشدهٔ «_VALUE_» استفاده میکند'
if isnotempty(preview) then
preview = require('Module:If preview')._warning({
preview
})
end
-- Kind of dangerous to trust that this is never nil, but I guess it's
-- preferable to display that the use of the module is broken rather than
-- have some sort of tracking category for pages which have an unknown
-- parent tracking template.
local category = frame.args['category']
for k, v in pairs(values) do
local c = mw.ustring.gsub(category, '_VALUE_', v)
table.insert(res, c)
if v == '' then
-- Fix odd bug for | = which gets stripped to the empty string
-- and breaks category links
v = ' '
end
local p = mw.ustring.gsub(
preview,
'_VALUE_» استفاده میکند',
v..'» استفاده میکند. آن را با «'..dep_values[v]..'» جایگزین کنید.'
)
table.insert(res, p )
end
end
return table.concat(res)
end
return p