Permanently protected module
From Wikipedia, the free encyclopedia

--------------------------------------------------------------------------------

-- This module holds extra link functions for use with [[Module:UserLinks]].

--

-- It is intended for experimenting with new link functions that will eventually

-- be added to the main module code.

--

-- Since this module is transcluded in only a small number of pages, changes

-- should cause little server overhead and should propagate quickly.

--

-- Link functions using the same link code as a function in the main module will

-- be ignored; please give your function a unique code.

--------------------------------------------------------------------------------



-- Load shared helper functions

local mShared = require('Module:UserLinks/shared')

local raiseError = mShared.raiseError

local makeWikitextError = mShared.makeWikitextError

local makeWikilink = mShared.makeWikilink

local makeUrlLink = mShared.makeUrlLink

local makeFullUrlLink = mShared.makeFullUrlLink

local message = mShared.message



local linkFunctions = {}



function linkFunctions.coibot(snippets)

	-- COIBot report

	return makeWikilink(

		nil,

		4,

		'WikiProject Spam/UserReports/' .. snippets.username,

		'COIBot'

	)

end



function linkFunctions.ggl(snippets)

	-- Google search for the username

	return makeUrlLink(

		{

			host = 'www.google.com',

			path = '/search',

			query = {q = snippets.username},

		},

		'Google'

	)

end



function linkFunctions.http(snippets)

	-- To see if an IP is serving a web page



	local host = snippets.username

	if not host:match('^%d+%.%d+%.%d+%.%d+$') then

		if host:match('^[%x:]+$') then

			-- It's IPv6, use RFC 3986 IP-Literal syntax

			host = '[' .. host .. ']'

		else

			-- It's neither IPv4 nor IPv6, return nothing

			return ''

		end

	end



	return makeUrlLink(

		{

			protocol = 'http',

			host = host

		},

		'http'

	)

end



function linkFunctions.msg(snippets)

	-- New message on user talk page

	return makeFullUrlLink(

		snippets.interwiki,

		3,

		snippets.username,

		{

			action = 'edit',

			section = 'new',

		},

		'message'

	)

end



function linkFunctions.rbl(snippets)

	-- Realtime blacklists

	return makeUrlLink(

		{

			protocol = 'https',

			host = 'www.robtex.com',

			path = '/ip-lookup/' .. snippets.username .. '#dnsbl',

		},

		'RBLs'

	)

end



function linkFunctions.rdns(snippets)

	-- Reverse DNS lookup

	return makeUrlLink(

		{

			protocol = 'https',

			host = 'www.dnswatch.info',

			path = '/dns/dnslookup',

			query = {

				la = 'en',

				host = snippets.username,

				submit = 'Resolve'

			}

		},

		'RDNS'

	)

end



function linkFunctions.sbx(snippets)

	-- User sandbox

	return makeWikilink(

		snippets.interwiki,

		2,

		snippets.username .. '/sandbox',

		'sandbox'

	)

end



function linkFunctions.sfs(snippets)

	-- StopForumSpam

	return makeUrlLink(

		{

			protocol = 'https',

			host = 'www.stopforumspam.com',

			path = '/search/' .. snippets.username,

		},

		'StopForumSpam'

	)

end



function linkFunctions.sul2(snippets)

	-- Global contribs, Luxo's tool

	return makeUrlLink(

		{

			host = 'tools.wmflabs.org',

			path = '/guc/index.php',

			query = {

				user = snippets.username,

				lang = snippets.toolLang

			}

		},

		'global contribs'

	)

end



function linkFunctions.uc(snippets)

	-- User creation

	return makeWikilink(

		snippets.interwiki,

		-1,

		'Log/newusers/' .. snippets.username,

		'user creation'

	)

end



function linkFunctions.whois(snippets)

	-- WHOIS information for IPs

	return makeUrlLink(

		{

			protocol = 'https',

			host = 'tools.wmflabs.org',

			path = '/whois/gateway.py',

			query = {

				lookup = 'true',

				ip = snippets.username,

			},

		},

		'WHOIS'

	)

end



function linkFunctions.wlh(snippets)

	-- Links to user page (what links here)

	return makeWikilink(

		snippets.interwiki,

		-1,

		'WhatLinksHere/'

			.. mw.site.namespaces2].name

			.. ':'

			.. snippets.username,

		'links to user page'

	)

end



function linkFunctions.cr(snippets)

	-- Change rights

	return makeWikilink(

		snippets.interwiki,

		-1,

		'UserRights/' .. snippets.username,

		'change rights'

	)

end



