80,735
edits
(Module:Luacard2) |
(Module:Luacard2) |
||
Line 258: | Line 258: | ||
function apply_categories(frame, vars) | function apply_categories(frame, vars) | ||
mw.log(vars.category_prefix) | |||
for c=1, #vars.categories do | for c=1, #vars.categories do | ||
if(string.len(mw.text.trim(vars.categories[c]))>0) then | if(string.len(mw.text.trim(vars.categories[c]))>0) then | ||
vars.categories[c] = vars.category_prefix .. vars.categories[c] | |||
vars.categories[c] = stache('[[Category:${c}]]', {c=vars.categories[c]}) | vars.categories[c] = stache('[[Category:${c}]]', {c=vars.categories[c]}) | ||
end | end | ||
end | end | ||
mw.logObject(vars.categories) | |||
vars.categories = '<includeonly>'..table.concat(vars.categories,'')..'</includeonly>' | vars.categories = '<includeonly>'..table.concat(vars.categories,'')..'</includeonly>' | ||
end | end | ||
Line 310: | Line 313: | ||
end | end | ||
function relatedquery(cardname) | function relatedquery(cardname, type_query) | ||
return cargo_results( | return cargo_results( | ||
'CardRelatedData', | 'CardRelatedData', | ||
Line 316: | Line 319: | ||
{ | { | ||
groupBy='Pages, Text, Cards, Type', | groupBy='Pages, Text, Cards, Type', | ||
where="(Pages like '%•"..cardname.."•%' OR (pages IS null AND Cards like '%•"..cardname.."•%')) AND Type!=' | where="(Pages like '%•"..cardname.."•%' OR (pages IS null AND Cards like '%•"..cardname.."•%')) AND Type!='twin' "..type_query, | ||
orderBy='Text ASC' | orderBy='Text ASC' | ||
}) | }) | ||
Line 360: | Line 363: | ||
'Name,Image,Artist,Text,FlavorText,Type,Rarity,House,Traits,Power,Armor,Amber', | 'Name,Image,Artist,Text,FlavorText,Type,Rarity,House,Traits,Power,Armor,Amber', | ||
{ | { | ||
where='CardData.Name="'..name..'"' | where='CardData.Name="'..name..'" ' | ||
}) | }) | ||
if card_results[1] ~= nil then | if card_results[1] ~= nil then | ||
Line 374: | Line 377: | ||
-- we use cardname_e and just show english related | -- we use cardname_e and just show english related | ||
local related_set = {} | local related_set = {} | ||
local related_cards_set = relatedquery(vars.cardname_e) | local related_cards_set = relatedquery(vars.cardname_e,"AND Type!='ignore'") | ||
local related_flavor_set = relatedflavorquery(vars.cardname_e) | local related_flavor_set = relatedflavorquery(vars.cardname_e) | ||
local related_twin_set = twinquery(vars.cardname_e) | local related_twin_set = twinquery(vars.cardname_e) | ||
Line 397: | Line 400: | ||
Cards = flavor_card_names | Cards = flavor_card_names | ||
}) | }) | ||
append(vars.categories, "Appears in Flavor Text") | |||
end | end | ||
extend(related_set, related_cards_set) | extend(related_set, related_cards_set) | ||
Line 423: | Line 427: | ||
vars.cardsets = cargo_results( | vars.cardsets = cargo_results( | ||
'SetData,CardData,SetInfo', | 'SetData,CardData,SetInfo', | ||
'SetData.SetName, SetData.CardNumber, SetInfo.ReleaseYear, SetInfo.ReleaseMonth, SetInfo.ShortName', | 'SetData.SetName, SetData.CardNumber, SetInfo.ReleaseYear, SetInfo.ReleaseMonth, SetInfo.ShortName, SetInfo.SetNumber', | ||
{ | { | ||
join='SetData._pageTitle=CardData.Name,SetData.SetName=SetInfo.SetName', | join='SetData._pageTitle=CardData.Name,SetData.SetName=SetInfo.SetName', | ||
Line 431: | Line 435: | ||
for r = 1, #vars.cardsets do | for r = 1, #vars.cardsets do | ||
local result = vars.cardsets[r] | local result = vars.cardsets[r] | ||
mw.log(result['SetInfo.SetNumber']) | |||
if mw.ustring.find(result['SetInfo.SetNumber'], 'KFA.*') ~= nil then | |||
vars.category_prefix = 'KFA ' | |||
-- We use a different gallery link for each KFA set | |||
vars.is_kfa = true | |||
vars.root_gallery = result['SetData.SetName'] | |||
end | |||
mw.log(vars.category_prefix) | |||
append(vars.categories, set_category[result['SetData.SetName']]) | append(vars.categories, set_category[result['SetData.SetName']]) | ||
end | end | ||
Line 458: | Line 470: | ||
load_translation_table(frame.args.locale) | load_translation_table(frame.args.locale) | ||
end | end | ||
vars.root_gallery = 'Card_Gallery' | |||
vars.cardname_e = vars.cardname | vars.cardname_e = vars.cardname | ||
vars.cardname_stripped = mw.ustring.gsub(vars.cardname_e, " %(Evil Twin%)", "") | vars.cardname_stripped = mw.ustring.gsub(vars.cardname_e, " %(Evil Twin%)", "") | ||
Line 469: | Line 482: | ||
vars.cardtext = wikitext(card_results[1]['Text']) | vars.cardtext = wikitext(card_results[1]['Text']) | ||
vars.cardflavortext = wikitext(card_results[1]['FlavorText']) | vars.cardflavortext = wikitext(card_results[1]['FlavorText']) | ||
vars.cardartist = card_results[1]['Artist'] | vars.cardartist = card_results[1]['Artist'] or '' | ||
vars.cardtype = card_results[1]['Type'] | vars.cardtype = card_results[1]['Type'] | ||
vars.cardpower = card_results[1]['Power'] | vars.cardpower = card_results[1]['Power'] or '0' | ||
vars.cardarmor = card_results[1]['Armor'] | vars.cardarmor = card_results[1]['Armor'] or '0' | ||
vars.cardamber = card_results[1]['Amber'] | vars.cardamber = card_results[1]['Amber'] or '0' | ||
vars.cardtraits = card_results[1]['Traits'] | vars.cardtraits = card_results[1]['Traits'] or '' | ||
vars.category_prefix = '' | |||
if vars.cardhouse == nil then | if vars.cardhouse == nil then | ||
vars.cardhouse = '' | vars.cardhouse = '' |