# HG changeset patch # User Waqas Hussain # Date 1249206034 -18000 # Node ID cb3d937dd1da177077e16ac0d570efb49a604c05 # Parent f6af348cf497900a7896340fc77c8cb2a205f88a ejabberdsql2prosody: Added support for Private XML Storage diff -r f6af348cf497 -r cb3d937dd1da tools/ejabberdsql2prosody.lua --- a/tools/ejabberdsql2prosody.lua Sun Aug 02 14:35:41 2009 +0500 +++ b/tools/ejabberdsql2prosody.lua Sun Aug 02 14:40:34 2009 +0500 @@ -278,6 +278,12 @@ local ret, err = dm.store(node, host, "roster", roster); print("["..(err or "success").."] roster-group: " ..node.."@"..host.." - "..jid.." - "..group); end +function private_storage(node, host, xmlns, stanza) + local private = dm.load(node, host, "private") or {}; + private[stanza.name..":"..xmlns] = st.preserialize(stanza); + local ret, err = dm.store(node, host, "private", private); + print("["..(err or "success").."] private: " ..node.."@"..host.." - "..xmlns); +end for i, row in ipairs(t["rosterusers"] or NULL) do local node, contact = row.username, row.jid; local name = row.nick; @@ -314,3 +320,6 @@ local ret, err = dm.store(row.username, host, "vcard", st.preserialize(parse_xml(row.vcard))); print("["..(err or "success").."] vCard: "..row.username.."@"..host); end +for i, row in ipairs(t["private_storage"] or NULL) do + private_storage(row.username, host, row.namespace, st.preserialize(parse_xml(row.data))); +end