Module:Effective protection expiry/sandbox: Difference between revisions

Content deleted Content added
Jackmcbarn (talk | contribs)
save a call to mw.title.new and add a comment
sync
Line 1:
local effectiveProtectionLevel = require('Module:Effective protection level/sandbox')._main
 
local p = {}
 
Line 15 ⟶ 13:
end
pagename = title.prefixedText
if action == 'autoreview' then
local _, rawExpiry = effectiveProtectionLevel(action, title)
return 'infinityunknown'
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 cascadingExpiryrawExpiry = framemw.getCurrentFrame():callParserFunction('PROTECTIONEXPIRY', action, vpagename)
if rawExpiry == 'infinity' then
return 'infinity'
elseif rawExpiry == nil then
-- a nil expiry gets returned for cascading-protected pages, since it's extra work to see their expiry, and not all uses of effective protection level need it. if we're called, we do need it, so find out what it is
local frame = mw.getCurrentFrame()
rawExpiry = 0
for _,v in title.cascadingProtection.sources do
local cascadingExpiry = frame:callParserFunction('PROTECTIONEXPIRY', action, v)
if cascadingExpiry == 'infinity' then
return 'infinity'
end
cascadingExpiry = tonumber(cascadingExpiry)
if rawExpiry < cascadingExpiry then
rawExpiry = cascadingExpiry
end
end
elseif rawExpiry == '' then
-- should never happen
mw.log(string.format('Module:Effective_protection_level returned a blank expiry for action %s and pagename %s', action, pagename))
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
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