Hopp til innhold

Modul:Flagg/Data/info

Fra Wikipedia, den frie encyklopedi
Moduldokumentasjon

Modul:Flagg med undersider er tenkt brukt av {{Flagg}} for fremvisning av områders flagg.

Modulserien består av følgende sider:


I tillegg brukes Modul:Flagg/Data/info til å automatisk vise alle flagg på dokumentasjonssidene.

Legge til nytt flagg?


Registrerte flagg

Lua-feil i linje 226: assign to undeclared variable 'retval'.


local p = {}
local getArgs = require('Module:Arguments').getArgs
local Flags = require('Modul:Flagg/sandkasse').flag

function p.fullname(frame,args)
	local pagename = 'Modul:Flagg/Masterdata'
	local pg = mw.title.new( pagename)
	local text = pg:getContent()
	local args = getArgs(frame)
	if not (text) then return "error: feilet i å laste mw.title.new(" .. pagename .. ")" end
	flags = ''
	for area in mw.ustring.gmatch( text, '%[%"%a*%s?%p?%s?%-?%(?%a*%s?%a*%)?%p?%s?%-?%a*%s?%-?%a*%s?%-?%(?%a*%)?%p?%s?%a*%s?%a*%"%] %= %{\n') do
		area = string.sub(area,3,-8)
		frame.args[1] = area
		local flagdata = require("Modul:Flagg/Masterdata").flagdata[area]
		local PageLink = flagdata.pagelink
		local Name = flagdata.name
		local Defflag = flagdata.defflag
		if PageLink == nil then lenke = '[[' .. Name .. ']]' else lenke = '[[' .. PageLink .. '|' .. Name .. ']]' end
		if Defflag == "" then DefFlag = "Flag of None.svg" else DefFlag = Defflag end
		flag = '[[Fil:' .. DefFlag .. '|22x18px]]'
		flags = flags .. flag
		return flags
	end
