Mòideal:Vandal-m
Related pages |
---|
(deasbaireachd⧼tpt-languages-separator⧽ ⧼tpt-languages-separator⧽eachdraidh⧼tpt-languages-separator⧽ceanglaichean⧼tpt-languages-separator⧽doc⧼tpt-languages-separator⧽bogsa-gainmhich⧼tpt-languages-separator⧽cùisean deuchainn)
This module is currently protected from editing. See the protection policy and protection log for more details. Please discuss any changes on the talk page; you may submit an edit request to ask an administrator to make an edit if it is uncontroversial or supported by consensus. You may also request that this page be unprotected. |
This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
This module implements the {{Vandal-m}} template.
Ùsaid bho Uiciteacsa - Usage from Wikitext
This module cannot be used directly from wikitext. It can only be used through a template, usually the {{Vandal-m}} template. Please see the template page for documentation.
Ùsaid bho Lua - Usage from Lua
To use this module from other Lua modules, first load the module.
local mVandalM = require('Module:Vandal-m')
You can then generate the Vandal-m links by using the _main function.
mVandalM._main(args)
The args variable should be a table containing the arguments to pass to the module. To see the different arguments that can be specified and how they affect the module output, please refer to the {{Vandal-m}} template documentation.
-- This module implements {{Vandal-m}}.
local p = {}
local su = require('Module:Su')._main
local function makeWikilink(link, display)
if display then
return string.format('[[%s|%s]]', link, display)
else
return string.format('[[%s]]', link)
end
end
local function makeUrlLink(data, display)
local url = mw.uri.new(data)
url = tostring(url)
return string.format('[%s %s]', url, display)
end
local function makeFullUrlLink(page, query, display)
local url = mw.uri.fullUrl(page, query)
url = tostring(url)
return string.format('[%s %s]', url, display)
end
local function getTitle(page)
local success, title = pcall(mw.title.new, page)
if success then
return title
else
return nil
end
end
local function getLinkIfExists(pagePrefix, username, display)
local title = getTitle(pagePrefix .. username)
if title and title.exists then
return makeWikilink(title.prefixedText, display)
end
end
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame, {parentOnly = true})
return p._main(args)
end
function p._main(args)
local username, usernameEncoded
do
local lang = mw.language.getContentLanguage()
username = args.User or args[1] or 'Example'
username = lang:ucfirst(username)
usernameEncoded = mw.uri.encode(username)
end
local links = {}
-- Talk
links[#links + 1] = makeWikilink('User talk:' .. username, 'talk')
-- Contribs
links[#links + 1] = makeWikilink(
'Special:Contributions/' .. username,
'<span title="Contributions: ' .. username .. '">contribs</span>'
)
-- Block log and autoblocks
do
local blockLogLink = makeFullUrlLink(
'Special:Log/block',
{page = 'User:' .. username},
'<span title="Blocklog: '
.. username
.. '" style="color:#002bb8">block log</span>'
)
links[#links + 1] = blockLogLink
end
-- Ban listing
if args.ban then
links[#links + 1] = makeWikilink(
mw.site.namespaces[4].name .. 'List of banned users#' .. username,
'ban'
)
end
-- Arbitration requests
links[#links + 1] = getLinkIfExists(
'Wikipedia:Requests for arbitration/',
username,
'rfarb'
)
-- Requests for comment
links[#links + 1] = getLinkIfExists(
'Wikipedia:Requests for comment/',
username,
'rfcuser'
)
-- Long-term abuse
links[#links + 1] = getLinkIfExists(
'Wikipedia:Long term abuse/',
username,
'lta'
)
-- Requests for checkuser
links[#links + 1] = getLinkIfExists(
'Wikipedia:Requests for checkuser/Case/',
username,
'rfcu'
)
-- Sockpuppet investigations
links[#links + 1] = getLinkIfExists(
'Wikipedia:Sockpuppet investigations/',
username,
'spi'
)
-- Suspected sockpuppets
links[#links + 1] = getLinkIfExists(
'Wikipedia:Suspected sock puppets/',
username,
'ssp'
)
-- Sockpuppet categories
-- There isn't a seperator between these and the suspected sockpuppets link,
-- so we will add them later instead of adding them to the links table.
local sockCategoryLinks
do
local confirmed = getTitle(
'Category:Wikipedia sockpuppets of ' .. username
)
local suspected = getTitle(
'Category:Suspected Wikipedia sockpuppets of ' .. username
)
if confirmed and confirmed.exists or suspected and suspected.exists then
local sup, sub
if confirmed and confirmed.exists then
sup = ' ' .. makeWikilink(
':' .. confirmed.prefixedText,
'confirmed socks'
)
end
if suspected and suspected.exists then
sub = ' ' .. makeWikilink(
':' .. suspected.prefixedText,
'suspected socks'
)
end
sockCategoryLinks = su(sup, sub)
end
end
-- Add the user link and the outer span tags.
return string.format(
'<span id="%s" class="plainlinks">%s (%s%s)</span>',
username,
makeWikilink('User:' .. username, username),
table.concat(links, ' • '),
sockCategoryLinks or ''
)
end
return p