Module:Protection banner: Difference between revisions
output the categories, and don't display the banner if the page is not protected
(add expiry category code) |
(output the categories, and don't display the banner if the page is not protected) |
||
Line 705: | Line 705: | ||
local Category = class('Category') | local Category = class('Category') | ||
function Category:initialize(configObj, protectionStatusObj | function Category:initialize(configObj, protectionStatusObj) | ||
self._configObj = configObj | self._configObj = configObj | ||
self._protectionStatusObj = protectionStatusObj | self._protectionStatusObj = protectionStatusObj | ||
end | end | ||
Line 740: | Line 739: | ||
local protectionStatusObj = self._protectionStatusObj | local protectionStatusObj = self._protectionStatusObj | ||
local titleObj = self._titleObj | local titleObj = self._titleObj | ||
-- Get the level and exit if the page is not protected. | |||
local level = protectionStatusObj:getLevel() | |||
if level == '*' then | |||
return '' | |||
end | |||
-- Get the expiry. | -- Get the expiry. | ||
Line 763: | Line 768: | ||
local reason = protectionStatusObj:getReason() | local reason = protectionStatusObj:getReason() | ||
local action = protectionStatusObj:getAction() | local action = protectionStatusObj:getAction() | ||
--[[ | --[[ | ||
Line 883: | Line 887: | ||
if cat then | if cat then | ||
Category.setName(self, cat) | Category.setName(self, cat) | ||
return Category. | return Category.render(self) | ||
else | else | ||
error( | error( | ||
Line 915: | Line 919: | ||
local cat = configObj:getMessage('tracking-category-expiry') | local cat = configObj:getMessage('tracking-category-expiry') | ||
Category.setName(self, cat) | Category.setName(self, cat) | ||
return Category. | return Category.render(self) | ||
end | end | ||
end | end | ||
Line 935: | Line 939: | ||
if level == '*' or type(expiry) == 'number' and expiry < os.time() then | if level == '*' or type(expiry) == 'number' and expiry < os.time() then | ||
Category.setName(self, configObj:getMessage('tracking-category-incorrect')) | Category.setName(self, configObj:getMessage('tracking-category-incorrect')) | ||
return Category. | return Category.render(self) | ||
end | end | ||
end | end | ||
Line 967: | Line 971: | ||
-- Render the banner | -- Render the banner | ||
if protectionObj:getLevel() ~= '*' then | |||
-- Get the banner object | -- Get the banner object | ||
local isPadlock = yesno(args.small) | local isPadlock = yesno(args.small) | ||
Line 1,006: | Line 1,010: | ||
-- Render the categories | -- Render the categories | ||
do | |||
local objects = { | |||
ProtectionCategory:new(configObj, protectionObj, titleObj), | |||
ExpiryCategory:new(configObj, protectionObj), | |||
ErrorCategory:new(configObj, protectionObj) | |||
} | |||
for _, obj in ipairs(objects) do | |||
ret[#ret + 1] = obj:render() | |||
end | |||
end | |||
return table.concat(ret) | return table.concat(ret) |