Dokumentasion ti modulo

Daytoy a modulo ket isayangkatna ti plantilia ti {{bandalo-m}}.

Panagusar manipud ti wikitext

urnosen

Daytoy a modulo ket saan a mabalin a dagus a mausar manipud ti wikitext. Daytoy ket mabalin laeng a mausar babaen ti plantilia, ken kadawyan a ti plantilia ti {{bandalo-m}}. Pangngaasi a kitaen ti panid ti plantilia para iti dokumentasion.

Panagusar kadagti sabali a modulo ti Lua

urnosen

Ti panagusar daytoy a modulo manipud kadagiti sabali a modulo ti Lua, umuna nga ikarga ti modulo.

local mVandalM = require('Modulo:Bandalo-m')

Mabalinmonton ti agpataud kadagiti silpo ti bandalo-m babaen ti panagusar ti annong ti _main .

mVandalM._main(args)

Ti panagduduma ti args ket nasken a tabla nga aglaon kadagiti argumento a maipasa iti modulo. Ti mangkita kadagiti sabali nga argumento a mabalin a mainaganan ken no kasanoda a maapektaran ti iparuar ti modulo, pangngaasi a kitaen ti dokumentasion ti plantilia ti {{bandalo-m}} .

-- Daytoy a modulo ket isayangkatna ti {{bandalo-m}}.

local p = {}

local su = require('Modulo: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('Modulo:Dagiti argumento').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 'Kaspagarigan'
		username = lang:ucfirst(username)
		usernameEncoded = mw.uri.encode(username)
	end

	local links = {}

	-- Talk
	links[#links + 1] = makeWikilink('Agar-aramat tungtungan:' .. username, 'tungtungan')

	-- Contribs
	links[#links + 1] = makeWikilink(
		'Espesial:Contributions/' .. username,
		'<span title="Dagiti kontribusion: ' .. username .. '">kontribusion</span>'
	)

	-- Block log and autoblocks
	do
		local blockLogLink = makeFullUrlLink(
			'Espesial:Log/block',
			{page = 'Agar-aramat:' .. username},
			'<span title="Listaan ti serra: '
				.. username
				.. '" style="color:#002bb8">listaan&nbsp;ti&nbsp;serra</span>'
		)
		local autoblocksLink = makeUrlLink(
			{
				host = 'tools.wmflabs.org',
				path = '/xtools/autoblock/',
				query = {user = username}
			},
			'<sup title="Autoserra: '
				.. username
				.. '" style="color:#002bb8">auto</sup>'
		)
		links[#links + 1] = blockLogLink .. autoblocksLink
	end

	-- Ban listing
	if args.ban then
		links[#links + 1] = makeWikilink(
			mw.site.namespaces[4].name .. 'Listaan dagiti naiparit nga agar-aramat#' .. username,
			'ban'
		)
	end

	-- Arbitration requests
	links[#links + 1] = getLinkIfExists(
		'Wikipedia:Dagiti kiddaw para iti arbitrasion/',
		username,
		'rfarb'
	)

	-- Requests for comment
	links[#links + 1] = getLinkIfExists(
		'Wikipedia:Dagiti kiddaw ti komentario/',
		username,
		'rfcuser'
	)

	-- Long-term abuse
	links[#links + 1] = getLinkIfExists(
		'Wikipedia:Napaut a termino a panagabuso/',
		username,
		'lta'
	)

	-- Requests for checkuser
	links[#links + 1] = getLinkIfExists(
		'Wikipedia:Dagiti kiddaw dagiti panagkita ti agar-aramat/Kaso/',
		username,
		'rfcu'
	)

	-- Sockpuppet investigations
	links[#links + 1] = getLinkIfExists(
		'Wikipedia:Dagiti panagsukimat ti tirtiris a pakabilangan/',
		username,
		'spi'
	)

	-- Suspected sockpuppets
	links[#links + 1] = getLinkIfExists(
		'Wikipedia:Dagiti nasuspetsa a tirtiris a pakabilangan/',
		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(
			'Kategoria:Dagiti tirtiris a pakabilangan ni ' .. username
		)
		local suspected = getTitle(
			'Kategoria:Dagiti nasuspetsa a tirtiris a pakabilangan ni ' .. username
		)
		if confirmed and confirmed.exists or suspected and suspected.exists then
			local sup, sub
			if confirmed and confirmed.exists then
				sup = '&ensp;' .. makeWikilink(
					':' .. confirmed.prefixedText,
					'dagiti&nbsp;napasingkedan&nbsp;a&nbsp;tirtiris&nbsp;a&nbsp;pakabilangan'
				)
			end
			if suspected and suspected.exists then
				sub = '&ensp;' .. makeWikilink(
					':' .. suspected.prefixedText,
					'dagiti&nbsp;nasuspetsa&nbsp;a&nbsp;tirtiris&nbsp;a&nbsp;pakabilangan'
				)
			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('Agar-aramat:' .. username, username),
		table.concat(links, ' &bull; '),
		sockCategoryLinks or ''
	)
end

return p