Changes

Matching reality rather than 2018 me's wishful thinking
Line 1: Line 1: −
-- This module implements the {{Uses TemplateStyles}} template.
   
local yesno = require('Module:Yesno')
 
local yesno = require('Module:Yesno')
 
local mList = require('Module:List')
 
local mList = require('Module:List')
Line 16: Line 15:  
end
 
end
   −
function p.main(frame)
+
local function renderBox(tStyles)
local origArgs = frame:getParent().args
+
local boxArgs = {
local args = {}
+
type = 'notice',
for k, v in pairs(origArgs) do
+
small = true,
v = v:match('^%s*(.-)%s*$')
+
image = string.format('[[File:Farm-Fresh css add.svg|32px|alt=%s]]', format('logo-alt'))
if v ~= '' then
+
}
args[k] = v
  −
end
  −
end
  −
return p._main(args)
  −
end
  −
 
  −
function p._main(args, cfg)
  −
local tStyles = mTableTools.compressSparseArray(args)
  −
local box = p.renderBox(tStyles)
  −
local trackingCategories = p.renderTrackingCategories(args, tStyles)
  −
return box .. trackingCategories
  −
end
  −
 
  −
function p.renderBox(tStyles)
  −
local boxArgs = {}
   
if #tStyles < 1 then
 
if #tStyles < 1 then
 
boxArgs.text = string.format('<strong class="error">%s</strong>', format('error-emptylist'))
 
boxArgs.text = string.format('<strong class="error">%s</strong>', format('error-emptylist'))
Line 60: Line 44:  
'\n' .. tStylesList
 
'\n' .. tStylesList
 
end
 
end
boxArgs.type = 'notice'
  −
boxArgs.small = true
  −
boxArgs.image = string.format('[[File:Farm-Fresh css add.svg|32px|alt=%s]]', format('logo-alt'))
   
return mMessageBox.main('mbox', boxArgs)
 
return mMessageBox.main('mbox', boxArgs)
 
end
 
end
   −
function p.renderTrackingCategories(args, tStyles, titleObj)
+
local function renderTrackingCategories(args, tStyles, titleObj)
 
if yesno(args.nocat) then
 
if yesno(args.nocat) then
 
return ''
 
return ''
Line 96: Line 77:  
local tsTitleObj = mw.title.new(ts)
 
local tsTitleObj = mw.title.new(ts)
 
local tsProt = tsTitleObj.protectionLevels["edit"] and tsTitleObj.protectionLevels["edit"][1] or nil
 
local tsProt = tsTitleObj.protectionLevels["edit"] and tsTitleObj.protectionLevels["edit"][1] or nil
if cfg['protection_conflict_category'] and tsProt ~= currentProt and not addedLevelCat then
  −
addedLevelCat = true
  −
cats[#cats + 1] = cfg['protection_conflict_category']
  −
end
   
if cfg['padlock_pattern'] and tsProt and not addedPadlockCat then
 
if cfg['padlock_pattern'] and tsProt and not addedPadlockCat then
 
local content = tsTitleObj:getContent()
 
local content = tsTitleObj:getContent()
Line 105: Line 82:  
cats[#cats + 1] = cfg['missing_padlock_category']
 
cats[#cats + 1] = cfg['missing_padlock_category']
 
addedPadlockCat = true
 
addedPadlockCat = true
 +
end
 +
end
 +
if cfg['protection_conflict_category'] and currentProt and tsProt ~= currentProt and not addedLevelCat then
 +
currentProt = cfg['protection_hierarchy'][currentProt] or 0
 +
tsProt = cfg['protection_hierarchy'][tsProt] or 0
 +
if tsProt < currentProt then
 +
addedLevelCat = true
 +
cats[#cats + 1] = cfg['protection_conflict_category']
 
end
 
end
 
end
 
end
Line 114: Line 99:  
end
 
end
 
return table.concat(cats)
 
return table.concat(cats)
 +
end
 +
 +
function p._main(args, cfg)
 +
local tStyles = mTableTools.compressSparseArray(args)
 +
local box = renderBox(tStyles)
 +
local trackingCategories = renderTrackingCategories(args, tStyles)
 +
return box .. trackingCategories
 +
end
 +
 +
function p.main(frame)
 +
local origArgs = frame:getParent().args
 +
local args = {}
 +
for k, v in pairs(origArgs) do
 +
v = v:match('^%s*(.-)%s*$')
 +
if v ~= '' then
 +
args[k] = v
 +
end
 +
end
 +
return p._main(args)
 
end
 
end
    
return p
 
return p
Anonymous user