No edit summary |
No edit summary |
||
Line 41: | Line 41: | ||
end |
end |
||
+ | local exttext = '' |
||
− | if extensionrights ~= {} then |
||
⚫ | |||
⚫ | |||
--and extension rights |
--and extension rights |
||
for extension, rights in pairs(extensionrights) do |
for extension, rights in pairs(extensionrights) do |
||
− | + | exttext = exttext .. '\n<h4>' .. extension .. '</h4>\n' |
|
for i, right in ipairs(rights) do |
for i, right in ipairs(rights) do |
||
− | + | exttext = exttext .. '* ' .. frame:preprocess(mw.message.new('right-' .. right['right']):inLanguage(mw.getContentLanguage()):plain()) .. ' <code>(' .. right['right'] .. ')</code>\n' |
|
end |
end |
||
⚫ | |||
+ | |||
+ | if exttext > '' then |
||
⚫ | |||
end |
end |
||
return text |
return text |
Revision as of 01:45, 2 April 2019
This module has three configurable variables:
user_rights = 'User rights',
extension_ns = 'Extension',
non_default_ext = 'From non-default extensions'
These should be updated to reflect the language-specific text.
Subpages
The above documentation is transcluded from Module:User group rights/doc.[edit | history | purge]
local p = {}
function p.tableSort(t1, t2)
local l1 = mw.message.new('right-' .. t1['right']):inLanguage(mw.getContentLanguage()):plain()
local l2 = mw.message.new('right-' .. t2['right']):inLanguage(mw.getContentLanguage()):plain()
if l1 < l2 then
return true
end
return false
end
function p.main(frame)
local rights = mw.loadData('Module:User_group_rights/data')
local group = frame:getParent().args[1]
local grouprights = {}
local text = '<h2>User rights</h2>\n'
--get the rights in the selected group
for i, right in ipairs(rights) do
for i2, g in ipairs(right['groups']) do
if g == group then
table.insert(grouprights, right)
end
end
end
--now we sort the rights by the localized right description
table.sort(grouprights, p.tableSort)
local extensionrights = {}
--and now process default rights
for i, right in ipairs(grouprights) do
if right['extension'] == nil then
text = text .. '* ' .. frame:preprocess(mw.message.new('right-' .. right['right']):inLanguage(mw.getContentLanguage()):plain()) .. ' <code>(' .. right['right'] .. ')</code>\n'
else
if extensionrights[right['extension']] == nil then
extensionrights[right['extension']] = { right }
else
table.insert(extensionrights[right['extension']], right)
end
end
end
local exttext = ''
--and extension rights
for extension, rights in pairs(extensionrights) do
exttext = exttext .. '\n<h4>' .. extension .. '</h4>\n'
for i, right in ipairs(rights) do
exttext = exttext .. '* ' .. frame:preprocess(mw.message.new('right-' .. right['right']):inLanguage(mw.getContentLanguage()):plain()) .. ' <code>(' .. right['right'] .. ')</code>\n'
end
end
if exttext > '' then
text = text .. '<h3>From non-default extensions</h3>\n' .. exttext
end
return text
end
return p