diff mod_admin_web/admin_web/www_files/js/main.js @ 317:4f78f5020aa9

mod_admin_web: Get rid of the mod_pubsub dependency
author Florian Zeitz <florob@babelmonkeys.de>
date Fri, 14 Jan 2011 01:54:39 +0100
parents f406e300d709
children ba2e78661ea8
line wrap: on
line diff
--- a/mod_admin_web/admin_web/www_files/js/main.js	Tue Jan 11 18:13:23 2011 +0500
+++ b/mod_admin_web/admin_web/www_files/js/main.js	Fri Jan 14 01:54:39 2011 +0100
@@ -1,15 +1,15 @@
 var BOSH_SERVICE = '/http-bind/';
-var show_log = false;
+var show_log = true;
 
-Strophe.addNamespace('C2SPUBSUB', 'http://prosody.im/streams/c2s');
-Strophe.addNamespace('S2SPUBSUB', 'http://prosody.im/streams/s2s');
-Strophe.addNamespace('PUBSUB', 'http://jabber.org/protocol/pubsub');
+Strophe.addNamespace('C2SSTREAM', 'http://prosody.im/streams/c2s');
+Strophe.addNamespace('S2SSTREAM', 'http://prosody.im/streams/s2s');
+Strophe.addNamespace('ADMINSUB', 'http://prosody.im/adminsub');
 Strophe.addNamespace('CAPS', 'http://jabber.org/protocol/caps');
 
 var localJID = null;
 var connection   = null;
 
-var pubsubHost = '%PUBSUBHOST%';
+var adminsubHost = '%ADMINSUBHOST%';
 
 function log(msg) {
     var entry = $('<div></div>').append(document.createTextNode(msg));
@@ -32,10 +32,10 @@
         jid = items[i].getElementsByTagName('session')[0].attributes['jid'].value;
 
         entry = $('<li id="' + id + '">' + jid + '</li>');
-        if (e.getElementsByTagName('encrypted')[0]) {
+        if (items[i].getElementsByTagName('encrypted')[0]) {
             entry.append('<img src="images/encrypted.png" title="encrypted" alt=" (encrypted)" />');
         }
-        if (e.getElementsByTagName('compressed')[0]) {
+        if (items[i].getElementsByTagName('compressed')[0]) {
             entry.append('<img src="images/compressed.png" title="compressed" alt=" (compressed)" />');
         }
 
@@ -60,10 +60,10 @@
         id = items[i].attributes['id'].value;
         jid = items[i].getElementsByTagName('session')[0].attributes['jid'].value;
         entry = $('<li id="' + id + '">' + jid + '</li>');
-        if (e.getElementsByTagName('encrypted')[0]) {
+        if (items[i].getElementsByTagName('encrypted')[0]) {
             entry.append('<img src="images/encrypted.png" title="encrypted" alt=" (encrypted)" />');
         }
-        if (e.getElementsByTagName('compressed')[0]) {
+        if (items[i].getElementsByTagName('compressed')[0]) {
             entry.append('<img src="images/compressed.png" title="compressed" alt=" (compressed)" />');
         }
         entry.appendTo('#c2s');
@@ -76,11 +76,11 @@
     return true;
 }
 
-function _cbPubSub(e) {
+function _cbAdminSub(e) {
     var node = e.getElementsByTagName('items')[0].attributes['node'].value;
-    if (node == Strophe.NS.C2SPUBSUB) {
+    if (node == Strophe.NS.C2SSTREAM) {
         _cbNewC2S(e);
-    } else if (node == Strophe.NS.S2SPUBSUB) {
+    } else if (node == Strophe.NS.S2SSTREAM) {
         _cbNewS2S(e);
     }
 
@@ -106,17 +106,16 @@
     } else if (status == Strophe.Status.CONNECTED) {
         log('Strophe is connected.');
         showDisconnect();
+        connection.addHandler(_cbAdminSub, Strophe.NS.ADMINSUB + '#event', 'message');
+        connection.send($iq({to: adminsubHost, type: 'set', id: connection.getUniqueId()}).c('adminsub', {xmlns: Strophe.NS.ADMINSUB})
+                .c('subscribe', {node: Strophe.NS.C2SSTREAM}));
+        connection.send($iq({to: adminsubHost, type: 'set', id: connection.getUniqueId()}).c('adminsub', {xmlns: Strophe.NS.ADMINSUB})
+                .c('subscribe', {node: Strophe.NS.S2SSTREAM}));
+        connection.sendIQ($iq({to: adminsubHost, type: 'get', id: connection.getUniqueId()}).c('adminsub', {xmlns: Strophe.NS.ADMINSUB})
+                .c('items', {node: Strophe.NS.S2SSTREAM}), _cbNewS2S);
+        connection.sendIQ($iq({to: adminsubHost, type: 'get', id: connection.getUniqueId()}).c('adminsub', {xmlns: Strophe.NS.ADMINSUB})
+                .c('items', {node: Strophe.NS.C2SSTREAM}), _cbNewC2S);
 	Adhoc.checkFeatures('#adhoc', connection.domain);
-        connection.addHandler(_cbPubSub, Strophe.NS.PUBSUB + '#event', 'message');
-        connection.send($iq({to: pubsubHost, type: 'set', id: connection.getUniqueId()}).c('pubsub', {xmlns: Strophe.NS.PUBSUB})
-                .c('subscribe', {node: Strophe.NS.C2SPUBSUB, jid: connection.jid}));
-        connection.send($iq({to: pubsubHost, type: 'set', id: connection.getUniqueId()}).c('pubsub', {xmlns: Strophe.NS.PUBSUB})
-                .c('subscribe', {node: Strophe.NS.S2SPUBSUB, jid: connection.jid}));
-        connection.sendIQ($iq({to: pubsubHost, type: 'get', id: connection.getUniqueId()}).c('pubsub', {xmlns: Strophe.NS.PUBSUB})
-                .c('items', {node: Strophe.NS.S2SPUBSUB}), _cbNewS2S);
-        connection.sendIQ($iq({to: pubsubHost, type: 'get', id: connection.getUniqueId()}).c('pubsub', {xmlns: Strophe.NS.PUBSUB})
-                .c('items', {node: Strophe.NS.C2SPUBSUB}), _cbNewC2S);
-
     }
 }