Modulo:Protezione/sandbox: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nuova sandbox |
m Bot: rimuovo no globals obsoleto |
||
(2 versioni intermedie di un altro utente non mostrate) | |||
Riga 3:
]]--
require('
local getArgs = require('Modulo:Arguments').getArgs
local cfg = mw.loadData('Modulo:Protezione/Configurazione')
local p = {}▼
-- Restituisce la protezione della pagina per l'
--
local function getProtection(action, title)▼
-- @param {table} title
-- @param {string} action
-- @return {string}
return title.protectionLevels[action] and title.protectionLevels[action][1]
end
-- Aggiunge l'icona per l'azione e la protezione specificate.
--
-- @param {string} action
-- @param {string} prot
local function addIcon(action, prot)
-- l'underscore di move serve per cambiare l'ordine di visualizzazione delle icone
Line 22 ⟶ 28:
end
-- Restituisce il messaggio configurato per
--
local function getMsg(action, prot, title)▼
-- @param {table} title
-- @param {string} action
-- @param {string} prot
-- @return {string}
local msg = cfg.messaggi[action][prot][title.namespace]
return msg and msg:gsub('$1', string.format('[[%s|pagina di discussione]]', title.talkPageTitle.fullText)) or nil
end
-- Restituisce la categoria configurata per
--
local function getCategory(action, prot, title)▼
-- @param {table} title
-- @param {string} action
-- @param {string} prot
-- @return {string}
local categories = cfg.categorie[action]
local cat = categories[title.namespace] or categories.default
Line 38 ⟶ 54:
end
-- Restituisce la categoria arbitraria scelta dall'utente.
--
-- @param {string} editProt
-- @param {table} args
-- @return {string}
local function getUserCategory(editProt, args)
local cat
Line 49 ⟶ 69:
end
-- =============================================================================
-- Per l'utilizzo da altro modulo▼
-- Funzioni esportate
-- =============================================================================
▲local p = {}
function p._main(args)
local title, editProt, moveProt, editCat, moveCat, msg, ret
title = mw.title.getCurrentTitle()
editProt = getProtection(title, 'edit'
moveProt = getProtection(title, 'move'
--
if
moveProt = nil
end
Line 64 ⟶ 90:
if editProt then
addIcon('edit', editProt)
msg = getMsg(title, 'edit', editProt
-- il parametro "cat" permette di specificare una categoria arbitraria
if args.cat then
editCat = getUserCategory(editProt, args)
else
editCat = getCategory(title, 'edit', editProt
end
end
-- protezione per lo spostamento
if moveProt
addIcon('move', moveProt)
-- la categoria per lo spostamento non è aggiunta se editProt=sysop
if editProt ~= 'sysop' then
moveCat = getCategory(title, 'move', moveProt
end
end
Line 96 ⟶ 122:
end
--
function p.main(frame)
return p._main(getArgs(frame, { parentOnly = true }))
|