end
function p.info(frame, args)
	local pagename = 'Modul:Flagg/Masterdata'
	local pg = mw.title.new( pagename)
	local text = pg:getContent()
	if not (text) then return "error: feilet i å laste mw.title.new(" .. pagename .. ")" end
   	local args = getArgs(frame)
	local rows = ''
	local Tables = ''
	local Areas = 0
	for area in mw.ustring.gmatch( text, '%[%"%a*%s?%p?%s?%-?%(?%a*%s?%a*%)?%p?%s?%-?%a*%s?%-?%a*%s?%-?%(?%a*%)?%p?%s?%a*%s?%a*%"%] %= %{\n') do
		area = string.sub(area,3,-8)
			
			Areas = Areas+1
			-- Henter ut nødvendige data fra undersider basert på første bokstav i områdets fulle navn
			frame.args[1] = area
			local flagdata = require("Modul:Flagg/Masterdata").flagdata[area]
			local PageLink = flagdata.pagelink
			local Name = flagdata.name
			local Defflag = flagdata.defflag
			local sb = string.sub(Name,-1)
				if sb == "s" or sb == "x" or sb == "z" or sb == "ş" or sb == "ŝ" or sb == "ș" or sb == "š" or sb == "ś" or sb == "ß" or sb == "ž" or sb == "ż" or sb == "ź" then
					genitivform = Name .. "ʼ"
				else
					genitivform = Name .. "s"
				end
			if PageLink == nil then lenke = '[[' .. Name .. ']]' else lenke = '[[' .. PageLink .. '|' .. Name .. ']]' end
			if Defflag == "" then DefFlag = "Flag of None.svg" else DefFlag = Defflag end
			Col0 = '|' .. Areas .. '\n'
			Col1 = '|' .. lenke .. '\n'
			Col2 = '|<code>' .. area .. '</code>\n'
			Col3 = '|align="center"|[[Fil:' .. DefFlag .. '|33x27px|lenke=' .. genitivform .. ' flagg]]'
			ColHeader0 = '#'
			ColHeader1 = 'Område'
			ColHeader2 = 'Argument 1'
			ColHeader3 = 'Standard'
			
			 	-- Henter ut historiske flagg
				local Histyears = ''
				local HistColHeaderx = ''
				local i = 1
 				repeat
					if flagdata['histyear'..i] then
						Histyearx = flagdata['histyear'..i]
						Histflagx = flagdata['histflag'..i]
						if i > 1 then
							Histyearfrom = flagdata['histyear'..i-1]+1 .. '–'
							Histyearto = Histyearx
						else
							Histyearfrom = "<="
							Histyearto = Histyearx
						end
						HistColHeaderx = HistColHeaderx .. '\n!' .. Histyearfrom .. Histyearx
					else
						break
					end
					Histyears = Histyears .. '\n|align="center"|[[Fil:' .. Histflagx .. '|33x27px]]'
					i=i+1
				until not flagdata['histyear' .. i]
				
			 	-- Henter ut olympiske flagg
				local OLyears = ''
				local OLColHeaderx = ''
				local j = 1
 				repeat
					if flagdata['OLyear'..j] then
						OLyearx = flagdata['OLyear'..j]
						OLflagx = flagdata['OLflag'..j]
						OLColHeaderx = OLColHeaderx .. '\n!' .. OLyearx
					else
						break
					end
					OLyears = OLyears .. '\n|align="center"|[[Fil:' .. OLflagx .. '|33x27px]]'
					j=j+1
				until not flagdata['OLyear' .. j]
				if flagdata['histyeara'] then
					histyeara = flagdata['histyeara']
					histflaga = flagdata['histflaga']
					ColHeadera = '\n!' .. histyeara
					yearsa = '\n|align="center"|[[Fil:' .. histflaga .. '|33x27px]]'
				else
					yearsa = ""
					ColHeadera = ""
				end
				if flagdata['histyearb'] then
					histyearb = flagdata['histyearb']
					histflagb = flagdata['histflagb']
					ColHeaderb = '\n!' .. histyearb
					yearsb = '\n|align="center"|[[Fil:' .. histflagb .. '|33x27px]]'
				else
					yearsb = ""
					ColHeaderb = ""
				end
				if flagdata['histyearc'] then
					histyearc = flagdata['histyearc']
					histflagc = flagdata['histflagc']
					ColHeaderc = '\n!' .. histyearc
					yearsc = '\n|align="center"|[[Fil:' .. histflagc .. '|33x27px]]'
				else
					yearsc = ""
					ColHeaderc = ""
				end
				if flagdata['naval'] then
					naval = flagdata['naval']
					ColHeaderNaval = '\n!naval'
					navalflag = '\n|align="center"|[[Fil:' .. naval .. '|33x27px]]'
				else
					navalflag = ""
					ColHeaderNaval = ""
				end
				if flagdata['airforce'] then
					airforce = flagdata['airforce']
					ColHeaderAirforce = '\n!airforce'
					airforceflag = '\n|align="center"|[[Fil:' .. airforce .. '|33x27px]]'
				else
					airforceflag = ""
					ColHeaderAirforce = ""
				end
				if flagdata['coastguard'] then
					coastguard = flagdata['coastguard']
					ColHeaderCoastguard = '\n!coastguard'
					coastguardflag = '\n|align="center"|[[Fil:' .. coastguard .. '|33x27px]]'
				else
					coastguardflag = ""
					ColHeaderCoastguard = ""
				end
				if flagdata['sultanatet'] then
					sultanatet = flagdata['sultanatet']
					ColHeaderSultanatet = '\n!sultanatet'
					sultanatetflag = '\n|align="center"|[[Fil:' .. sultanatet .. '|33x27px]]'
				else
					sultanatetflag = ""
					ColHeaderSultanatet = ""
				end
				if flagdata['coa'] then
					coa = flagdata['coa']
					ColHeaderCoa = '\n!våpen'
					coaflag = '\n|align="center"|[[Fil:' .. coa .. '|33x27px]]'
				else
					coaflag = ""
					ColHeaderCoa = ""
				end
				if flagdata['seal'] then
					seal = flagdata['seal']
					ColHeaderSeal = '\n!segl'
					sealflag = '\n|align="center"|[[Fil:' .. seal .. '|33x27px]]'
				else
					sealflag = ""
					ColHeaderSeal = ""
				end
				if flagdata['football'] then
					football = flagdata['football']
					ColHeaderFootball = '\n!fotball'
					footballflag = '\n|align="center"|[[Fil:' .. football .. '|33x27px]]'
				else
					footballflag = ""
					ColHeaderFootball = ""
				end
				if flagdata['OLfootball'] then
					olfootball = flagdata['OLfootball']
					ColHeaderOLFootball = '\n!OL (fotball)'
					olfootballflag = '\n|align="center"|[[Fil:' .. olfootball .. '|33x27px]]'
				else
					olfootballflag = ""
					ColHeaderOLFootball = ""
				end
				if flagdata['Turkvision'] then
					turkvision = flagdata['Turkvision']
					ColHeaderTurkvision = '\n!Turkvision'
					turkvisionflag = '\n|align="center"|[[Fil:' .. turkvision .. '|33x27px]]'
				else
					turkvisionflag = ""
					ColHeaderTurkvision = ""
				end
			ColEnd = '\n|-\n'
			ColYear = coaflag .. sealflag .. Histyears .. OLyears .. yearsa .. yearsb .. yearsc .. navalflag .. airforceflag .. coastguardflag
						.. sultanatetflag .. footballflag .. olfootballflag .. turkvisionflag
			ColHeaderx = ColHeaderCoa .. ColHeaderSeal .. HistColHeaderx .. ColHeadera .. ColHeaderb .. ColHeaderc .. OLColHeaderx .. ColHeaderNaval .. 
						ColHeaderAirforce .. ColHeaderCoastguard .. ColHeaderSultanatet .. 
						ColHeaderFootball .. ColHeaderOLFootball .. ColHeaderTurkvision
			TableHeader = 
[=[{| class="wikitable"
|-
!]=] .. ColHeader0 .. '\n!' .. ColHeader1 .. '\n!' .. ColHeader2 .. '\n!' .. ColHeader3 .. ColHeaderx .. '\n' ..
[=[|-
]=]
			TableBottom = '|}\n'
			row = Col0 .. Col1 .. Col2 .. Col3 .. ColYear .. ColEnd
			rows = rows .. row
			Table = TableHeader .. row .. TableBottom
			Tables = Tables .. Table
	end
	
	local Navbox = require('Module:Navbox')
	local box = Navbox._navbox( {
		title = 'Registrerte&nbsp;flagg&nbsp;(' .. Areas .. '&nbsp;områder)',
		name = pagename,
		navbar = 'plain',
		state = 'collapsed',
		list1 = Tables,
	} )
	retval = box
	
	return retval
end

return p