Module:QueryBelleSummary: Difference between revisions

From Victory Belles Community Wiki
Jump to navigation Jump to search
(Created page with "local p = {} local cargo = mw.ext.cargo function p.Main( frame ) local tables = 'MISC_BelleMoreInfo' local fields = 'MISC_BelleMoreInfo.TXT_Summary' -- optional parameters are grouped in one table -- you can omit any or all of them, except join if you use more than one table local args = { where = 'FK_Belle = "{{#replace:{{PAGENAME}}|'|\'}}"', join = 'table1.fieldA = table2.fieldB,table2.fieldC=table3.fieldD, etc.', default ='De...")
 
m (Protected "Module:QueryBelleSummary": Prevent editing of templates ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
 
(19 intermediate revisions by the same user not shown)
Line 2: Line 2:
local cargo = mw.ext.cargo
local cargo = mw.ext.cargo


function p.Main( frame )
function p.main ( frame )
     local tables = 'MISC_BelleMoreInfo'
     local tables = "MISC_BelleMoreInfo"
     local fields = 'MISC_BelleMoreInfo.TXT_Summary'
     local fields = "TXT_Summary"
    -- optional parameters are grouped in one table
 
    -- you can omit any or all of them, except join if you use more than one table
     local cargoArgs = {
     local args = {
         where = "MISC_BelleMoreInfo.FK_Belle = '" .. frame.args.belle .. "'",
         where = 'FK_Belle = "{{#replace:{{PAGENAME}}|'|\'}}"',
default ='Description not defined',
        join = 'table1.fieldA = table2.fieldB,table2.fieldC=table3.fieldD, etc.',
limit = 1
default ='Description not defined'
     }
     }
     local results = cargo.query( tables, fields, args )
     local results = cargo.query( tables, fields, cargoArgs )
     for r = 1, #results do
     for r = 1, #results do
         local result = results[r]
         local result = results[r]
         -- Do something with the result table, e.g. result.alias1
         if result == nil then
        return 'Empty Cargo...'
    else
        return result.TXT_Summary
    end
     end
     end
end
end


return p
return p

Latest revision as of 10:13, 2 June 2023

Description[edit source]

Retrieve a Belle's ingame Summary text. Only necessary because of a conflict between ConfirmEdit/QuestyCaptcha and Cargo that resulted in Cargo-stored text containing double quotes turning into the HTML escaped version when retrieved like the below.

Quote-fail.png

To Use[edit source]

This code was written for the NewBellePage template but if needed elsewhere, copy and paste the following.

{{#invoke:QueryBelleSummary|main|belle={{#replace:{{PAGENAME}}|'|\'}}}}

If not using the name of the page, swap PAGENAME with the Belle's name. The "replace" code is needed to handle names that contain single quotes which would otherwise cause database errors if not properly escaped prior to being queried for.

On NewBellePage, the text is also italicized.


local p = {}
local cargo = mw.ext.cargo

function p.main ( frame )
    local tables = "MISC_BelleMoreInfo"
    local fields = "TXT_Summary"

    local cargoArgs = {
        where = "MISC_BelleMoreInfo.FK_Belle = '" .. frame.args.belle .. "'",
		default ='Description not defined',
		limit = 1
    }
    local results = cargo.query( tables, fields, cargoArgs )
    for r = 1, #results do
        local result = results[r]
        if result == nil then
        	return 'Empty Cargo...'
    	else 
        	return result.TXT_Summary
    	end
    end
end

return p