VOOZH about

URL: https://minecraft.wiki/w/Module:Users_table

⇱ Module:Users table – Minecraft Wiki


Module:Users table

From Minecraft Wiki
Jump to navigation Jump to search
Documentation[view] [edit] [history] [purge]Jump to code ↴

This module implements {{Users table}}.

Dependencies

[edit source]
[view] [edit] [history] [purge]The above documentation is transcluded from Module:Users table/doc.
localp={}
localfd_base='https://minecraft.fandom.com%s/wiki/'
localpl_base='https://minewiki.pl/'
localanyGroupName=false
locali18n={
dataDesc='List of users',
unnamedGroup="''Unnamed group''",
userLink='[[%sUser:%s|%s]]%s',
userLinkF='[%sUser:%s %s]%s',
talkLink='[[%sSpecial:TalkPage/User:%s|'..mw.message.new('sp-contributions-talk'):plain()..']]',
talkLinkF='[%sUser_talk:%s '..mw.message.new('sp-contributions-talk'):plain()..']',
contribsLink='[[%sSpecial:Contributions/%s|'..mw.message.new('contribslink'):plain()..']]',
contribsLinkF='[%sSpecial:Contributions/%s '..mw.message.new('contribslink'):plain()..']',
logsLink='[[%sSpecial:Log/%s|'..mw.message.new('sp-contributions-logs'):plain()..']]',
logsLinkF='[%sSpecial:Log/%s '..mw.message.new('sp-contributions-logs'):plain()..']',
}
localfunctionescape(str)
returnstr:gsub('\"','"')
end
localfunctionstripSpaceAndLineAtBothEnds(str)
returnstring.gsub(str,'^[%s\n]*(.-)[%s\n]*$','%1')
end
localfunctionstringToArray(str,splitter)
localrawSplit=mw.text.split(str,splitter)
localresults={}
for_,valueinipairs(rawSplit)do
localstripped=stripSpaceAndLineAtBothEnds(value)
ifstripped~=''then
table.insert(results,stripped)
end
end
returnresults
end
localfunctionparseData(data)
localresultTable=mw.html.create('table'):addClass('alternaterows plainlinks users-table'):attr('data-description',escape(data.titleori18n.dataDesc))
ifdata.titlethen
resultTable:tag('caption'):wikitext(data.title):done()
end
locallastGroupHasName=false
for_,groupinipairs(data.groupsor{})do
ifgroup.nameoranyGroupNamethen
lastGroupHasName=true
resultTable:tag('tr')
:tag('th'):addClass('mcwiki-header users-table-group'):attr('colspan',2):wikitext(group.nameori18n.unnamedGroup):done()
:done()
end
for_,userinipairs(group.usersor{})do
localfields=mw.text.split(mw.text.trim(user)or'',':')
localfield_user=mw.text.trim(fields[1]or'')
localfield_iw=mw.text.trim(fields[2]or'')
localfield_isfd=mw.text.trim(fields[3]or'')
localfield_userdesc=mw.text.trim(fields[4]or'')
localfield_user_pre=field_user
iffield_isfd==''then
field_isfd=nil
iffield_iw~=''then
field_iw=':'..field_iw..':'
end
else
field_user=field_user:gsub(' ','_')
iffield_iw=='en'then
field_iw=''
else
field_iw='/'..field_iw
end
end
iffield_isfdandfield_iw=='en'then
field_iw=''
end
iffield_userdesc~=''then
field_userdesc=mw.message.new('word-separator'):plain()..field_userdesc
end
localfield_ispl=(string.lower(field_isfdor'')=='pl')
resultTable:tag('tr')
:tag('td'):wikitext(field_isfdandi18n.userLinkF:format(field_isplandpl_baseorfd_base:format(field_iw),field_user,field_user_pre,field_userdesc)ori18n.userLink:format(field_iw,field_user,field_user,field_userdesc)):done()
:tag('td')
:tag('div'):addClass('hlist users-table-infolinks')
:tag('ul')
:tag('li'):wikitext(field_isfdandi18n.talkLinkF:format(field_isplandpl_baseorfd_base:format(field_iw),field_user)ori18n.talkLink:format(field_iw,field_user)):done()
:tag('li'):wikitext(field_isfdandi18n.contribsLinkF:format(field_isplandpl_baseorfd_base:format(field_iw),field_user)ori18n.contribsLink:format(field_iw,field_user)):done()
:tag('li'):wikitext(field_isfdandi18n.logsLinkF:format(field_isplandpl_baseorfd_base:format(field_iw),field_user)ori18n.logsLink:format(field_iw,field_user)):done()
:done()
:done()
:done()
:done()
end
end
returntostring(mw.html.create('div'):addClass('users-table-container'):node(resultTable))
end
functionp.table(f)
localargs=f
localframe=mw.getCurrentFrame()
iff==framethen
args=require('Module:ProcessArgs').merge(true)
end
localdata={
title=args.title,
groups={},
}
localarr={}
localarrIndexLength=0
fork,vinpairs(args)do
iftype(k)=='number'then
arr[k]=v
arrIndexLength=math.max(arrIndexLength,k)
end
end
fori=1,arrIndexLength,2do
table.insert(data.groups,{
name=arr[i],
users=stringToArray(arr[i+1]or'',','),
})
end
returnrequire('Module:TSLoader').call('Template:Users table/styles.css')..parseData(data)
end
returnp
Retrieved from "https://minecraft.wiki/w/Module:Users_table?oldid=3226469"

Navigation menu