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:Toolbar - 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:Toolbar

    Documentation for this module may be created at Module:Toolbar/doc

    -- This module implements {{toolbar}}.
    
    local mArguments -- Lazily initialise [[Module:Arguments]]
    local mTableTools = require('Module:TableTools')
    local yesno = require('Module:Yesno')
    
    local p = {}
    
    function p.main(frame)
    	mArguments = require('Module:Arguments')
    	local args = mArguments.getArgs(frame)
    	return p._main(args)
    end
    
    function p._main(args)
    	local toolbarItems = p.makeToolbarItems(args)
    	if not toolbarItems then
    		-- Return the blank string if no arguments were specified, rather than
    		-- returning empty brackets.
    		return ''
    	elseif yesno(args.span) == false then
    		return string.format(
    			'(%s)',
    			toolbarItems
    		)
    	else
    		return string.format(
    			'<span class="plainlinks%s"%s>(%s)</span>',
    			type(args.class) == 'string' and ' ' .. args.class or '',
    			type(args.style) == 'string' and string.format(' style="%s"', args.style) or '',
    			toolbarItems
    		)
    	end
    end
    
    function p.makeToolbarItems(args)
    	local nums = mTableTools.numKeys(args)
    	local sep = (args.separator or 'pipe') .. '-separator'
    	sep = mw.message.new(sep):plain()
    	local ret = {}
    	for i, v in ipairs(nums) do
    		ret[#ret + 1] = mw.ustring.gsub(args[v], "%[%[::+(.-)%]%]", "[[:%1]]")
    	end
    	if #ret > 0 then
    		return table.concat(ret, sep)
    	else
    		return nil
    	end
    end
    
    return p