Module:Lua banner: Difference between revisions

From Test Wiki
Content deleted Content added
m>Pppery
...
add class .tpl-lua-banner
Line 6: Line 6:
local mMessageBox = require('Module:Message box')
local mMessageBox = require('Module:Message box')
local TNT = require('Module:TNT')
local TNT = require('Module:TNT')
local lang = mw.getCurrentFrame():preprocess('{{int:lang}}')


local p = {}
local p = {}


local function format(msg)
local function format(msg)
return TNT.format('I18n/Lua banner', msg)
return TNT.formatInLanguage(lang, 'I18n/Lua banner', msg)
end
end


Line 55: Line 56:
boxArgs.type = 'notice'
boxArgs.type = 'notice'
boxArgs.small = true
boxArgs.small = true
boxArgs.class = 'tpl-lua-banner'
boxArgs.image = string.format(
boxArgs.image = string.format(
'[[File:Lua-logo-nolabel.svg|30px|alt=%s|link=%s]]',
'<span aria-hidden="true">[[File:Lua-Logo-small.svg|30px|alt=%s|link=%s]]</span>',
format('logo_alt'),
format('logo_alt'),
format('logo_link')
format('logo_link')
Line 77: Line 79:
end
end
local protCatName
-- Lua templates category
-- Lua templates category
titleObj = titleObj or mw.title.getCurrentTitle()
titleObj = titleObj or mw.title.getCurrentTitle()
Line 83: Line 84:
and not cfg['subpage_blacklist'][titleObj.subpageText]
and not cfg['subpage_blacklist'][titleObj.subpageText]
then
then
protCatName = "Templates using under-protected Lua modules"
local category = args.category
local category = args.category
if not category then
if not category then
Line 98: Line 98:
if category then
if category then
cats[#cats + 1] = category
cats[#cats + 1] = category
end
elseif titleObj.namespace == 828 then
protCatName = "Modules depending on under-protected modules"
end
if not args.noprotcat and protCatName then
local protLevels = {
autoconfirmed = 1,
["banner-protect"] = 3,
sysop = 4,
["centralnotice-admin"] = 5
}
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 moduleTitle = mw.title.new(module)
local moduleProt = moduleTitle and moduleTitle.protectionLevels["edit"][1]
if moduleProt == nil then moduleProt = 0 else moduleProt = protLevels[moduleProt] end
if moduleProt < currentProt then
cats[#cats + 1] = protCatName
break
end
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)