Importer, Bürokraten, Moderatoren (CommentStreams), flow-bot, Oberflächenadministratoren, Push-Abonnementverwalter, Oversighter, Administratoren, Kampagnenbearbeiter (Hochladeassistent)
853
Bearbeitungen
(Updated from sandbox; integrates ifexists feature) |
K (11 Versionen von wpen:Module:Labelled_list_hatnote importiert) |
||
(3 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 35: | Zeile 35: | ||
-- They each have numbers auto-appended, e.g. 'label1', 'label 1', & 'l1' | -- They each have numbers auto-appended, e.g. 'label1', 'label 1', & 'l1' | ||
prefixes = prefixes or defaults.prefixes | prefixes = prefixes or defaults.prefixes | ||
local | local indices = {} | ||
local sparsePages = {} | |||
for k, v in pairs(args) do | for k, v in pairs(args) do | ||
if type(k) == 'number' then | if type(k) == 'number' then | ||
indices[#indices + 1] = k | |||
local display | local display | ||
for i = 1, #prefixes do | for i = 1, #prefixes do | ||
Zeile 43: | Zeile 45: | ||
if display then break end | if display then break end | ||
end | end | ||
sparsePages[k] = display and | |||
string.format('%s|%s', string.gsub(v, '|.*$', ''), display) or v | string.format('%s|%s', string.gsub(v, '|.*$', ''), display) or v | ||
end | end | ||
end | end | ||
table.sort(indices) | |||
local pages = {} | |||
for k, v in ipairs(indices) do pages[#pages + 1] = sparsePages[v] end | |||
return pages | return pages | ||
end | end | ||
Zeile 85: | Zeile 89: | ||
function p._labelledList (pages, labels, options) | function p._labelledList (pages, labels, options) | ||
if options.ifexists then | if options.ifexists then | ||
for k, v | for k = #pages, 1, -1 do --iterate backwards to allow smooth removals | ||
local v = pages[k] | |||
local title = mw.title.new(getTarget(v), namespace) | local title = mw.title.new(getTarget(v), namespace) | ||
if (v == '') or title == nil or not title.exists then | if (v == '') or title == nil or not title.exists then | ||
table.remove(pages, k | table.remove(pages, k) | ||
end | end | ||
end | end |
Bearbeitungen