ماڊيول:Effective protection expiry
ڏيک
| هي سانچو آهي۔ |
سانچي جي کوٽ لڌي وئي: ماڊيول:Effective protection expiry/doc
| هي سانچو ھزارين صفحن تي استعمال ٿئي ٿو، تنهنڪري ان ۾ ڪيل تبديليون وڏي پيماني تي نظر اچي سگهن ٿيون۔ تبديليون لاڳو ڪرڻ کان اڳ، مهرباني ڪري انهن کي سانچي جي /ريتخاني يا /آزمائشي حالتون وارن ذيلي صفحن ۾ آزمائي ڏسو، يا پنهنجي يوزر ذيلي صفحي ۾ جانچ ڪريو۔ تبديليون لاڳو ڪرڻ کان اڳ ڳالهيون صفحي تي بحث ڪرڻ تي پڻ غور ڪيو۔ |
هي ماڊيول ڪنهن صفحي تي ڪنهن خاص عمل لاءِ لاڳو پابندي جي ختم ٿيڻ معلوم ڪرڻ جو طريقو فراهم ڪري ٿو۔
استعمال
[سنواريو]هي ماڊيول هر ڀيري هلائڻ تي وڌ ۾ وڌ 1 مهانگو پارسر فنڪشن ڪال استعمال ڪندو۔ جيڪڏهن ماڊيول:Effective protection level اڳ ۾ ئي سڏيو ويو آهي ته پوءِ اهو ڪو به اضافي ڪال استعمال نه ڪندو۔
ٻين ماڊيولن مان
[سنواريو]هن ماڊيول کي لوڊ ڪرڻ لاءِ:
local effectiveProtectionExpiry = require('ماڊيول:Effective protection expiry')._main
هي فنڪشن ٻه پيراميٽر قبول ڪري ٿو:
- پهريون: هڪ اسٽرنگ جنهن ۾ عمل جو نالو هجي، جهڙوڪ "edit"، "create"، "move"، "upload"، يا "autoreview"
- ٻيو: (اختياري) صفحي جو نالو يا mw.title فنڪشن مان حاصل ڪيل title
جيڪڏهن ٻيو پيراميٽر نه ڏنو وڃي، ته موجوده ڏيکاريل صفحو استعمال ٿيندو۔
واپسي (return value) هيٺين مان هڪ هوندي:
YY-MM-DDThh:mm:ssفارميٽ ۾ تاريخي اسٽرنگinfinity— انهن صفحن لاءِ جيڪي هميشه لاءِ محفوظ هجن يا موجود هجن پر محفوظ نه هجنunknown— انهن صفحن لاءِ جتي ختم ٿيڻ جي ڄاڻ موجود نه هجي يا صفحو موجود نه هجي ۽ محفوظ به نه هجي
نوٽ: جيڪڏهن موجوده صفحو درخواست ڪيل عمل لاءِ محفوظ نه هجي، ته هي infinity واپس ڪندو۔ انهي حالت ۾، توهان کي الڳ سان ماڊيول:Effective protection level سان چيڪ ڪرڻو پوندو۔
وڪي ٽيڪسٽ مان
[سنواريو]پيراميٽر ساڳيا آهن جيئن سڌي ڪال ڪرڻ وقت هوندا:
سانچو:Tlinv
پڻ ڏسو
[سنواريو]local p = {}
-- Returns the expiry of a restriction of an action on a given title, or unknown if it cannot be known.
-- If no title is specified, the title of the page being displayed is used.
function p._main(action, pagename)
local title
if type(pagename) == 'table' and pagename.prefixedText then
title = pagename
elseif pagename then
title = mw.title.new(pagename)
else
title = mw.title.getCurrentTitle()
end
pagename = title.prefixedText
if action == 'autoreview' then
local stabilitySettings = mw.ext.FlaggedRevs.getStabilitySettings(title)
return stabilitySettings and stabilitySettings.expiry or 'unknown'
elseif action ~= 'edit' and action ~= 'move' and action ~= 'create' and action ~= 'upload' then
error( 'First parameter must be one of edit, move, create, upload, autoreview', 2 )
end
local rawExpiry = mw.getCurrentFrame():callParserFunction('PROTECTIONEXPIRY', action, pagename)
if rawExpiry == 'infinity' then
return 'infinity'
elseif rawExpiry == '' then
return 'unknown'
else
local year, month, day, hour, minute, second = rawExpiry:match(
'^(%d%d%d%d)(%d%d)(%d%d)(%d%d)(%d%d)(%d%d)$'
)
if year then
return string.format(
'%s-%s-%sT%s:%s:%s',
year, month, day, hour, minute, second
)
else
error('internal error in Module:Effective protection expiry; malformed expiry timestamp')
end
end
end
setmetatable(p, { __index = function(t, k)
return function(frame)
return t._main(k, frame.args[1])
end
end })
return p