Module:BibleQuote: Difference between revisions

No edit summary
No edit summary
Line 19: Line 19:
     end
     end
     return false
     return false
end
local function makeInvokeFunc(funcName)
return function (frame)
local args = getArgs(frame)
    -- let's make sure defaults are set
    if args.version == nil or args.version == "" then
    args.version = "NABRE"
    end
    if args.ref == nil or args.ref == "" then
    args.ref = "John 3:16"
    end
    if args.inline == nil or args.inline == "" or args.inline == 1 or args.inline == "true" then
    args.inline = true
    elseif args.inline == 0 or args.inline == "false" then
    args.inline = false
    end
return p[funcName](args)
end
end
end


local p = {} --p stands for package
local p = {} --p stands for package


function p.isValidVersion( frame )
p.isValidVersion = makeInvokeFunc("_isValidVersion")
    local args = getArgs(frame, {
function p._isValidVersion(args)
    --we will only consider arguments that are passed by the template itself in the invoke
    frameOnly = true
    })
    -- let's make sure defaults are set if not defined or empty
    if args.version == nil or args.version == "" then
    args.version = "NABRE"
    end
if (in_table(args.version, VERSIONS_AVAILABLE)) then
if (in_table(args.version, VERSIONS_AVAILABLE)) then
return 1
return 1
Line 39: Line 53:
end
end


function p.main( frame )
p.main = makeInvokeFunc("_main")
    local args = getArgs(frame, {
    --we will only consider arguments that are passed by the template itself in the invoke
    frameOnly = true
    })
    -- let's make sure defaults are set
    if args.version == nil or args.version == "" then
    args.version = "NABRE"
    end
 
    if args.ref == nil or args.ref == "" then
    args.ref = "John 3:16"
    end
 
    if args.inline == nil or args.inline == "" or args.inline == 1 or args.inline == "true" then
    args.inline = true
    elseif args.inline == 0 or args.inline == "false" then
    args.inline = false
    end
    return p._main(args)
end
 
function p._main( args )
function p._main( args )
if (in_table(args.version, VERSIONS_AVAILABLE)) then
if (in_table(args.version, VERSIONS_AVAILABLE)) then
if args.inline then
if args.inline then
return "<span class=\"bibleQuoteRef\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\" data-inline=\"" .. (args.inline == true and "true" or "false") .. "\">" .. args.ref .. "</span>"
return "<span class=\"bibleQuoteRef\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\" data-inline=\"true\">" .. args.ref .. "</span>"
else
else
return "<div class=\"bibleQuoteRef\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\" data-inline=\"" .. (args.inline == true and "true" or "false") .. "\"></div>"
return "<div class=\"bibleQuoteRef\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\" data-inline=\"false\"></div>"
end
end
else
else