Module:File

local f = {}

function f.main(frame) local result = {} local game = frame.args["game"] or "" local description = frame.args["description"] or "" local typegame = mw.ustring.lower(frame.args["typegame"] or "") local typeself = mw.ustring.lower(frame.args["typeself"] or "") local user = frame.args["user"] or "" local source = frame.args["source"] or nil local license = frame.args["license"] or nil function TEXT(X) local artwork2d = "2D artwork" local artwork3d = "3D artwork" local animated = "Animated image" local music = "Music" local boxart = "Box artwork" local control = "Controller button ler buttons" local diagram = "Diagram" local icon = "Icon" local logo = "Logo" local map = "Map" local model = "Model" local photo = "Real-world photo" local rating = "Rating icon" local screenshot = "Screenshot" local sprite = "Sprite" local system = "System images" local user = "This file is a personal file belonging to User:".. user .."." local video = "Video" local wiki = "Inkipedia image" local none = " Error: Invalid type entered, please consult the list of types." local t = {} t = { ['2d'] = artwork2d, ['2dart'] = artwork2d, ['2d art'] = artwork2d, ['2d artwork'] = artwork2d, ['art'] = artwork2d, ['artwork'] = artwork2d, ['art work'] = artwork2d, ['3d'] = artwork3d, ['3dart'] = artwork3d, ['3d art'] = artwork3d, ['3d artwork'] = artwork3d, ['anim'] = animated, ['animated'] = animated, ['animation'] = animated, ['animated image'] = animated, ['animated images'] = animated, ['animated img'] = animated, ['music'] = music, ['audio'] = music, ['song'] = music, ['songs'] = music, ['sound'] = music, ['box'] = boxart, ['boxart'] = boxart, ['boxartwork'] = boxart, ['box art'] = boxart, ['box artwork'] = boxart, ['button'] = control, ['buttons'] = control, ['control'] = control, ['controller'] = control, ['controller button'] = control, ['joystick'] = control, ['diagram'] = diagram, ['graph'] = diagram, ['graphs'] = diagram, ['ico'] = icon, ['icon'] = icon, ['icons'] = icons, ['logo'] = logo, ['logomark'] = logo, ['logos'] = logo, ['logotype'] = logo, ['wordmark'] = logo, ['map'] = map, ['maps'] = map, ['3dmodel'] = model, ['3d model'] = model, ['model'] = model, ['models'] = model, ['photo'] = photo, ['photos'] = photo, ['photography'] = photo, ['reallife'] = photo, ['real life'] = photo, ['cero'] = rating, ['esrb'] = rating, ['pegi'] = rating, ['rating'] = rating, ['ratings'] = rating, ['prtscr'] = screenshot, ['printscreen'] = screenshot, ['print screen'] = screenshot, ['scr'] = screenshot, ['screen'] = screenshot, ['screenshot'] = screenshot, ['scrshot'] = screenshot, ['screen shot'] = screenshot, ['pixelart'] = sprite, ['pixel art'] = sprite, ['sprite'] = sprite, ['sprites'] = sprite, ['sys'] = system, ['sysimg'] = system, ['system'] = system, ['system image'] = system, ['system images'] = system, ['personal'] = user, ['personal img'] = user, ['personal image'] = user, ['user'] = user, ['userimg'] = user, ['user image'] = user, ['video'] = video, ['videos'] = video, ['inkipedia'] = wiki, ['wiki'] = wiki, }		if not t[X] then return none else return t[X] end end function CAT(X,Y) if Y == true then Y = game .. ' ' else Y = "" end local artwork2d = "" local artwork3d = "" local animated = "" local audio = "" local boxart = "" local control = "" local diagram = "" local icon = "" local logo = "" local map = "" local model = "" local photo = "" local rating = "" local screenshot = "" local sprite = "" local system = "" local user = "" local video = "" local wiki = "" local none = "" local t = {} t = { ['2d'] = artwork2d, ['2dart'] = artwork2d, ['2d art'] = artwork2d, ['2d artwork'] = artwork2d, ['art'] = artwork2d, ['artwork'] = artwork2d, ['art work'] = artwork2d, ['3d'] = artwork3d, ['3dart'] = artwork3d, ['3d art'] = artwork3d, ['3d artwork'] = artwork3d, ['anim'] = animated, ['animated'] = animated, ['animation'] = animated, ['animated image'] = animated, ['animated images'] = animated, ['animated img'] = animated, ['audio'] = audio, ['music'] = audio, ['song'] = audio, ['songs'] = audio, ['sound'] = audio, ['box'] = boxart, ['boxart'] = boxart, ['boxartwork'] = boxart, ['box art'] = boxart, ['box artwork'] = boxart, ['button'] = control, ['buttons'] = control, ['control'] = control, ['controller'] = control, ['controller button'] = control, ['joystick'] = control, ['diagram'] = diagram, ['graph'] = diagram, ['graphs'] = diagram, ['ico'] = icon, ['icon'] = icon, ['icons'] = icons, ['logo'] = logo, ['logomark'] = logo, ['logos'] = logo, ['logotype'] = logo, ['wordmark'] = logo, ['map'] = map, ['maps'] = map, ['3dmodel'] = model, ['3d model'] = model, ['model'] = model, ['models'] = model, ['photo'] = photo, ['photos'] = photo, ['photography'] = photo, ['reallife'] = photo, ['real life'] = photo, ['cero'] = rating, ['esrb'] = rating, ['pegi'] = rating, ['rating'] = rating, ['ratings'] = rating, ['prtscr'] = screenshot, ['printscreen'] = screenshot, ['print screen'] = screenshot, ['scr'] = screenshot, ['screen'] = screenshot, ['screenshot'] = screenshot, ['scrshot'] = screenshot, ['screen shot'] = screenshot, ['pixelart'] = sprite, ['pixel art'] = sprite, ['sprite'] = sprite, ['sprites'] = sprite, ['sys'] = system, ['sysimg'] = system, ['system'] = system, ['system image'] = system, ['system images'] = system, ['personal'] = user, ['personal img'] = user, ['personal image'] = user, ['user'] = user, ['userimg'] = user, ['user image'] = user, ['video'] = video, ['videos'] = video, ['inkipedia'] = wiki, ['wiki'] = wiki, }

