Module:DPLUtil

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