l<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://climatewiki.earth/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AAuthority_control%2Fauxiliary</id>
	<title>Module:Authority control/auxiliary - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://climatewiki.earth/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AAuthority_control%2Fauxiliary"/>
	<link rel="alternate" type="text/html" href="https://climatewiki.earth/wiki/index.php?title=Module:Authority_control/auxiliary&amp;action=history"/>
	<updated>2026-05-05T02:23:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://climatewiki.earth/wiki/index.php?title=Module:Authority_control/auxiliary&amp;diff=9450&amp;oldid=prev</id>
		<title>BranchOut: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://climatewiki.earth/wiki/index.php?title=Module:Authority_control/auxiliary&amp;diff=9450&amp;oldid=prev"/>
		<updated>2023-12-30T03:55:52Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 03:55, 30 December 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>BranchOut</name></author>
	</entry>
	<entry>
		<id>https://climatewiki.earth/wiki/index.php?title=Module:Authority_control/auxiliary&amp;diff=9449&amp;oldid=prev</id>
		<title>Wikipedia&gt;MSGJ: fix CCG code, and remove some unneeded functions</title>
		<link rel="alternate" type="text/html" href="https://climatewiki.earth/wiki/index.php?title=Module:Authority_control/auxiliary&amp;diff=9449&amp;oldid=prev"/>
		<updated>2023-04-27T20:09:01Z</updated>

		<summary type="html">&lt;p&gt;fix CCG code, and remove some unneeded functions&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require('strict')&lt;br /&gt;