if not t[X] then return none else return t[X] end end function SRC(X) local myself = "Media created by the uploader" local user2 = "Media created by ".. user .."" local fandom = "FANDOM image " local youtube = "YouTube image " local presskit = "Press kit image " local missing = " This file is missing a source. " local t = {} t = { ['me'] = myself, ['my'] = myself, ['myself'] = myself, ['self'] = myself,

['other'] = user2, ['someone'] = user2, ['someone else'] = user2, ['user'] = user2, ['gamepedia'] = fandom, ['fandom'] = fandom, ['wikia'] = fandom, ['youtube'] = youtube, ['yt'] = youtube, ['kit'] = presskit, ['press'] = presskit, ['presskit'] = presskit, ['press kit'] = presskit, }		if source and source ~= "" then if not t[X] then return X			else return t[X] end else return missing end end function LIC(X) local ccbysa10 = "This file is distributed under the Creative Commons Attribution-ShareAlike 1.0 license." local ccby20 = "This file is distributed under the Creative Commons Attribution 2.0 license." local ccbysa21jp = "This file is distributed under the Creative Commons Attribution-ShareAlike 2.1 Japan license." local ccby25 = "This file is distributed under the Creative Commons Attribution 2.5 license." local ccbysa25 = "This file is distributed under the Creative Commons Attribution-ShareAlike 2.5 license." local ccby30 = "This file is distributed under the Creative Commons Attribution 3.0 license." local ccbysa30 = "This file is distributed under the Creative Commons Attribution-ShareAlike 3.0 license." local ccbysa40 = "This file is distributed under the Creative Commons Attribution-ShareAlike 4.0 license." local pd = "This file has been released into the public domain by the copyright holder, its copyright has expired, or it is ineligible for copyright. This applies worldwide." local pds = "This file has been released into the public domain by the uploading user. This applies worldwide." local fairuse = "This file is subject to copyright. Copyright is most likely held by the company that published the game or the media portrayed. Inkipedia's use of this work qualifies as fair use under United States copyright law, or the author's permission is given. It is used on the wiki only in the belief that the information the file portrays is designed to be an accompaniment to playing the game or media, and its use here will not:Detract from the experience of playing the game or using the media in question.Harm the author's sales or reputation." local t = {} t = { ['ccbysa10'] = ccbysa10, ['ccybysa1.0'] = ccbysa10, ['cc by sa 1.0'] = ccbysa10, ['cc-by-sa-1.0'] = ccbysa10, ['cc-by-sa 1.0'] = ccbysa10, ['ccby20'] = ccby20, ['ccyby2.0'] = ccby20, ['cc by 2.0'] = ccby20, ['cc-by-2.0'] = ccby20, ['cc-by 2.0'] = ccby20, ['ccbysa21jp'] = ccbysa21jp, ['ccybysa2.1jp'] = ccbysa21jp, ['cc by sa 2.1 jp'] = ccbysa21jp, ['cc-by-sa-2.1 jp'] = ccbysa21jp, ['cc-by-sa 2.1 jp'] = ccbysa21jp, ['cc-by-sa 2.1 japan'] = ccbysa21jp, ['ccby25'] = ccby25, ['ccyby2.5'] = ccby25, ['cc by 2.5'] = ccby25, ['cc-by-2.5'] = ccby25, ['cc-by-2.5'] = ccby25, ['ccbysa25'] = ccbysa25, ['ccybysa2.5'] = ccbysa25, ['cc by sa 2.5'] = ccbysa25, ['cc-by-sa-2.5'] = ccbysa25, ['cc-by-sa 2.5'] = ccbysa25, ['ccby30'] = ccbysa30, ['ccyby3.0'] = ccby30, ['cc by 3.0'] = ccby30, ['cc-by-3.0'] = ccby30, ['cc-by-3.0'] = ccby30, ['ccbysa30'] = ccbysa30, ['ccybysa3.0'] = ccbysa30, ['cc by sa 3.0'] = ccbysa30, ['cc-by-sa-3.0'] = ccbysa30, ['cc-by-sa 3.0'] = ccbysa30, ['ccbysa40'] = ccbysa40, ['ccybysa4.0'] = ccbysa40, ['cc by sa 4.0'] = ccbysa40, ['cc-by-sa-4.0'] = ccbysa40, ['cc-by-sa 4.0'] = ccbysa40, ['pd'] = pd, ['public'] = pd, ['publicdomain'] = pd, ['public domain'] = pd, ['pds'] = pds, ['publicself'] = pds, ['publicdomain self'] = pds, ['public domain self'] = pds, ['public domain by myself'] = pds, } if not t[X] then return fairuse else return t[X] end end local panel_typegame = "" local panel_typeself = ""

