Module:Protection banner: Difference between revisions
Content added Content deleted
Enwikipedia>Mr. Stradivarius (start converting the blurb class to the new parameter system) |
Enwikipedia>Mr. Stradivarius (sort parameter methods into alphabetical order, and remove the ones that are no longer needed) |
||
Line 230: | Line 230: | ||
}) |
}) |
||
parameterFuncs.CURRENTVERSION = self._makeCurrentVersionParameter |
parameterFuncs.CURRENTVERSION = self._makeCurrentVersionParameter |
||
parameterFuncs.DELETIONDISCUSSION = self._makeDeletionDiscussionParameter |
parameterFuncs.DELETIONDISCUSSION = self._makeDeletionDiscussionParameter |
||
parameterFuncs.DISPUTESECTION = self. |
parameterFuncs.DISPUTESECTION = self._makeDisputeSectionParameter |
||
parameterFuncs.EDITREQUEST = self._makeEditRequestParameter |
parameterFuncs.EDITREQUEST = self._makeEditRequestParameter |
||
parameterFuncs.EXPIRY = self._makeExpiryParameter |
parameterFuncs.EXPIRY = self._makeExpiryParameter |
||
parameterFuncs.EXPLANATIONBLURB = self._makeExplanationBlurbParameter |
parameterFuncs.EXPLANATIONBLURB = self._makeExplanationBlurbParameter |
||
parameterFuncs.INTROBLURB = self._makeIntroBlurbParameter |
parameterFuncs.INTROBLURB = self._makeIntroBlurbParameter |
||
parameterFuncs.PAGETYPE = self._makePagetypeParameter |
parameterFuncs.PAGETYPE = self._makePagetypeParameter |
||
parameterFuncs.PROTECTIONDATE = self._makeProtectionDateParameter |
parameterFuncs.PROTECTIONDATE = self._makeProtectionDateParameter |
||
parameterFuncs.PROTECTIONLEVEL = self._makeProtectionLevelParameter |
parameterFuncs.PROTECTIONLEVEL = self._makeProtectionLevelParameter |
||
parameterFuncs.PROTECTIONLOG = self._makeProtectionLogParameter |
parameterFuncs.PROTECTIONLOG = self._makeProtectionLogParameter |
||
parameterFuncs.TALKPAGE = self._makeTalkPageParameter |
parameterFuncs.TALKPAGE = self._makeTalkPageParameter |
||
parameterFuncs.VANDAL = self._makeVandalTemplateParameter |
parameterFuncs.VANDAL = self._makeVandalTemplateParameter |
||
self._params = params |
self._params = params |
||
Line 251: | Line 251: | ||
end |
end |
||
function Blurb: |
function Blurb:_makeCurrentVersionParameter() |
||
-- A link to the page history or the move log, depending on the kind of |
|||
-- parameter $1 |
|||
-- protection. |
|||
local key |
|||
local action = self._protectionStatusObj:getAction() |
local action = self._protectionStatusObj:getAction() |
||
local |
local pagename = self._titleObj.prefixedText |
||
if action == ' |
if action == 'move' then |
||
-- We need the move log link. |
|||
key = 'reason-text-semi' |
|||
return self.makeFullUrl( |
|||
elseif action == 'move' then |
|||
'Special:Log', |
|||
key = 'reason-text-move' |
|||
{type = 'move', page = pagename}, |
|||
elseif action == 'create' then |
|||
self._configObj:getMessage('dispute-move-link-display') |
|||
key = 'reason-text-create' |
|||
) |
|||
else |
else |
||
-- We need the history link. |
|||
key = 'reason-text-default' |
|||
return self.makeFullUrl( |
|||
pagename, |
|||
{action = 'history'}, |
|||
self._configObj:getMessage('dispute-edit-link-display') |
|||
) |
|||
end |
|||
end |
|||
function Blurb:_makeDeletionDiscussionLinkParameter() |
|||
local deletionDiscussionPage = self._deletionDiscussionPage |
|||
if deletionDiscussionPage then |
|||
local display = self._configObj:getMessage('deletion-discussion-link-display') |
|||
return string.format('[[%s|%s]]', deletionDiscussionPage, display) |
|||
end |
end |
||
local msg = self._configObj:getMessage(key) |
|||
return self:_substituteParameters(msg) |
|||
end |
end |
||
function Blurb:_makeDisputeSectionParameter() |
function Blurb:_makeDisputeSectionParameter() |
||
-- parameter $3 |
|||
-- "disputes", with or without a section link |
-- "disputes", with or without a section link |
||
local section = self._section |
local section = self._section |
||
Line 285: | Line 296: | ||
return disputes |
return disputes |
||
end |
end |
||
end |
|||
function Blurb:_makeEditRequestParameter() |
|||
local mEditRequest = require('Module:Submit an edit request') |
|||
local action = self._protectionStatusObj:getAction() |
|||
local level = self._protectionStatusObj:getLevel() |
|||
-- Get the display message key. |
|||
local key |
|||
if action == 'edit' and level == 'autoconfirmed' then |
|||
key = 'edit-request-semi-display' |
|||
else |
|||
key = 'edit-request-full-display' |
|||
end |
|||
local display = self._configObj:getMessage(key) |
|||
-- Get the edit request type. |
|||
local requestType |
|||
if action == 'edit' then |
|||
if level == 'autoconfirmed' then |
|||
requestType = 'semi' |
|||
elseif level == 'templateeditor' then |
|||
requestType = 'template' |
|||
end |
|||
end |
|||
requestType = requestType or 'full' |
|||
return mEditRequest.exportLinkToLua{type = requestType, display = display} |
|||
end |
|||
function Blurb:_makeExpiryParameter() |
|||
local expiry = self._protectionStatusObj:getExpiry() |
|||
if expiry == 'indef' then |
|||
return nil |
|||
elseif type(expiry) == 'number' then |
|||
local formatted = Blurb.formatDate(expiry) |
|||
return ' until ' .. formatted |
|||
elseif expiry then |
|||
-- Expiry is an error string. |
|||
return expiry |
|||
end |
|||
end |
|||
function Blurb:_makeExplanationBlurbParameter() |
|||
local action = self._protectionStatusObj:getAction() |
|||
local level = self._protectionStatusObj:getLevel() |
|||
local key |
|||
if action == 'edit' and level == 'autoconfirmed' then |
|||
key = 'explanation-text-semi' |
|||
elseif action == 'move' then |
|||
key = 'explanation-text-move' |
|||
elseif action == 'create' then |
|||
key = 'explanation-text-create' |
|||
else |
|||
key = 'explanation-text-default' |
|||
end |
|||
local msg = self._configObj:getMessage(key) |
|||
return self:_substituteParameters(msg) |
|||
end |
|||
function Blurb:_makeIntroBlurbParameter() |
|||
local key |
|||
local action = self._protectionStatusObj:getAction() |
|||
local level = self._protectionStatusObj:getLevel() |
|||
if action == 'edit' and level == 'autoconfirmed' then |
|||
key = 'reason-text-semi' |
|||
elseif action == 'move' then |
|||
key = 'reason-text-move' |
|||
elseif action == 'create' then |
|||
key = 'reason-text-create' |
|||
else |
|||
key = 'reason-text-default' |
|||
end |
|||
local msg = self._configObj:getMessage(key) |
|||
return self:_substituteParameters(msg) |
|||
end |
end |
||
function Blurb:_makePagetypeParameter() |
function Blurb:_makePagetypeParameter() |
||
-- parameter $4 |
|||
local pagetypes = self._configObj:getConfigTable('bannerPagetypes') |
local pagetypes = self._configObj:getConfigTable('bannerPagetypes') |
||
local namespace = self._titleObj.namespace |
local namespace = self._titleObj.namespace |
||
Line 295: | Line 380: | ||
function Blurb:_makeProtectionDateParameter() |
function Blurb:_makeProtectionDateParameter() |
||
-- parameter $5 |
|||
local protectionDate = self._protectionStatusObj:getProtectionDate() |
local protectionDate = self._protectionStatusObj:getProtectionDate() |
||
if type(protectionDate) == 'number' then |
if type(protectionDate) == 'number' then |
||
Line 302: | Line 386: | ||
return protectionDate |
return protectionDate |
||
end |
end |
||
end |
|||
function Blurb:_makeVandalTemplateParameter() |
|||
-- parameter $6 |
|||
local mVandalM = require('Module:Vandal-m') |
|||
local username = self._username |
|||
username = username or self._titleObj.baseText |
|||
return mVandalM.luaMain{username} |
|||
end |
end |
||
function Blurb:_makeProtectionLevelParameter() |
function Blurb:_makeProtectionLevelParameter() |
||
-- parameter $7 |
|||
local action = self._protectionStatusObj:getAction() |
local action = self._protectionStatusObj:getAction() |
||
local level = self._protectionStatusObj:getLevel() |
local level = self._protectionStatusObj:getLevel() |
||
Line 333: | Line 408: | ||
end |
end |
||
return self._configObj:getMessage(key) |
return self._configObj:getMessage(key) |
||
end |
|||
function Blurb:_makeExpiryParameter() |
|||
-- parameter $8 |
|||
-- @TODO: Check to see if the expiry is valid. |
|||
local expiry = self._protectionStatusObj:getExpiry() |
|||
if expiry == 'indef' then |
|||
return nil |
|||
elseif type(expiry) == 'number' then |
|||
local formatted = Blurb.formatDate(expiry) |
|||
return ' until ' .. formatted |
|||
elseif expiry then |
|||
-- Expiry is an error string. |
|||
return expiry |
|||
end |
|||
end |
|||
function Blurb:_makeCurrentVersionParameter() |
|||
-- parameter $9 |
|||
-- A link to the page history or the move log, depending on the kind of |
|||
-- protection. |
|||
local action = self._protectionStatusObj:getAction() |
|||
local pagename = self._titleObj.prefixedText |
|||
if action == 'move' then |
|||
-- We need the move log link. |
|||
return self.makeFullUrl( |
|||
'Special:Log', |
|||
{type = 'move', page = pagename}, |
|||
self._configObj:getMessage('dispute-move-link-display') |
|||
) |
|||
else |
|||
-- We need the history link. |
|||
return self.makeFullUrl( |
|||
pagename, |
|||
{action = 'history'}, |
|||
self._configObj:getMessage('dispute-edit-link-display') |
|||
) |
|||
end |
|||
end |
end |
||
function Blurb:_makeProtectionLogParameter() |
function Blurb:_makeProtectionLogParameter() |
||
-- parameter $10 |
|||
local action = self._protectionStatusObj:getAction() |
local action = self._protectionStatusObj:getAction() |
||
local pagename = self._titleObj.prefixedText |
local pagename = self._titleObj.prefixedText |
||
Line 395: | Line 431: | ||
function Blurb:_makeTalkPageParameter() |
function Blurb:_makeTalkPageParameter() |
||
-- parameter $11 |
|||
local section = self._section |
local section = self._section |
||
local display = self._configObj:getMessage('talk-page-link-display') |
local display = self._configObj:getMessage('talk-page-link-display') |
||
Line 407: | Line 442: | ||
end |
end |
||
function Blurb: |
function Blurb:_makeVandalTemplateParameter() |
||
local mVandalM = require('Module:Vandal-m') |
|||
-- parameter $12 |
|||
local username = self._username |
|||
local mEditRequest = require('Module:Submit an edit request') |
|||
username = username or self._titleObj.baseText |
|||
local action = self._protectionStatusObj:getAction() |
|||
return mVandalM.luaMain{username} |
|||
local level = self._protectionStatusObj:getLevel() |
|||
-- Get the display message key. |
|||
local key |
|||
if action == 'edit' and level == 'autoconfirmed' then |
|||
key = 'edit-request-semi-display' |
|||
else |
|||
key = 'edit-request-full-display' |
|||
end |
|||
local display = self._configObj:getMessage(key) |
|||
-- Get the edit request type. |
|||
local requestType |
|||
if action == 'edit' then |
|||
if level == 'autoconfirmed' then |
|||
requestType = 'semi' |
|||
elseif level == 'templateeditor' then |
|||
requestType = 'template' |
|||
end |
|||
end |
|||
requestType = requestType or 'full' |
|||
return mEditRequest.exportLinkToLua{type = requestType, display = display} |
|||
end |
|||
function Blurb:_makeRequestUnprotectionParameter() |
|||
-- parameter $13 |
|||
if self._titleObj.namespace ~= 8 then |
|||
-- MediaWiki pages can't be unprotected. |
|||
return self._configObj:getMessage('request-unprotection-blurb') |
|||
end |
|||
end |
|||
function Blurb:_makeSubjectPageLinksParameter() |
|||
-- parameter $14 |
|||
-- Don't display these links if we are on a talk page. |
|||
if not self._titleObj.isTalkPage then |
|||
local msg = self._configObj:getMessage('semi-subject-page-links') |
|||
return self:_substituteParameters(msg) |
|||
end |
|||
end |
|||
function Blurb:_makeDeletionBlurbParameter() |
|||
-- parameter $15 |
|||
local deletionDiscussionPage = self._deletionDiscussionPage |
|||
local key |
|||
if deletionDiscussionPage then |
|||
key = 'deletion-discussion-blurb-xfd' |
|||
else |
|||
key = 'deletion-discussion-blurb-noxfd' |
|||
end |
|||
local msg = self._configObj:getMessage(msg) |
|||
return self._substituteParameters(msg) |
|||
end |
|||
function Blurb:_makeDeletionDiscussionLinkParameter() |
|||
-- parameter $16 |
|||
local deletionDiscussionPage = self._deletionDiscussionPage |
|||
if deletionDiscussionPage then |
|||
local display = self._configObj:getMessage('deletion-discussion-link-display') |
|||
return string.format('[[%s|%s]]', deletionDiscussionPage, display) |
|||
end |
|||
end |
|||
function Blurb:_makeDeletionLogParameter() |
|||
-- parameter $17 |
|||
return Blurb.makeFullUrl( |
|||
'Special:Log', |
|||
{type = 'delete', page = self._titleObj.prefixedText}, |
|||
self._configObj:getMessage('deletion-log-link-display') |
|||
) |
|||
end |
|||
function Blurb:_makeExplanationBlurbParameter() |
|||
-- parameter $18 |
|||
local action = self._protectionStatusObj:getAction() |
|||
local level = self._protectionStatusObj:getLevel() |
|||
local key |
|||
if action == 'edit' and level == 'autoconfirmed' then |
|||
key = 'explanation-text-semi' |
|||
elseif action == 'move' then |
|||
key = 'explanation-text-move' |
|||
elseif action == 'create' then |
|||
key = 'explanation-text-create' |
|||
else |
|||
key = 'explanation-text-default' |
|||
end |
|||
local msg = self._configObj:getMessage(key) |
|||
return self:_substituteParameters(msg) |
|||
end |
end |
||