return {linkFunctions = linkFunctions}
Permanently protected module
From Wikipedia, the free encyclopedia

--------------------------------------------------------------------------------

-- This module holds extra link functions for use with [[Module:UserLinks]].

--

-- It is intended for experimenting with new link functions that will eventually

-- be added to the main module code.

--

-- Since this module is transcluded in only a small number of pages, changes

-- should cause little server overhead and should propagate quickly.

--

-- Link functions using the same link code as a function in the main module will

-- be ignored; please give your function a unique code.

--------------------------------------------------------------------------------



-- Load shared helper functions

local mShared = require('Module:UserLinks/shared')

local raiseError = mShared.raiseError

local makeWikitextError = mShared.makeWikitextError

local makeWikilink = mShared.makeWikilink

local makeUrlLink = mShared.makeUrlLink

local makeFullUrlLink = mShared.makeFullUrlLink

local message = mShared.message



local linkFunctions = {}



function linkFunctions.coibot(snippets)

	-- COIBot report

	return makeWikilink(

		nil,

		4,

		'WikiProject Spam/UserReports/' .. snippets.username,

		'COIBot'

	)

end



function linkFunctions.ggl(snippets)

	-- Google search for the username

	return makeUrlLink(

		{

			host = 'www.google.com',

			path = '/search',

			query = {q = snippets.username},

		},

		'Google'

	)

end



function linkFunctions.http(snippets)

	-- To see if an IP is serving a web page



	local host = snippets.username

	if not host:match('^%d+%.%d+%.%d+%.%d+$') then

		if host:match('^[%x:]+$') then

			-- It's IPv6, use RFC 3986 IP-Literal syntax

			host = '[' .. host .. ']'

		else

			-- It's neither IPv4 nor IPv6, return nothing

			return ''

		end

	end



	return makeUrlLink(

		{

			protocol = 'http',

			host = host

		},

		'http'

	)

end



function linkFunctions.msg(snippets)

	-- New message on user talk page

	return makeFullUrlLink(

		snippets.interwiki,

		3,

		snippets.username,

		{

			action = 'edit',

			section = 'new',

		},

		'message'

	)

end



function linkFunctions.rbl(snippets)

	-- Realtime blacklists

	return makeUrlLink(

		{

			protocol = 'https',

			host = 'www.robtex.com',

			path = '/ip-lookup/' .. snippets.username .. '#dnsbl',

		},

		'RBLs'

	)

end



function linkFunctions.rdns(snippets)

	-- Reverse DNS lookup

	return makeUrlLink(

		{

			protocol = 'https',

			host = 'www.dnswatch.info',

			path = '/dns/dnslookup',

			query = {

				la = 'en',

				host = snippets.username,

				submit = 'Resolve'

			}

		},

		'RDNS'

	)

end



function linkFunctions.sbx(snippets)

	-- User sandbox

	return makeWikilink(

		snippets.interwiki,

		2,

		snippets.username .. '/sandbox',

		'sandbox'

	)

end



function linkFunctions.sfs(snippets)

	-- StopForumSpam

	return makeUrlLink(

		{

			protocol = 'https',

			host = 'www.stopforumspam.com',

			path = '/search/' .. snippets.username,

		},

		'StopForumSpam'

	)

end



function linkFunctions.sul2(snippets)

	-- Global contribs, Luxo's tool

	return makeUrlLink(

		{

			host = 'tools.wmflabs.org',

			path = '/guc/index.php',

			query = {

				user = snippets.username,

				lang = snippets.toolLang

			}

		},

		'global contribs'

	)

end



function linkFunctions.uc(snippets)

	-- User creation

	return makeWikilink(

		snippets.interwiki,

		-1,

		'Log/newusers/' .. snippets.username,

		'user creation'

	)

end



function linkFunctions.whois(snippets)

	-- WHOIS information for IPs

	return makeUrlLink(

		{

			protocol = 'https',

			host = 'tools.wmflabs.org',

			path = '/whois/gateway.py',

			query = {

				lookup = 'true',

				ip = snippets.username,

			},

		},

		'WHOIS'

	)

end



function linkFunctions.wlh(snippets)

	-- Links to user page (what links here)

	return makeWikilink(

		snippets.interwiki,

		-1,

		'WhatLinksHere/'

			.. mw.site.namespaces2].name

			.. ':'

			.. snippets.username,

		'links to user page'

	)

end



function linkFunctions.cr(snippets)

	-- Change rights

	return makeWikilink(

		snippets.interwiki,

		-1,

		'UserRights/' .. snippets.username,

		'change rights'

	)

end



return {linkFunctions = linkFunctions}

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook