모듈:CGI2
위 설명은 모듈:CGI2/설명문서의 내용을 가져와 보여주고 있습니다. (편집 | 역사) 이 모듈에 대한 수정 연습과 시험은 연습장 (만들기 | 미러)과 시험장 (만들기)에서 할 수 있습니다. 분류는 /설명문서에 넣어주세요. 이 모듈에 딸린 문서. |
local getArgs = require('모듈:Arguments').getArgs
local p = {}
function p.set(frame)
local args = getArgs(frame:getParent())
local params = {}
local index = 1
for key in pairs(args) do
table.insert(params, {set = {key, args[key]}})
end
return mw.text.encode(mw.text.jsonEncode(params):sub(2, -2) .. ',')
end
function p.toGET(frame)
local params = mw.text.jsonDecode('[' .. frame.args[1]:sub(1, -2) .. ']')
for index, wrapper in pairs(params) do
if(wrapper.set) then
for i, str in pairs(wrapper.set) do
wrapper.set[i] = mw.uri.encode(str)
end
params[index] = table.concat(wrapper.set, "=")
end
end
return table.concat(params, '&')
end
function p.fromGET(frame)
local params = mw.text.split(frame.args.get, "&")
for index, entry in pairs(params) do
params[index] = {set = mw.text.split(entry, "=")}
for i, str in pairs(params[index].set) do
wrapper.set[i] = mw.uri.decode(str)
end
end
return mw.text.encode(mw.text.jsonEncode(params):sub(2, -2) .. ",")
end
return p