Software /
code /
verse
Comparison
plugins/vcard.lua @ 312:f374daa3db4d
plugins.vcard: Update for never util.vcard
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 27 Aug 2012 00:13:47 +0200 |
parent | 250:a5ac643a7fd6 |
child | 313:d0d378f15d16 |
comparison
equal
deleted
inserted
replaced
311:de6e59e751eb | 312:f374daa3db4d |
---|---|
6 function verse.plugins.vcard(stream) | 6 function verse.plugins.vcard(stream) |
7 function stream:get_vcard(jid, callback) --jid = nil for self | 7 function stream:get_vcard(jid, callback) --jid = nil for self |
8 stream:send_iq(verse.iq({to = jid, type="get"}) | 8 stream:send_iq(verse.iq({to = jid, type="get"}) |
9 :tag("vCard", {xmlns=xmlns_vcard}), callback and function(stanza) | 9 :tag("vCard", {xmlns=xmlns_vcard}), callback and function(stanza) |
10 local lCard, xCard; | 10 local lCard, xCard; |
11 xCard = stanza:get_child("vCard", xmlns_vcard); | 11 vCard = stanza:get_child("vCard", xmlns_vcard); |
12 if stanza.attr.type == "result" and xCard then | 12 if stanza.attr.type == "result" and vCard then |
13 lCard = vcard.xep54_to_lua(xCard) | 13 vCard = vcard.from_xep54(xCard) |
14 vCard = vcard.xep54_to_text(xCard) | 14 callback(vCard) |
15 -- FIXME This is only until util.vcard.lua_to_text() is implemented | |
16 lCard._text = vCard; | |
17 callback(lCard) | |
18 else | 15 else |
19 callback(false) -- FIXME add error | 16 callback(false) -- FIXME add error |
20 end | 17 end |
21 end or nil); | 18 end or nil); |
22 end | 19 end |
24 function stream:set_vcard(aCard, callback) | 21 function stream:set_vcard(aCard, callback) |
25 local xCard; | 22 local xCard; |
26 if type(aCard) == "table" and aCard.name then | 23 if type(aCard) == "table" and aCard.name then |
27 xCard = aCard; | 24 xCard = aCard; |
28 elseif type(aCard) == "string" then | 25 elseif type(aCard) == "string" then |
29 xCard = vcard.text_to_xep54(aCard)[1]; | 26 xCard = vcard.from_text(aCard)[1]; |
30 elseif type(aCard) == "table" then | 27 elseif type(aCard) == "table" then |
28 xCard = vcard.to_xep54(aCard); | |
31 error("Converting a table to vCard not implemented") | 29 error("Converting a table to vCard not implemented") |
32 end | 30 end |
33 if not xCard then return false end | 31 if not xCard then return false end |
34 stream:debug("setting vcard to %s", tostring(xCard)); | 32 stream:debug("setting vcard to %s", tostring(xCard)); |
35 stream:send_iq(verse.iq({type="set"}) | 33 stream:send_iq(verse.iq({type="set"}) |