Anton Shestakov <av6@dwimlabs.net>, Sun, 20 Mar 2016 23:30:16 +0800
register: improve scripting, move XMPP interface to a separate file
js/xmpp.js
Permissions: -rw-r--r--
// Generated by CoffeeScript 1.10.0 Tram.XMPPInterface = (function() { XMPPInterface.prototype.conn = null; function XMPPInterface() {} XMPPInterface.prototype._prepareConnection = function() { console.debug('connection exists, not reconnecting'); return this.conn = new Strophe.Connection("https://" + Tram.config.host + "/http-bind"); XMPPInterface.prototype.connect = function(node, pass, onConnect) { this._prepareConnection(); jid = node + "@" + Tram.config.domain; return this.conn.connect(jid, pass, onConnect); XMPPInterface.prototype.disconnect = function(reason) { this.conn.disconnect(reason); XMPPInterface.prototype.startRegistration = function(onConnect) { this._prepareConnection(); return this.conn.register.connect(Tram.config.domain, onConnect); XMPPInterface.prototype.register = function(username, password) { this.conn.register.fields.username = username; this.conn.register.fields.password = password; return this.conn.register.submit(); XMPPInterface.prototype.savevCard = function(data) { var $vcard, b, bi, binval, bl, d, dl, failcb, okcb, type; $vcard.c('NICKNAME').t(data.nickname).up(); $vcard.c('FN').t(data.fullname).up(); bi = data.avatar.indexOf(b); type = data.avatar.substr(dl, bi - dl); binval = data.avatar.substr(bi + bl); $vcard.c('PHOTO').c('TYPE').t(type).up().c('BINVAL').t(binval); okcb = (function(_this) { console.debug('vcard is set!', arguments); return _this.trigger('v/done'); failcb = (function(_this) { console.warn('vcard is NOT set!', arguments); return _this.trigger('v/failed'); return this.conn.sendIQ($vcard.tree(), okcb, failcb); _(Tram.XMPPInterface.prototype).extend(Backbone.Events); //# sourceMappingURL=xmpp.js.map