if not typegame or typegame == "" then typegame = {} else typegame = mw.text.split(typegame, ',%s*') for i = 1, #typegame do typegame[i] = TEXT(typegame[i]) .. CAT(typegame[i],true) end if #typegame > 4 then panel_typegame = ' Type(s) Way too many types! Try using up to 4 types max. '		else panel_typegame = ' Type(s)  '.. table.concat(typegame,", ") ..' ' end end if not typeself or typeself == "" then typeself = {} else typeself = mw.text.split(typeself, ',%s*') for i = 1, #typeself do typeself[i] = TEXT(typeself[i]) .. CAT(typeself[i],false) end if #typeself > 4 then panel_typeself = ' Type(s) Way too many types! Try using up to 4 types max. '		else panel_typeself = ' Type(s)  '.. table.concat(typeself,", ") ..' ' end end local panel_game = ' Game  '.. game ..'  ' local panel_description = ' Description  '.. description ..' ' local panel_user = ' User  '.. user ..'  ' local panel_source = ' Source  '.. SRC(source) ..' ' local panel_license = ' License  '.. LIC(license) ..' ' if game == "" then panel_game = "" end if description == "" then panel_description = "" end if user == "" then panel_user = "" end local panel = ' ' table.insert(result, panel) return table.concat(result, "") end

return f