Changes

748 bytes removed ,  10:17, 15 November 2019
m
catcorr
Line 1: Line 1:  
-- This module implements the {{lua}} template.
 
-- This module implements the {{lua}} template.
 +
 
local yesno = require('Module:Yesno')
 
local yesno = require('Module:Yesno')
 
local mList = require('Module:List')
 
local mList = require('Module:List')
Line 29: Line 30:  
local boxArgs = {}
 
local boxArgs = {}
 
if #modules < 1 then
 
if #modules < 1 then
boxArgs.text = '<strong class="error">Error: no modules specified</strong>'
+
boxArgs.text = 'This template should use [[Wikipedia:Lua|Lua]]' --'<strong class="error">Error: no modules specified</strong>'
 
else
 
else
 
local moduleLinks = {}
 
local moduleLinks = {}
Line 36: Line 37:  
end
 
end
 
local moduleList = mList.makeList('bulleted', moduleLinks)
 
local moduleList = mList.makeList('bulleted', moduleLinks)
local title = mw.title.getCurrentTitle()
+
boxArgs.text = 'This template uses [[Wikipedia:Lua|Lua]]:\n' .. moduleList
if title.subpageText == "doc" then
  −
title = title.basePageTitle
  −
end
  −
if title.contentModel == "Scribunto" then
  −
boxArgs.text = 'This module depends on the following other modules:' .. moduleList
  −
else
  −
boxArgs.text = 'This template uses [[Wikipedia:Lua|Lua]]:\n' .. moduleList
  −
end
   
end
 
end
 
boxArgs.type = 'notice'
 
boxArgs.type = 'notice'
 
boxArgs.small = true
 
boxArgs.small = true
boxArgs.image = '[[File:Lua-logo-nolabel.svg|30px|alt=|link=]]'
+
boxArgs.image = '[[File:Lua-Logo.svg|30px|alt=Lua logo|link=Wikipedia:Lua]]'
 
return mMessageBox.main('mbox', boxArgs)
 
return mMessageBox.main('mbox', boxArgs)
 
end
 
end
Line 56: Line 49:  
return ''
 
return ''
 
end
 
end
 
+
 
local cats = {}
 
local cats = {}
 
+
-- Error category
+
--[[ Error category
 
if #modules < 1 then
 
if #modules < 1 then
 
cats[#cats + 1] = 'Lua templates with errors'
 
cats[#cats + 1] = 'Lua templates with errors'
end
+
end ]]
 
+
 
-- Lua templates category
 
-- Lua templates category
 
titleObj = titleObj or mw.title.getCurrentTitle()
 
titleObj = titleObj or mw.title.getCurrentTitle()
Line 72: Line 65:  
testcases = true
 
testcases = true
 
}
 
}
if titleObj.namespace == 10
+
if titleObj.namespace == 10  
 
and not subpageBlacklist[titleObj.subpageText]
 
and not subpageBlacklist[titleObj.subpageText]
 
then
 
then
Line 85: Line 78:  
categories['Module:Citation/CS1'] = categories['Module:Citation']
 
categories['Module:Citation/CS1'] = categories['Module:Citation']
 
category = modules[1] and categories[modules[1]]
 
category = modules[1] and categories[modules[1]]
category = category or 'Lua-based templates'
+
category = category
 +
if not category then
 +
if #modules < 1 then
 +
category = 'Lua-candidates'    -- Templates requiring Lua
 +
else
 +
category = 'Lua-based templates'
 +
end
 +
end
 
end
 
end
 
cats[#cats + 1] = category
 
cats[#cats + 1] = category
local protLevels = {
  −
autoconfirmed = 1,
  −
extendedconfirmed = 2,
  −
templateeditor = 3,
  −
sysop = 4
  −
}
  −
local currentProt
  −
if titleObj.id ~= 0 then
  −
-- id is 0 (page does not exist) if am previewing before creating a template.
  −
currentProt = titleObj.protectionLevels["edit"][1]
  −
end
  −
if currentProt == nil then currentProt = 0 else currentProt = protLevels[currentProt] end
  −
for i, module in ipairs(modules) do
  −
local moduleProt = mw.title.new(module).protectionLevels["edit"][1]
  −
if moduleProt == nil then moduleProt = 0 else moduleProt = protLevels[moduleProt] end
  −
if moduleProt < currentProt then
  −
cats[#cats + 1] = "Templates using under-protected Lua modules"
  −
break
  −
end
  −
end
   
end
 
end
 
+
 
for i, cat in ipairs(cats) do
 
for i, cat in ipairs(cats) do
 
cats[i] = string.format('[[Category:%s]]', cat)
 
cats[i] = string.format('[[Category:%s]]', cat)