Spring til indhold

Modul:Effective protection expiry

Page semibeskyttet
Fra Wikipedia, den frie encyklopædi
Documentation iconModuldokumentation[opret]
localp={}

-- 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.
functionp._main(action,pagename)
localtitle
iftype(pagename)=='table'andpagename.prefixedTextthen
title=pagename
elseifpagenamethen
title=mw.title.new(pagename)
else
title=mw.title.getCurrentTitle()
end
pagename=title.prefixedText
ifaction=='autoreview'then
localstabilitySettings=mw.ext.FlaggedRevs.getStabilitySettings(title)
returnstabilitySettingsandstabilitySettings.expiryor'unknown'
elseifaction~='edit'andaction~='move'andaction~='create'andaction~='upload'then
error('First parameter must be one of edit, move, create, upload, autoreview',2)
end
localrawExpiry=mw.getCurrentFrame():callParserFunction('PROTECTIONEXPIRY',action,pagename)
ifrawExpiry=='infinity'then
return'infinity'
elseifrawExpiry==''then
return'unknown'
else
localyear,month,day,hour,minute,second=rawExpiry:match(
'^(%d%d%d%d)(%d%d)(%d%d)(%d%d)(%d%d)(%d%d)$'
)
ifyearthen
returnstring.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)
returnfunction(frame)
returnt._main(k,frame.args[1])
end
end})

returnp