Difference between revisions of "Module:Authority control"
Jump to navigation
Jump to search
en>Tpt m |
en>Tpt m |
||
| Line 1: | Line 1: | ||
| − | function | + | function getCatForId( id ) |
local title = mw.title.getCurrentTitle() | local title = mw.title.getCurrentTitle() | ||
local namespace = title.namespace | local namespace = title.namespace | ||
if namespace == 0 then | if namespace == 0 then | ||
| − | + | return '[[Category:Wikipedia articles with ' .. id .. ' identifiers]]' | |
elseif namespace == 2 and not title.isSubpage then | elseif namespace == 2 and not title.isSubpage then | ||
| − | + | return '[[Category:User pages with ' .. id .. ' identifiers]]' | |
else | else | ||
| − | + | return '[[Category:Miscellaneous pages with ' .. id .. ' identifiers]]' | |
end | end | ||
end | end | ||
| Line 33: | Line 33: | ||
local link = params[4]( val ) | local link = params[4]( val ) | ||
if link then | if link then | ||
| − | table.insert( elements, params[2] .. ': <span class="uid">' .. link .. '</span>' | + | table.insert( elements, params[2] .. ': <span class="uid">' .. link .. '</span>' .. getCatForId( params[1] ) ) |
| − | |||
else | else | ||
| − | table.insert( elements, '<span class="error">The ' .. params[1] .. ' id ' .. val .. ' is not valid.</span> | + | table.insert( elements, '<span class="error">The ' .. params[1] .. ' id ' .. val .. ' is not valid.</span>[[Category:Wikipedia articles with faulty authority control identifiers (' .. params[1] .. ')]]' ) |
| − | |||
end | end | ||
| Line 47: | Line 45: | ||
bodyclass = 'hlist', | bodyclass = 'hlist', | ||
group1 = '[[Authority control]]', | group1 = '[[Authority control]]', | ||
| − | list1 = table.concat( elements, '*' ) | + | list1 = table.concat( elements, ' * ' ) |
} ) | } ) | ||
end | end | ||
return p | return p | ||
Revision as of 07:27, 6 April 2013
Documentation for this module may be created at Module:Authority control/doc
function getCatForId( id )
local title = mw.title.getCurrentTitle()
local namespace = title.namespace
if namespace == 0 then
return '[[Category:Wikipedia articles with ' .. id .. ' identifiers]]'
elseif namespace == 2 and not title.isSubpage then
return '[[Category:User pages with ' .. id .. ' identifiers]]'
else
return '[[Category:Miscellaneous pages with ' .. id .. ' identifiers]]'
end
end
function viafLink( id )
if not string.match( id, '^%d+$' ) then
return false
end
return '[http://viaf.org/viaf/' .. id .. ' ' .. id .. ']'
end
local conf = {
{ 'VIAF', '[[Virtual International Authority File|VIAF]]', 0, viafLink }
}
local p = {}
function p.authorityControl( frame )
local parentArgs = frame:getParent().args
--Create rows
local elements = {}
for k, params in pairs( conf ) do
local val = parentArgs[params[1]]
if val and val ~= '' then
local link = params[4]( val )
if link then
table.insert( elements, params[2] .. ': <span class="uid">' .. link .. '</span>' .. getCatForId( params[1] ) )
else
table.insert( elements, '<span class="error">The ' .. params[1] .. ' id ' .. val .. ' is not valid.</span>[[Category:Wikipedia articles with faulty authority control identifiers (' .. params[1] .. ')]]' )
end
end
end
local Navbox = require('Module:Navbox')
return Navbox._navbox( {
name = 'Authority control',
bodyclass = 'hlist',
group1 = '[[Authority control]]',
list1 = table.concat( elements, ' * ' )
} )
end
return p