Explorar el Código

Add strophe.vcard.js

JC Brand hace 12 años
padre
commit
4989b4295b
Se han modificado 1 ficheros con 66 adiciones y 0 borrados
  1. 66 0
      Libraries/strophe.vcard.js

+ 66 - 0
Libraries/strophe.vcard.js

@@ -0,0 +1,66 @@
+// Generated by CoffeeScript 1.3.3
+/*
+Plugin to implement the vCard extension.
+http://xmpp.org/extensions/xep-0054.html
+
+Author: Nathan Zorn (nathan.zorn@gmail.com)
+CoffeeScript port: Andreas Guth (guth@dbis.rwth-aachen.de)
+*/
+
+/* jslint configuration:
+*/
+
+/* global document, window, setTimeout, clearTimeout, console,
+    XMLHttpRequest, ActiveXObject,
+    Base64, MD5,
+    Strophe, $build, $msg, $iq, $pres
+*/
+
+var buildIq;
+
+buildIq = function(type, jid, vCardEl) {
+  var iq;
+  iq = $iq(jid ? {
+    type: type,
+    to: jid
+  } : {
+    type: type
+  });
+  iq.c("vCard", {
+    xmlns: Strophe.NS.VCARD
+  });
+  if (vCardEl) {
+    iq.cnode(vCardEl);
+  }
+  return iq;
+};
+
+Strophe.addConnectionPlugin('vcard', {
+  _connection: null,
+  init: function(conn) {
+    this._connection = conn;
+    return Strophe.addNamespace('VCARD', 'vcard-temp');
+  },
+  /*Function
+    Retrieve a vCard for a JID/Entity
+    Parameters:
+    (Function) handler_cb - The callback function used to handle the request.
+    (String) jid - optional - The name of the entity to request the vCard
+       If no jid is given, this function retrieves the current user's vcard.
+  */
+
+  get: function(handler_cb, jid, error_cb) {
+    var iq;
+    iq = buildIq("get", jid);
+    return this._connection.sendIQ(iq, handler_cb, error_cb);
+  },
+  /* Function
+      Set an entity's vCard.
+  */
+
+  set: function(handler_cb, vCardEl, jid, error_cb) {
+    var iq;
+    iq = buildIq("set", jid, vCardEl);
+    return this._connection.sendIQ(iq, handler_cb, error_rb);
+  }
+});