Changes

Jump to navigation Jump to search
965 bytes added ,  12:50, 26 March 2020
m
1 revision imported
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 37: Line 36:  
end
 
end
 
local moduleList = mList.makeList('bulleted', moduleLinks)
 
local moduleList = mList.makeList('bulleted', moduleLinks)
boxArgs.text = 'Uses [[Wikipedia:Lua|Lua]]:\n' .. moduleList
+
local title = mw.title.getCurrentTitle()
 +
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=Lua logo|link=Wikipedia:Lua]]'
+
boxArgs.image = '[[File:Lua-logo-nolabel.svg|30px|alt=|link=]]'
 
return mMessageBox.main('mbox', boxArgs)
 
return mMessageBox.main('mbox', boxArgs)
 
end
 
end
Line 49: Line 56:  
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 65: Line 72:  
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 81: Line 88:  
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)

Navigation menu