Fortnite Esports Wiki
m (Protected "Module:DPLUtil" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
m (Syncing content across wikis)
Line 1: Line 1:
 
local m_text = require('Module:Text')
 
local m_text = require('Module:Text')
  +
local util_table = require('Module:TableUtil')
 
local lang = mw.getLanguage('en')
 
local lang = mw.getLanguage('en')
 
local p = {}
 
local p = {}
Line 7: Line 8:
 
link = string.gsub(link,'%(','\\%(')
 
link = string.gsub(link,'%(','\\%(')
 
link = string.gsub(link,'%)','\\%)')
 
link = string.gsub(link,'%)','\\%)')
  +
link = string.gsub(link,'%+','\\%+')
 
return link
 
return link
 
end
 
end
Line 27: Line 29:
 
newlinks = newlinks .. mw.title.getCurrentTitle().text
 
newlinks = newlinks .. mw.title.getCurrentTitle().text
 
return m_text.split(newlinks,';')
 
return m_text.split(newlinks,';')
  +
end
  +
  +
function p.whatRedirectsHere(page, settings, frame)
  +
local args = {
  +
'',
  +
linksto = page,
  +
redirects = 'only',
  +
namespace = '',
  +
format = ',,%PAGE%;,',
  +
debug = '0'
  +
}
  +
util_table.merge(args, settings)
  +
if not frame then
  +
frame = mw.getCurrentFrame()
  +
end
  +
local list = frame:callParserFunction{
  +
name = '#dpl',
  +
args = args
  +
}
  +
local tbl = m_text.split(list,';')
  +
if not next(tbl) then
  +
return {}
  +
end
  +
table.remove(tbl, #tbl)
  +
return tbl
 
end
 
end
   

Revision as of 04:12, 2 November 2018

Edit the documentation or categories for this module.


local m_text = require('Module:Text')
local util_table = require('Module:TableUtil')
local lang = mw.getLanguage('en')
local p = {}

function p.escape(link)
	link = link or ''
	link = string.gsub(link,'%(','\\%(')
	link = string.gsub(link,'%)','\\%)')
	link = string.gsub(link,'%+','\\%+')
	return link
end

function p.whichPagesExist(links, frame)
	if not frame then frame = mw.getCurrentFrame() end
	for k, link in ipairs(links) do
		links[k] = lang:ucfirst(p.escape(link))
	end
	newlinks = frame:callParserFunction{
		name = '#dpl:',
		args = {
			'',
			titleregexp = table.concat(links,'|'),
			format = ',%PAGE%,;,',
			namespace = '',
			debug = 0,
		}
	}
	newlinks = newlinks .. mw.title.getCurrentTitle().text
	return m_text.split(newlinks,';')
end

function p.whatRedirectsHere(page, settings, frame)
	local args = {
		'',
		linksto = page,
		redirects = 'only',
		namespace = '',
		format = ',,%PAGE%;,',
		debug = '0'
	}
	util_table.merge(args, settings)
	if not frame then
		frame = mw.getCurrentFrame()
	end
	local list = frame:callParserFunction{
		name = '#dpl',
		args = args
	}
	local tbl = m_text.split(list,';')
	if not next(tbl) then
		return {}
	end
	table.remove(tbl, #tbl)
	return tbl
end

return p