# HG changeset patch # User Sonny Piers # Date 1334864139 -7200 # Node ID 90fdbe5454c41f005c96c09ad1a0f92e910f007b # Parent 26d372c9e270060f9a1ba4ad55f8cdd1b4a5c166 makes vcard plugin actually works diff --git a/plugins/vcard.js b/plugins/vcard.js --- a/plugins/vcard.js +++ b/plugins/vcard.js @@ -26,34 +26,50 @@ Lightstring.plugins['vcard'] = { stanzas: { get: function(aTo) { if (aTo) - return ""; + return ""; else return ""; }, - set: function(aTo) { - if (aTo) - return ""; - else - return ""; + set: function(aFields) { + var iq = ""; + aFields.forEach(function(field) { + iq += field; + }); + iq += ""; + return iq; } }, - //FIXME: we should return a JSON vcard, not an XML one methods: { + //FIXME: we should return a JSON vcard, not an XML one get: function(aTo, aOnSuccess, aOnError) { - this.send(Lightstring.stanzas['vcard'].get(aTo), function(stanza) { - var fields = stanza.DOM.firstChild.childNodes; - if (aOnSuccess && fields) - aOnSuccess(fields); - }, aOnError); + this.send(Lightstring.stanzas['vcard'].get(aTo), + // on success + function(stanza) { + var fields = stanza.DOM.firstChild; + if (aOnSuccess && fields) + aOnSuccess(fields); + }, + //on error + function(stanza) { + if (aOnError) + aOnError(sanza); + } + ); }, - set: function(aTo, aFields, aOnSuccess, aOnError) { - this.send(Lightstring.stanzas['vcard'].set(aTo, aFields), function(stanza) { - if (aOnSuccess) - aOnSuccess(); - //~ var vcard = stanza.DOM.firstChild; - //~ if (vcard) - //~ aResult(vcard); - }, aError); + set: function(aFields, aOnSuccess, aOnError) { + this.send(Lightstring.stanzas['vcard'].set(aFields), + //on success + function(stanza) { + if (aOnSuccess) + aOnSuccess(stanza.DOM.firstChild); + }, + //on error + function(stanza) { + if (aOnError) + aOnError(stanza); + } + ); } } };