<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.personaldata.io/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AVandal-m</id>
	<title>Module:Vandal-m - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.personaldata.io/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AVandal-m"/>
	<link rel="alternate" type="text/html" href="https://wiki.personaldata.io/w/index.php?title=Module:Vandal-m&amp;action=history"/>
	<updated>2026-05-30T21:08:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.personaldata.io/w/index.php?title=Module:Vandal-m&amp;diff=77071&amp;oldid=prev</id>
		<title>Podehaye: Created page with &quot;-- This module implements {{vandal-m}}.  local p = {}  local su = require('Module:Su')._main  local function makeWikilink(link, display) 	if display then 		return string.forma...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.personaldata.io/w/index.php?title=Module:Vandal-m&amp;diff=77071&amp;oldid=prev"/>
		<updated>2020-01-25T01:27:00Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;-- This module implements {{vandal-m}}.  local p = {}  local su = require(&amp;#039;Module:Su&amp;#039;)._main  local function makeWikilink(link, display) 	if display then 		return string.forma...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- This module implements {{vandal-m}}.&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local su = require('Module:Su')._main&lt;br /&gt;
&lt;br /&gt;
local function makeWikilink(link, display)&lt;br /&gt;
	if display then&lt;br /&gt;
		return string.format('[[%s|%s]]', link, display)&lt;br /&gt;
	else&lt;br /&gt;
		return string.format('[[%s]]', link)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeUrlLink(data, display)&lt;br /&gt;
	local url = mw.uri.new(data)&lt;br /&gt;
	url = tostring(url)&lt;br /&gt;
	return string.format('[%s %s]', url, display)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeFullUrlLink(page, query, display)&lt;br /&gt;
	local url = mw.uri.fullUrl(page, query)&lt;br /&gt;
	url = tostring(url)&lt;br /&gt;
	return string.format('[%s %s]', url, display)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getTitle(page)&lt;br /&gt;
	local success, title = pcall(mw.title.new, page)&lt;br /&gt;
	if success then&lt;br /&gt;
		return title&lt;br /&gt;
	else&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getLinkIfExists(pagePrefix, username, display)&lt;br /&gt;
	local title = getTitle(pagePrefix .. username)&lt;br /&gt;
	if title and title.exists then&lt;br /&gt;
		return makeWikilink(title.prefixedText, display)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = require('Module:Arguments').getArgs(frame, {parentOnly = true})&lt;br /&gt;
	return p._main(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	local username, usernameEncoded&lt;br /&gt;
	do&lt;br /&gt;
		local lang = mw.language.getContentLanguage()&lt;br /&gt;
		username = args.User or args[1] or 'Example'&lt;br /&gt;
		username = lang:ucfirst(username)&lt;br /&gt;
		usernameEncoded = mw.uri.encode(username)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local links = {}&lt;br /&gt;
&lt;br /&gt;
	-- Talk&lt;br /&gt;
	links[#links + 1] = makeWikilink('User talk:' .. username, 'talk')&lt;br /&gt;
&lt;br /&gt;
	-- Contribs&lt;br /&gt;
	links[#links + 1] = makeWikilink(&lt;br /&gt;
		'Special:Contributions/' .. username,&lt;br /&gt;
		'&amp;lt;span title=&amp;quot;Contributions: ' .. username .. '&amp;quot;&amp;gt;contribs&amp;lt;/span&amp;gt;'&lt;br /&gt;
	)&lt;br /&gt;
&lt;br /&gt;
	-- Block log and autoblocks&lt;br /&gt;
	do&lt;br /&gt;
		local blockLogLink = makeFullUrlLink(&lt;br /&gt;
			'Special:Log/block',&lt;br /&gt;
			{page = 'User:' .. username},&lt;br /&gt;
			'&amp;lt;span title=&amp;quot;Blocklog: '&lt;br /&gt;
				.. username&lt;br /&gt;
				.. '&amp;quot; style=&amp;quot;color:#002bb8&amp;quot;&amp;gt;block&amp;amp;nbsp;log&amp;lt;/span&amp;gt;'&lt;br /&gt;
		)&lt;br /&gt;
		local autoblocksLink = makeUrlLink(&lt;br /&gt;
			{&lt;br /&gt;
				host = 'tools.wmflabs.org',&lt;br /&gt;
				path = '/xtools/autoblock/',&lt;br /&gt;
				query = {user = username}&lt;br /&gt;
			},&lt;br /&gt;
			'&amp;lt;sup title=&amp;quot;Autoblock: '&lt;br /&gt;
				.. username&lt;br /&gt;
				.. '&amp;quot; style=&amp;quot;color:#002bb8&amp;quot;&amp;gt;auto&amp;lt;/sup&amp;gt;'&lt;br /&gt;
		)&lt;br /&gt;
		links[#links + 1] = blockLogLink .. autoblocksLink&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Ban listing&lt;br /&gt;
	if args.ban then&lt;br /&gt;
		links[#links + 1] = makeWikilink(&lt;br /&gt;
			mw.site.namespaces[4].name .. 'List of banned users#' .. username,&lt;br /&gt;
			'ban'&lt;br /&gt;
		)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Arbitration requests&lt;br /&gt;
	links[#links + 1] = getLinkIfExists(&lt;br /&gt;
		'Wikipedia:Requests for arbitration/',&lt;br /&gt;
		username,&lt;br /&gt;
		'rfarb'&lt;br /&gt;
	)&lt;br /&gt;
&lt;br /&gt;
	-- Requests for comment&lt;br /&gt;
	links[#links + 1] = getLinkIfExists(&lt;br /&gt;
		'Wikipedia:Requests for comment/',&lt;br /&gt;
		username,&lt;br /&gt;
		'rfcuser'&lt;br /&gt;
	)&lt;br /&gt;
&lt;br /&gt;
	-- Long-term abuse&lt;br /&gt;
	links[#links + 1] = getLinkIfExists(&lt;br /&gt;
		'Wikipedia:Long term abuse/',&lt;br /&gt;
		username,&lt;br /&gt;
		'lta'&lt;br /&gt;
	)&lt;br /&gt;
&lt;br /&gt;
	-- Requests for checkuser&lt;br /&gt;
	links[#links + 1] = getLinkIfExists(&lt;br /&gt;
		'Wikipedia:Requests for checkuser/Case/',&lt;br /&gt;
		username,&lt;br /&gt;
		'rfcu'&lt;br /&gt;
	)&lt;br /&gt;
&lt;br /&gt;
	-- Sockpuppet investigations&lt;br /&gt;
	links[#links + 1] = getLinkIfExists(&lt;br /&gt;
		'Wikipedia:Sockpuppet investigations/',&lt;br /&gt;
		username,&lt;br /&gt;
		'spi'&lt;br /&gt;
	)&lt;br /&gt;
&lt;br /&gt;
	-- Suspected sockpuppets&lt;br /&gt;
	links[#links + 1] = getLinkIfExists(&lt;br /&gt;
		'Wikipedia:Suspected sock puppets/',&lt;br /&gt;
		username,&lt;br /&gt;
		'ssp'&lt;br /&gt;
	)&lt;br /&gt;
&lt;br /&gt;
	-- Sockpuppet categories&lt;br /&gt;
	-- There isn't a seperator between these and the suspected sockpuppets link,&lt;br /&gt;
	-- so we will add them later instead of adding them to the links table.&lt;br /&gt;
	local sockCategoryLinks&lt;br /&gt;
	do&lt;br /&gt;
		local confirmed = getTitle(&lt;br /&gt;
			'Category:Wikipedia sockpuppets of ' .. username&lt;br /&gt;
		)&lt;br /&gt;
		local suspected = getTitle(&lt;br /&gt;
			'Category:Suspected Wikipedia sockpuppets of ' .. username&lt;br /&gt;
		)&lt;br /&gt;
		if confirmed and confirmed.exists or suspected and suspected.exists then&lt;br /&gt;
			local sup, sub&lt;br /&gt;
			if confirmed and confirmed.exists then&lt;br /&gt;
				sup = '&amp;amp;ensp;' .. makeWikilink(&lt;br /&gt;
					':' .. confirmed.prefixedText,&lt;br /&gt;
					'confirmed&amp;amp;nbsp;socks'&lt;br /&gt;
				)&lt;br /&gt;
			end&lt;br /&gt;
			if suspected and suspected.exists then&lt;br /&gt;
				sub = '&amp;amp;ensp;' .. makeWikilink(&lt;br /&gt;
					':' .. suspected.prefixedText,&lt;br /&gt;
					'suspected&amp;amp;nbsp;socks'&lt;br /&gt;
				)&lt;br /&gt;
			end&lt;br /&gt;
			sockCategoryLinks = su(sup, sub)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add the user link and the outer span tags.&lt;br /&gt;
	return string.format(&lt;br /&gt;
		'&amp;lt;span id=&amp;quot;%s&amp;quot; class=&amp;quot;plainlinks&amp;quot;&amp;gt;%s (%s%s)&amp;lt;/span&amp;gt;',&lt;br /&gt;
		username,&lt;br /&gt;
		makeWikilink('User:' .. username, username),&lt;br /&gt;
		table.concat(links, ' &amp;amp;bull; '),&lt;br /&gt;
		sockCategoryLinks or ''&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Podehaye</name></author>
	</entry>
</feed>