More actions
(test) |
m (return values) |
||
Line 34: | Line 34: | ||
final_link = concatvalues(parts,"") | final_link = concatvalues(parts,"") | ||
mw.log(final_link) | mw.log(final_link) | ||
return final_link | |||
end | end | ||
Revision as of 01:29, 31 July 2019
local p = {}
local cargo = mw.ext.cargo
function p.BBRadio( frame )
intro = frame.args['intro'] or ''
intro = html_escape(intro)
limit = frame.args['limit'] or 100
link_parts = {
'tables=Files,BBRadio_Cuts',
'fields=Files._pageName, Files.Caption',
'where=Files.Characters HOLDS "' .. html_escape(frame.args[1]) .. '" AND BBRadio_Cuts.Season="' .. frame.args[2] .. '"',
'join_on=Files._pageName=BBRadio_Cuts._pageName',
'order_by=_pageName',
'format=gallery',
'offset=0',
'limit=' .. limit,
'default=',
'intro=' .. intro,
'show bytes=0',
'show dimensions=0',
'show filename=0',
'caption field=Caption',
'image width=250'
}
link = html_escape(concatvalues(link_parts,"&"))
parts = {
'https://blazblue.wiki/index.php\?title=Special:ViewData&',
link,
'">'
}
final_link = concatvalues(parts,"")
mw.log(final_link)
return final_link
end
-- concat all the strings in table s together with the given delimiter
function concatvalues(s,delimiter)
local t = { }
for k,v in ipairs(s) do
t[#t+1] = tostring(v)
end
return table.concat(t,delimiter)
end
function html_escape(s)
return (string.gsub(s, "[<>\"'/ ,]", {
["<"] = "%3C",
[">"] = "%3E",
['"'] = "%22",
["'"] = "%27",
["/"] = "%2F",
[" "] = "+",
[","] = "%2C"
}))
end
return p