Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 

















Module:UserLinks/extra






Аԥсшәа
العربية

تۆرکجه


فارسی

Latviešu


مصرى
Bahasa Melayu


پښتو
Polski
Română
Scots
Shqip
Simple English
کوردی
Српски / srpski
ி
Türkmençe
اردو
Tiếng Vit


 

Edit links
 









Module
Talk
 

















Read
View source
View history
 








Tools
   


Actions  



Read
View source
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 





Permanently protected module

From Wikipedia, the free encyclopedia
 

< Module:UserLinks

--------------------------------------------------------------------------------
-- 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.namespaces[2].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}

Retrieved from "https://en.wikipedia.org/w/index.php?title=Module:UserLinks/extra&oldid=1169751201"

Hidden category: 
Wikipedia template-protected modules
 



This page was last edited on 11 August 2023, at 01:56 (UTC).

Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



Privacy policy

About Wikipedia

Disclaimers

Contact Wikipedia

Code of Conduct

Developers

Statistics

Cookie statement

Mobile view



Wikimedia Foundation
Powered by MediaWiki