Deprecated: Use of User::getOption was deprecated in MediaWiki 1.35. [Called from SkinScratchWikiSkin::onOutputPageBodyAttributes in /var/www/html/mediawiki/skins/ScratchWikiSkin2/ScratchWikiSkin.skin.php at line 81] in /var/www/html/mediawiki/includes/debug/MWDebug.php on line 381

Deprecated: Use of QuickTemplate::(get/html/text/haveData) with parameter `headelement` was deprecated in MediaWiki 1.39. [Called from QuickTemplate::get in /var/www/html/mediawiki/includes/skins/QuickTemplate.php at line 144] in /var/www/html/mediawiki/includes/debug/MWDebug.php on line 381

Deprecated: Use of BaseTemplate::getTrail was deprecated in MediaWiki 1.39. [Called from MediaWiki\Skins\Cosmos\CosmosTemplate::execute in /var/www/html/mediawiki/skins/Cosmos/includes/CosmosTemplate.php at line 82] in /var/www/html/mediawiki/includes/debug/MWDebug.php on line 381

Deprecated: Use of QuickTemplate::(get/html/text/haveData) with parameter `bottomscripts` was deprecated in MediaWiki 1.39. [Called from QuickTemplate::get in /var/www/html/mediawiki/includes/skins/QuickTemplate.php at line 144] in /var/www/html/mediawiki/includes/debug/MWDebug.php on line 381
Module:Category handler/shared - Pi Server Wiki
×
Create or edit a page
Write your page title here:
There are currently 14 pages on the wiki. Enter a name above to create a page, or check out the list of broken links.
Warning: Users creating spam pages will be blocked and have their pages moved to the trash.



    Pi Server Wiki

    Module:Category handler/shared

    Documentation for this module may be created at Module:Category handler/shared/doc

    -- This module contains shared functions used by [[Module:Category handler]]
    -- and its submodules.
    
    local p = {}
    
    function p.matchesBlacklist(page, blacklist)
    	for i, pattern in ipairs(blacklist) do
    		local match = mw.ustring.match(page, pattern)
    		if match then
    			return true
    		end
    	end
    	return false
    end
    
    function p.getParamMappings(useLoadData)
    	local dataPage = 'Module:Namespace detect/data'
    	if useLoadData then
    		return mw.loadData(dataPage).mappings
    	else
    		return require(dataPage).mappings
    	end
    end
    
    function p.getNamespaceParameters(titleObj, mappings)
    	-- We don't use title.nsText for the namespace name because it adds
    	-- underscores.
    	local mappingsKey
    	if titleObj.isTalkPage then
    		mappingsKey = 'talk'
    	else
    		mappingsKey = mw.site.namespaces[titleObj.namespace].name
    	end
    	mappingsKey = mw.ustring.lower(mappingsKey)
    	return mappings[mappingsKey] or {}
    end
    
    return p