Модул:Effective protection expiry
Овај модул је предмет заштите страница. То је веома коришћен модул у употреби огромног броја страница или се супституише веома често. Због вандализма или грешака које би утицале на много страница или тривијалног уређивања које би могло да изазове проблеме на серверима, модул је заштићен од уређивања. |
This module provides a way to retrieve the expiry of a restriction over a given action on a page.
Usage
[уреди извор]This module will use up to 1 expensive parser function call each time it is ran. It will not use any if Module:Effective protection level was already called.
From other modules
[уреди извор]To load this module:
local effectiveProtectionExpiry = require('Module:Effective protection expiry')._main
The function accepts two parameters. The first is a string containing the action to check, which must be one of "edit", "create", "move", "upload", or "autoreview". The second is optional, and can either be the name of the page to check, or a title returned from the mw.title functions. If the second parameter is omitted, the page being displayed is the one checked against. The return value is a string containing the name of the group required to perform the given action.
It is not yet possible to retrieve the expiry for pending changes protection ("autoreview" action), so it returns 'unknown' in that case.
Note that if the page is not protected for the requested action, this will return 'infinity'. You need to check separately with Module:Effective protection level.
From wikitext
[уреди извор]The parameters are the same as when it is called directly.
{{#invoke:Effective protection expiry|action|title}}
See also
[уреди извор]
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
return 'unknown'
elseif action ~= 'edit' and action ~= 'move' and action ~= 'create' and action ~= 'upload' then
error( 'Први параметар мора бити један од следећих: 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 = mw.ustring.sub( rawExpiry, 1, 4 )
local month = mw.ustring.sub( rawExpiry, 5, 6 )
local day = mw.ustring.sub( rawExpiry, 7, 8 )
return year .. '-' .. month .. '-' .. day
end
end
setmetatable(p, { __index = function(t, k)
return function(frame)
return t._main(k, frame.args[1])
end
end })
return p