local p = {}&lt;br /&gt;
--[[======================================================]]&lt;br /&gt;
--[[            Format validation functions               ]]&lt;br /&gt;
--[[======================================================]]&lt;br /&gt;
p.botanistV = function(id)&lt;br /&gt;
	return mw.ustring.match(id,&amp;quot;^[%u%l%d%. '-]+$&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.validateIsni = function(id) --Validate ISNI (and ORCID) and retuns it as a 16 characters string or returns false if it's invalid. See http://support.orcid.org/knowledgebase/articles/116780-structure-of-the-orcid-identifier&lt;br /&gt;
	id = id:gsub( '[ %-]', '' ):upper()&lt;br /&gt;
	if not id:match( '^%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d[%dX]$' ) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	local total = 0&lt;br /&gt;
	for i = 1, 15 do&lt;br /&gt;
		local digit = id:byte( i ) - 48 --Get integer value&lt;br /&gt;
		total = (total + digit) * 2&lt;br /&gt;
	end&lt;br /&gt;
	local remainder = total % 11&lt;br /&gt;
	local result = (12 - remainder) % 11&lt;br /&gt;
	local checkdigit&lt;br /&gt;
	if result == 10 then&lt;br /&gt;
		checkdigit = 'X'&lt;br /&gt;
	else&lt;br /&gt;
		checkdigit=tostring( result )&lt;br /&gt;
	end&lt;br /&gt;
	if checkdigit ~= string.char( id:byte( 16 ) ) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	return id&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.orcidV = function(id)&lt;br /&gt;
	id = p.validateIsni(id)&lt;br /&gt;
	if not id then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	return id:sub( 1, 4 )..'-'..id:sub( 5, 8 )..'-'..id:sub( 9, 12 )..'-'..id:sub( 13, 16 )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.tlsV = function(id)&lt;br /&gt;
	id = id:gsub(' +', '_')&lt;br /&gt;
	local idlen = mw.ustring.len(id)&lt;br /&gt;
	if idlen &amp;lt; 4 or idlen &amp;gt; 90 then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	local regex = '^%u'..string.rep(&amp;quot;[%w_',%.%-%(%)%*%/–&amp;amp;]&amp;quot;, idlen - 1)..'$'&lt;br /&gt;
	if not mw.ustring.match(id,regex ) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	return id&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[======================================================]]&lt;br /&gt;
--[[                Custom link functions                 ]]&lt;br /&gt;
--[[======================================================]]&lt;br /&gt;
p.ISILlink = function(id,label)&lt;br /&gt;
	if not id:match('^%D%D?%D?%D?%-.+$') then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	for _,prefix in ipairs({'AT','AU','BE','CA','CH','DE','FI','FR','IT','KR','NZ','US','ZDB'}) do&lt;br /&gt;
		if id:match('^'..prefix..'%-') then&lt;br /&gt;
			return '&amp;lt;span class=&amp;quot;uid&amp;quot;&amp;gt;[https://w3id.org/isil/'..id..' ' .. (label or 'ISIL') .. ']&amp;lt;/span&amp;gt;'&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return '[[International Standard Identifier for Libraries and Related Organizations|ISIL]]\n**&amp;lt;span class=&amp;quot;uid&amp;quot;&amp;gt;' .. id .. '&amp;lt;/span&amp;gt;'&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.uscgLink = function(id)&lt;br /&gt;
	local id2 = id:match( '^[1-7]%-%d%d?%d?%d?%d?$' ) or id:match( '^[1-7]%-%d%d?%d?%d?%d?%.%d*[1-9]$' )&lt;br /&gt;
	if id2 then&lt;br /&gt;
		return '&amp;lt;span class=&amp;quot;uid&amp;quot;&amp;gt;[https://www.navcen.uscg.gov/pdf/lightlists/LightList%20V'..mw.ustring.sub(id2,1,1)..'.pdf '..id2..']&amp;lt;/span&amp;gt;'&lt;br /&gt;
	else&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.ccg = function(id)&lt;br /&gt;
	id = id:match('^[NAIP]?[1-9]%d*$') or id:match('^[NAIP]?[1-9]%d*%.%d+$')&lt;br /&gt;
	if not id then return false end&lt;br /&gt;
	local link = 'https://www.notmar.gc.ca/'&lt;br /&gt;
	local prefix = string.sub(id, 1, 1) -- get first character of id&lt;br /&gt;
	local suffix = string.sub(id, 2) -- remove first character of id&lt;br /&gt;
	local interval = require('Module:Interval')._main&lt;br /&gt;
	local v&lt;br /&gt;
	if prefix=='N' then&lt;br /&gt;
		local int = interval({1,7.5,14.4,100,121,173,211,235,269.99,326,396,450.1,471.7,499,n=suffix})&lt;br /&gt;
		if int=='1-2' then v = 1&lt;br /&gt;
		elseif int=='2-3' then v = 75&lt;br /&gt;
		elseif int=='3-4' then v = 144&lt;br /&gt;
		elseif int=='4-5' then v = 100&lt;br /&gt;
		elseif int=='5-6' then v = 121&lt;br /&gt;
		elseif int=='6-7' then v = 173&lt;br /&gt;
		elseif int=='7-8' then v = 211&lt;br /&gt;
		elseif int=='8-9' then v = 235&lt;br /&gt;
		elseif int=='9-10' then v = 26999&lt;br /&gt;
		elseif int=='10-11' then v = 326&lt;br /&gt;
		elseif int=='11-12' then v = 396&lt;br /&gt;
		elseif int=='12-13' then v = 4501&lt;br /&gt;
		elseif int=='13-14' then v = 4717&lt;br /&gt;
		elseif int=='14-15' then v = 499&lt;br /&gt;
		end&lt;br /&gt;
		link = link .. 'publications/list-lights/newfoundland/n' .. v .. '-en'&lt;br /&gt;
	elseif prefix=='A' then&lt;br /&gt;
		local int = interval({5,114.5,145,163,268,271,301.5,327,686.5,704.85,883.2,942,1085,1169.1,1584.5,1773,1823.55,2190,2369,2389,n=suffix})&lt;br /&gt;
		if int=='1-2' then v = 5&lt;br /&gt;
		elseif int=='2-3' then v = 1145&lt;br /&gt;
		elseif int=='3-4' then v = 145&lt;br /&gt;
		elseif int=='4-5' then v = 162&lt;br /&gt;
		elseif int=='5-6' then v = 268&lt;br /&gt;
		elseif int=='6-7' then v = 271&lt;br /&gt;
		elseif int=='7-8' then v = 3015&lt;br /&gt;
		elseif int=='8-9' then v = 327&lt;br /&gt;
		elseif int=='9-10' then v = 6865&lt;br /&gt;
		elseif int=='10-11' then v = 7048&lt;br /&gt;
		elseif int=='11-12' then v = 883&lt;br /&gt;
		elseif int=='12-13' then v = 942&lt;br /&gt;
		elseif int=='13-14' then v = 1085&lt;br /&gt;
		elseif int=='14-15' then v = 11691&lt;br /&gt;
		elseif int=='15-16' then v = 15845&lt;br /&gt;
		elseif int=='16-17' then v = 1773&lt;br /&gt;
		elseif int=='17-18' then v = 182355&lt;br /&gt;
		elseif int=='18-19' then v = 2190&lt;br /&gt;
		elseif int=='19-20' then v = 2369&lt;br /&gt;
		elseif int=='20-21' then v = 2389&lt;br /&gt;
		end&lt;br /&gt;
		link = link .. 'publications/list-lights/atl/a' .. v .. '-en'&lt;br /&gt;
	elseif prefix=='I' then&lt;br /&gt;
		local int = interval({0.05,401.1,403.4,551.06,552,624,708,731.2,768,814,983,1046,1059.6,1082,1162,1204.7,1233.3,1328,1330,1346.2,1377.8,1408,1410,1420,1445,1470,1520,1534,1540.6,1554,1557.7,1558.8,1563.1,1625.5,1671.7,1716.96,2545,n=suffix})&lt;br /&gt;
		if int=='1-2' then v = '01'&lt;br /&gt;
		elseif int=='2-3' then v = 4011&lt;br /&gt;
		elseif int=='3-4' then v = 4034&lt;br /&gt;
		elseif int=='4-5' then v = 55106&lt;br /&gt;
		elseif int=='5-6' then v = 552&lt;br /&gt;
		elseif int=='6-7' then v = 624&lt;br /&gt;
		elseif int=='7-8' then v = 708&lt;br /&gt;
		elseif int=='8-9' then v = 7312&lt;br /&gt;
		elseif int=='9-10' then v = 768&lt;br /&gt;
		elseif int=='10-11' then v = 814&lt;br /&gt;
		elseif int=='11-12' then v = 983&lt;br /&gt;
		elseif int=='12-13' then v = 1046&lt;br /&gt;
		elseif int=='13-14' then v = 10596&lt;br /&gt;
		elseif int=='14-15' then v = 1082&lt;br /&gt;
		elseif int=='15-16' then v = 1162&lt;br /&gt;
		elseif int=='16-17' then v = 12047&lt;br /&gt;
		elseif int=='17-18' then v = 12333&lt;br /&gt;
		elseif int=='18-19' then v = 1328&lt;br /&gt;
		elseif int=='19-20' then v = 1330&lt;br /&gt;
		elseif int=='20-21' then v = 13462&lt;br /&gt;
		elseif int=='21-22' then v = 13778&lt;br /&gt;
		elseif int=='22-23' then v = 1408&lt;br /&gt;
		elseif int=='23-24' then v = 1410&lt;br /&gt;
		elseif int=='24-25' then v = 1420&lt;br /&gt;
		elseif int=='25-26' then v = 1445&lt;br /&gt;
		elseif int=='26-27' then v = 1470&lt;br /&gt;
		elseif int=='27-28' then v = 1520&lt;br /&gt;
		elseif int=='28-29' then v = 1534&lt;br /&gt;
		elseif int=='29-30' then v = 15406&lt;br /&gt;
		elseif int=='30-31' then v = 1554&lt;br /&gt;
		elseif int=='31-32' then v = 15577&lt;br /&gt;
		elseif int=='32-33' then v = 15588&lt;br /&gt;
		elseif int=='33-34' then v = 1562&lt;br /&gt;
		elseif int=='34-35' then v = 16255&lt;br /&gt;
		elseif int=='35-36' then v = 16717&lt;br /&gt;
		elseif int=='36-37' then v = 171696&lt;br /&gt;
		elseif int=='37-38' then v = 2545&lt;br /&gt;
		end&lt;br /&gt;
		link = link .. 'publications/list-lights/inland-waters/i' .. v .. '-en'&lt;br /&gt;
	elseif prefix=='P' then&lt;br /&gt;
		link = link .. 'publications/list-lights/pac/p'&lt;br /&gt;
	else&lt;br /&gt;
		link = link .. 'list-lights'&lt;br /&gt;
	end&lt;br /&gt;
	return '[[CCG (identifier)|CCG]] &amp;lt;span class=&amp;quot;uid&amp;quot;&amp;gt;[' .. link .. ' ' .. id .. ']&amp;lt;/span&amp;gt;'&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Wikipedia&gt;MSGJ</name></author>
	</entry>
</feed>