webmcp

annotate framework/env/slot/dump_all.lua @ 11:d76a8857ba62

Added ui.partial and other functions, which allow partial content replacement using XMLHttpRequests; Image support for ui.link

Also includes following changes:
- Fix for rocketcgi library to accept POST data content-types, which contain additional charset information.
- Support arrays passed as params to encode.url (only for keys ending with "[]")
- Version information changed to "1.0.7"

Documentation for added functions is not yet complete.
author jbe/bsw
date Fri Feb 12 18:40:22 2010 +0100 (2010-02-12)
parents 9fdfb27f8e67
children
rev   line source
jbe/bsw@0 1 --[[--
jbe/bsw@0 2 blob = -- string for later usage with slot.restore_all(...)
jbe/bsw@0 3 slot.dump_all()
jbe/bsw@0 4
jbe/bsw@0 5 Returns a single string, containing all slot contents. The result of this function can be used to restore all slots after a 303 redirect. This is done automatically by the WebMCP using slot.restore_all(...). If the result of this function is an empty string, then all slots are empty.
jbe/bsw@0 6
jbe/bsw@0 7 --]]--
jbe/bsw@0 8
jbe/bsw@0 9 local function encode(str)
jbe/bsw@0 10 return (
jbe/bsw@0 11 string.gsub(
jbe/bsw@0 12 str,
jbe/bsw@0 13 "[=;%[%]]",
jbe/bsw@0 14 function(char)
jbe/bsw@0 15 if char == "=" then return "[eq]"
jbe/bsw@0 16 elseif char == ";" then return "[s]"
jbe/bsw@0 17 elseif char == "[" then return "[o]"
jbe/bsw@0 18 elseif char == "]" then return "[c]"
jbe/bsw@0 19 else end
jbe/bsw@0 20 end
jbe/bsw@0 21 )
jbe/bsw@0 22 )
jbe/bsw@0 23 end
jbe/bsw@0 24
jbe/bsw@0 25 function slot.dump_all()
jbe/bsw@0 26 local blob_parts = {}
jbe/bsw@0 27 for key in pairs(slot._data) do
jbe/bsw@0 28 if type(key) == "string" then
jbe/bsw@0 29 local value = slot.get_content(key)
jbe/bsw@0 30 if value ~= "" then
jbe/bsw@0 31 blob_parts[#blob_parts + 1] = encode(key) .. "=" .. encode(value)
jbe/bsw@0 32 end
jbe/bsw@0 33 end
jbe/bsw@0 34 end
jbe/bsw@0 35 return table.concat(blob_parts, ";")
jbe/bsw@0 36 end

Impressum / About Us