Module:SPI archive notice
Jump to navigation
Jump to search
![]() | This module is rated as alpha. It is ready for third-party input, and may be used on a few pages to see if problems arise, but should be watched. Suggestions for new features or changes in their input and output mechanisms are welcome. |
![]() | This Lua module is used on approximately 30,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
Used by Template:SPI archive notice to automatically categorise if the master may not exist.
local mRedirect = require('Module:Redirect')
local getArgs = require('Module:Arguments').getArgs
local isIPOrRange = require('Module:IPAddress').isIpOrRange
local p = {}
-- function p.checkIfSPIMayNeedRename(frame)
-- local args = getArgs(frame)
-- return p._checkIfSPIMayNeedRename(args)
-- end
function p.checkIfSPIMayNeedRename(frame)
local args = getArgs(frame)
-- Fix capitlisation of the username
args[1] = mw.ustring.upper(args[1]:sub(1, 1)) .. args[1]:sub(2)
if (isIPOrRange(frame) ~= '') then
return 'no'
elseif (mw.title.new('User talk:' .. args[1]):getContent() == nil and mw.title.new('User:' .. args[1]):getContent() == nil) then
return 'yes_no_user_content'
else
local redirectTarget = mRedirect.getTarget('User talk:' .. args[1])
if (redirectTarget ~= nil) then
if (mw.ustring.find(redirectTarget, '^User:' .. args[1]) or mw.ustring.find(redirectTarget, '^User talk:' .. args[1])) then
return 'no'
else
return 'yes_redirected_elsewhere'
end
else
return 'no'
end
end
end
return p