Diff

plugins/mod_vcard.lua @ 90:da468ed49a7b

Stanza preserialize/deserialize helpers, to strip and restore stanzas respectively. Fixed mod_vcard to use these.
author Matthew Wild <mwild1@gmail.com>
date Thu, 09 Oct 2008 00:50:45 +0100
parent 89:081e920dc74e
child 184:6528845e8673
line wrap: on
line diff
--- a/plugins/mod_vcard.lua	Thu Oct 09 03:40:16 2008 +0500
+++ b/plugins/mod_vcard.lua	Thu Oct 09 00:50:45 2008 +0100
@@ -18,10 +18,10 @@
 					if to then
 						local node, host = jid_split(to);
 						if hosts[host] and hosts[host].type == "local" then
-							vCard = datamanager.load(node, host, "vCard"); -- load vCard for user or server
+							vCard = st.deserialize(datamanager.load(node, host, "vCard")); -- load vCard for user or server
 						end
 					else
-						vCard = datamanager.load(session.username, session.host, "vCard");-- load user's own vCard
+						vCard = st.deserialize(datamanager.load(session.username, session.host, "vCard"));-- load user's own vCard
 					end
 					if vCard then
 						local iq = st.reply(stanza);
@@ -32,7 +32,7 @@
 					end
 				elseif stanza.attr.type == "set" then
 					if not to or to == session.username.."@"..session.host then
-						if datamanager.store(session.username, session.host, "vCard", stanza.tags[1]) then
+						if datamanager.store(session.username, session.host, "vCard", st.preserialize(stanza.tags[1])) then
 							send(session, st.reply(stanza));
 						else
 							-- TODO unable to write file, file may be locked, etc, what's the correct error?