[editar] [

Version check
Designación de la versión en Wikidata: 2023-12-08
Uso
Esta documentación es transcluida desde Módulo:LinkSkype/doc.
Los editores pueden experimentar en la zona de pruebas de la plantilla.
Por favor, añade las categorías a la subpágina de documentación. Subpáginas de esta plantilla.
Los editores pueden experimentar en la zona de pruebas de la plantilla.
Por favor, añade las categorías a la subpágina de documentación. Subpáginas de esta plantilla.
-- module variable and administration local ls = { moduleInterface = { suite = 'LinkSkype', serial = '2023-12-08', item = 65157314 } } -- module import -- require( 'strict' ) local li = require( 'Module:Link utilities/i18n' ) local lu = require( 'Module:Link utilities' ) -- check single skype name function ls.isSkypeName( s ) if not s or type( s ) ~= 'string' then return 0 end local user = s local param local q = s:find( '?', 1, true ) if q then user = s:sub( 1, q - 1 ) param = s:sub( q + 1, #s ) if not li.params[ param ] then return 0 end end if #user > 32 or #user < 6 then return 0 end if not user:match( "^%l[%l%d%.,_%-]+$" ) then return 0 end return 1 end function ls.SkypeLink( m, isDemo ) m = mw.text.trim( m ) if m == '' then -- empty string return '' end local catPrefix = '[[Category:' if isDemo then catPrefix = ' [[:Category:' end local comment = '' local t m, comment = lu.extractComment( m ) m = m:gsub( 'skype:', '' ) if ls.isSkypeName( m ) > 0 then t = '<span class="listing-skype-link">' .. m ..'</span>' -- skype: link is performed by a JavaSript: MediaWiki:VCard.js else t = m .. catPrefix .. li.categories.invalidSkype end if comment ~= '' then t = t .. ' ' .. comment end return t end function ls.linkSkypeSet( args ) args.skype = args.skype or args[ 1 ] or '' if args.skype == '' then return '' end local ns = mw.title.getCurrentTitle().namespace local isDemo = ns == 10 or ns == 828 -- split separate Skype names local items = lu.splitItems( args.skype, li.delimiters, ';' ) -- analyse Skype names local i = 0 local s local result = '' for j = 1, #items, 1 do s = ls.SkypeLink( items[ j ], isDemo ) if s ~= '' then if result == '' then result = s else if i == li.addSkype then result = result .. '<span class="listing-add-contact">' end result = result .. li.texts.comma .. s end i = i + 1 end end if i > li.addSkype then result = result .. '</span>' end return result end -- #invoke call function ls.linkSkype( frame ) return ls.linkSkypeSet( frame.args ) end -- template call function ls.linkSkypeTemplate( frame ) return ls.linkSkypeSet( frame:getParent().args ) end return ls