Modul:UploadCampaignLink

Z Wikipedie, otevřené encyklopedie

UploadCampaignLink je vytvořen speciálně pro šablonu UploadCampaignLink, může však být použit i jinde. Nahrazuje lokální odkaz za odkaz z jiného projektu, odkaz tedy může být použit univerzálně z libovolného projektu a vždy bude mířit na stránku české Wikipedie. Modul hledá v zadaném textu libovolné odkazy, nezastaví se na prvním odkazu.

Použití[editovat zdroj]

{{#invoke:UploadCampaignLink|fixLinks|text s odkazy k úpravě}}

Testovací případy[editovat zdroj]

local str = {}

local function my_replace( arg )
	local split = mw.text.split( arg, '|' )
	if mw.ustring.sub( split[1], 1, 4 ) ~= ':cs:' then
		if not split[2] then
			split[2] = split[1]
		end
		split[1] = ':cs:' .. split[1]
	end
	return '[[' .. table.concat( split, '|' ) .. ']]'
end

function str.fixLinks( frame )
	return str._fixLinks( frame.args )
end

function str._fixLinks( args )
    local source_str = args[1] or ''

    if source_str == '' then
        return ''
    end

	source_str = mw.ustring.gsub( source_str, '%[%[([^%]]*)%]%]', my_replace )
    return source_str
end

return str