Skip to content

Commit

Permalink
Merge pull request #37 from Destreyf/master
Browse files Browse the repository at this point in the history
Support v0.3 of XEP-0313 (MAM)
  • Loading branch information
jcbrand committed Sep 9, 2014
2 parents 5e9028c + 7960520 commit 3ef8a05
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
File renamed without changes.
50 changes: 50 additions & 0 deletions mam/strophe.mam.v0.3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/* XEP-0313: Message Archive Management
* Copyright (C) 2012 Kim Alvefur
*
* This file is MIT/X11 licensed. Please see the
* LICENSE.txt file in the source package for more information.
*
* Modified by: Chris Tunbridge (github.com/Destreyf/)
* Updated to support v0.3 of the XMPP XEP-0313 standard
* http://xmpp.org/extensions/xep-0313.html
*
*/

Strophe.addConnectionPlugin('mam', {
_c: null,
_p: [ "with", "start", "end" ],
init: function (conn) {
this._c = conn;
Strophe.addNamespace('MAM', 'urn:xmpp:mam:0');
},
query: function (jid, options) {
var _p = this._p;
var attr = {
type:"set",
id:jid
};
var mamAttr = {xmlns: Strophe.NS.MAM};
var iq = $iq(attr).c("query", mamAttr).c('x',{xmlns:'jabber:x:data'});

iq.c('field',{var:"FORM_TYPE"}).c('value').t("urn:xmpp:mam:0").up().up();
for (i = 0; i < this._p.length; i++) {
var pn = _p[i];
var p = options[pn];
delete options[pn];
if (!!p) {
var f
iq.c('field',{var:pn}).c('value').t(p).up().up();
}
}
iq.up();

var onMessage = options["onMessage"];
delete options['onMessage'];
var onComplete = options["onComplete"];
delete options['onComplete'];
iq.cnode(new Strophe.RSM(options).toXML());

this._c.addHandler(onMessage, Strophe.NS.MAM, "message", null);
return this._c.sendIQ(iq, onComplete);
}
});

0 comments on commit 3ef8a05

Please sign in to comment.