Mercurial > prosody-modules
annotate mod_admin_web/admin_web/www_files/js/main.js @ 1060:25b83ed7838a
mod_onions: Added mod_onions. This module allows Prosody to make s2s connections to Tor hidden services.
* Requires a local install of Tor.
* Does not require the initiating server to be a hidden service (though dialback will be tricky).
author | Thijs Alkemade <me@thijsalkema.de> |
---|---|
date | Mon, 10 Jun 2013 20:59:39 +0200 |
parents | 83f56d3a07f5 |
children | d643c385d3f6 |
rev | line source |
---|---|
307
eeef1fa57f88
mod_admin_web: Specify only directory as bosh service, so it (normally) doesn't need changing (Thanks Zash)
Florian Zeitz <florob@babelmonkeys.de>
parents:
306
diff
changeset
|
1 var BOSH_SERVICE = '/http-bind/'; |
319
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
2 var show_log = false; |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
3 |
317
4f78f5020aa9
mod_admin_web: Get rid of the mod_pubsub dependency
Florian Zeitz <florob@babelmonkeys.de>
parents:
308
diff
changeset
|
4 Strophe.addNamespace('C2SSTREAM', 'http://prosody.im/streams/c2s'); |
4f78f5020aa9
mod_admin_web: Get rid of the mod_pubsub dependency
Florian Zeitz <florob@babelmonkeys.de>
parents:
308
diff
changeset
|
5 Strophe.addNamespace('S2SSTREAM', 'http://prosody.im/streams/s2s'); |
4f78f5020aa9
mod_admin_web: Get rid of the mod_pubsub dependency
Florian Zeitz <florob@babelmonkeys.de>
parents:
308
diff
changeset
|
6 Strophe.addNamespace('ADMINSUB', 'http://prosody.im/adminsub'); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
7 Strophe.addNamespace('CAPS', 'http://jabber.org/protocol/caps'); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
8 |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
9 var localJID = null; |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
10 var connection = null; |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
11 |
319
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
12 var adminsubHost = null; |
573
c9955858dc7e
mod_adhoc_web: Redesign adhoc command pane
Florian Zeitz <florob@babelmonkeys.de>
parents:
547
diff
changeset
|
13 var adhocControl = new Adhoc('#adhocDisplay', function() {}); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
14 |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
15 function log(msg) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
16 var entry = $('<div></div>').append(document.createTextNode(msg)); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
17 $('#log').append(entry); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
18 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
19 |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
20 function rawInput(data) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
21 log('RECV: ' + data); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
22 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
23 |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
24 function rawOutput(data) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
25 log('SENT: ' + data); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
26 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
27 |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
28 function _cbNewS2S(e) { |
396
8cb21ef24e5d
mod_admin_web: Show S2S certificate validity
Florian Zeitz <florob@babelmonkeys.de>
parents:
334
diff
changeset
|
29 var items, entry, tmp, retract, id, jid; |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
30 items = e.getElementsByTagName('item'); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
31 for (i = 0; i < items.length; i++) { |
614
40ab83736f6e
mod_admin_web: Correctly access items in NamedNodeMaps
Florian Zeitz <florob@babelmonkeys.de>
parents:
584
diff
changeset
|
32 id = items[i].attributes.getNamedItem('id').value; |
40ab83736f6e
mod_admin_web: Correctly access items in NamedNodeMaps
Florian Zeitz <florob@babelmonkeys.de>
parents:
584
diff
changeset
|
33 jid = items[i].getElementsByTagName('session')[0].attributes.getNamedItem('jid').value; |
306
c152ab024d1a
mod_admin_web: Show whether connection is encrypted/compressed
Florian Zeitz <florob@babelmonkeys.de>
parents:
302
diff
changeset
|
34 |
c152ab024d1a
mod_admin_web: Show whether connection is encrypted/compressed
Florian Zeitz <florob@babelmonkeys.de>
parents:
302
diff
changeset
|
35 entry = $('<li id="' + id + '">' + jid + '</li>'); |
396
8cb21ef24e5d
mod_admin_web: Show S2S certificate validity
Florian Zeitz <florob@babelmonkeys.de>
parents:
334
diff
changeset
|
36 if (tmp = items[i].getElementsByTagName('encrypted')[0]) { |
8cb21ef24e5d
mod_admin_web: Show S2S certificate validity
Florian Zeitz <florob@babelmonkeys.de>
parents:
334
diff
changeset
|
37 if (tmp.getElementsByTagName('valid')[0]) { |
8cb21ef24e5d
mod_admin_web: Show S2S certificate validity
Florian Zeitz <florob@babelmonkeys.de>
parents:
334
diff
changeset
|
38 entry.append('<img src="images/secure.png" title="encrypted (certificate valid)" alt=" (secure) (encrypted)" />'); |
8cb21ef24e5d
mod_admin_web: Show S2S certificate validity
Florian Zeitz <florob@babelmonkeys.de>
parents:
334
diff
changeset
|
39 } else { |
8cb21ef24e5d
mod_admin_web: Show S2S certificate validity
Florian Zeitz <florob@babelmonkeys.de>
parents:
334
diff
changeset
|
40 entry.append('<img src="images/encrypted.png" title="encrypted (certificate invalid)" alt=" (encrypted)" />'); |
8cb21ef24e5d
mod_admin_web: Show S2S certificate validity
Florian Zeitz <florob@babelmonkeys.de>
parents:
334
diff
changeset
|
41 } |
306
c152ab024d1a
mod_admin_web: Show whether connection is encrypted/compressed
Florian Zeitz <florob@babelmonkeys.de>
parents:
302
diff
changeset
|
42 } |
317
4f78f5020aa9
mod_admin_web: Get rid of the mod_pubsub dependency
Florian Zeitz <florob@babelmonkeys.de>
parents:
308
diff
changeset
|
43 if (items[i].getElementsByTagName('compressed')[0]) { |
306
c152ab024d1a
mod_admin_web: Show whether connection is encrypted/compressed
Florian Zeitz <florob@babelmonkeys.de>
parents:
302
diff
changeset
|
44 entry.append('<img src="images/compressed.png" title="compressed" alt=" (compressed)" />'); |
c152ab024d1a
mod_admin_web: Show whether connection is encrypted/compressed
Florian Zeitz <florob@babelmonkeys.de>
parents:
302
diff
changeset
|
45 } |
c152ab024d1a
mod_admin_web: Show whether connection is encrypted/compressed
Florian Zeitz <florob@babelmonkeys.de>
parents:
302
diff
changeset
|
46 |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
47 if (items[i].getElementsByTagName('out')[0]) { |
306
c152ab024d1a
mod_admin_web: Show whether connection is encrypted/compressed
Florian Zeitz <florob@babelmonkeys.de>
parents:
302
diff
changeset
|
48 entry.appendTo('#s2sout'); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
49 } else { |
306
c152ab024d1a
mod_admin_web: Show whether connection is encrypted/compressed
Florian Zeitz <florob@babelmonkeys.de>
parents:
302
diff
changeset
|
50 entry.appendTo('#s2sin'); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
51 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
52 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
53 retract = e.getElementsByTagName('retract')[0]; |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
54 if (retract) { |
614
40ab83736f6e
mod_admin_web: Correctly access items in NamedNodeMaps
Florian Zeitz <florob@babelmonkeys.de>
parents:
584
diff
changeset
|
55 id = retract.attributes.getNamedItem('id').value; |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
56 $('#' + id).remove(); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
57 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
58 return true; |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
59 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
60 |
301
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
61 function _cbNewC2S(e) { |
306
c152ab024d1a
mod_admin_web: Show whether connection is encrypted/compressed
Florian Zeitz <florob@babelmonkeys.de>
parents:
302
diff
changeset
|
62 var items, entry, retract, id, jid; |
301
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
63 items = e.getElementsByTagName('item'); |
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
64 for (i = 0; i < items.length; i++) { |
614
40ab83736f6e
mod_admin_web: Correctly access items in NamedNodeMaps
Florian Zeitz <florob@babelmonkeys.de>
parents:
584
diff
changeset
|
65 id = items[i].attributes.getNamedItem('id').value; |
40ab83736f6e
mod_admin_web: Correctly access items in NamedNodeMaps
Florian Zeitz <florob@babelmonkeys.de>
parents:
584
diff
changeset
|
66 jid = items[i].getElementsByTagName('session')[0].attributes.getNamedItem('jid').value; |
306
c152ab024d1a
mod_admin_web: Show whether connection is encrypted/compressed
Florian Zeitz <florob@babelmonkeys.de>
parents:
302
diff
changeset
|
67 entry = $('<li id="' + id + '">' + jid + '</li>'); |
317
4f78f5020aa9
mod_admin_web: Get rid of the mod_pubsub dependency
Florian Zeitz <florob@babelmonkeys.de>
parents:
308
diff
changeset
|
68 if (items[i].getElementsByTagName('encrypted')[0]) { |
306
c152ab024d1a
mod_admin_web: Show whether connection is encrypted/compressed
Florian Zeitz <florob@babelmonkeys.de>
parents:
302
diff
changeset
|
69 entry.append('<img src="images/encrypted.png" title="encrypted" alt=" (encrypted)" />'); |
c152ab024d1a
mod_admin_web: Show whether connection is encrypted/compressed
Florian Zeitz <florob@babelmonkeys.de>
parents:
302
diff
changeset
|
70 } |
317
4f78f5020aa9
mod_admin_web: Get rid of the mod_pubsub dependency
Florian Zeitz <florob@babelmonkeys.de>
parents:
308
diff
changeset
|
71 if (items[i].getElementsByTagName('compressed')[0]) { |
306
c152ab024d1a
mod_admin_web: Show whether connection is encrypted/compressed
Florian Zeitz <florob@babelmonkeys.de>
parents:
302
diff
changeset
|
72 entry.append('<img src="images/compressed.png" title="compressed" alt=" (compressed)" />'); |
c152ab024d1a
mod_admin_web: Show whether connection is encrypted/compressed
Florian Zeitz <florob@babelmonkeys.de>
parents:
302
diff
changeset
|
73 } |
c152ab024d1a
mod_admin_web: Show whether connection is encrypted/compressed
Florian Zeitz <florob@babelmonkeys.de>
parents:
302
diff
changeset
|
74 entry.appendTo('#c2s'); |
301
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
75 } |
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
76 retract = e.getElementsByTagName('retract')[0]; |
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
77 if (retract) { |
614
40ab83736f6e
mod_admin_web: Correctly access items in NamedNodeMaps
Florian Zeitz <florob@babelmonkeys.de>
parents:
584
diff
changeset
|
78 id = retract.attributes.getNamedItem('id').value; |
301
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
79 $('#' + id).remove(); |
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
80 } |
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
81 return true; |
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
82 } |
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
83 |
317
4f78f5020aa9
mod_admin_web: Get rid of the mod_pubsub dependency
Florian Zeitz <florob@babelmonkeys.de>
parents:
308
diff
changeset
|
84 function _cbAdminSub(e) { |
614
40ab83736f6e
mod_admin_web: Correctly access items in NamedNodeMaps
Florian Zeitz <florob@babelmonkeys.de>
parents:
584
diff
changeset
|
85 var node = e.getElementsByTagName('items')[0].attributes.getNamedItem('node').value; |
317
4f78f5020aa9
mod_admin_web: Get rid of the mod_pubsub dependency
Florian Zeitz <florob@babelmonkeys.de>
parents:
308
diff
changeset
|
86 if (node == Strophe.NS.C2SSTREAM) { |
301
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
87 _cbNewC2S(e); |
317
4f78f5020aa9
mod_admin_web: Get rid of the mod_pubsub dependency
Florian Zeitz <florob@babelmonkeys.de>
parents:
308
diff
changeset
|
88 } else if (node == Strophe.NS.S2SSTREAM) { |
301
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
89 _cbNewS2S(e); |
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
90 } |
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
91 |
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
92 return true; |
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
93 } |
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
94 |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
95 function onConnect(status) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
96 if (status == Strophe.Status.CONNECTING) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
97 log('Strophe is connecting.'); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
98 } else if (status == Strophe.Status.CONNFAIL) { |
915
1d03dc7cf28f
mod_admin_web: Better error reporting
Florian Zeitz <florob@babelmonkeys.de>
parents:
914
diff
changeset
|
99 alert('Connection failed (Wrong host?)'); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
100 log('Strophe failed to connect.'); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
101 showConnect(); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
102 } else if (status == Strophe.Status.DISCONNECTING) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
103 log('Strophe is disconnecting.'); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
104 } else if (status == Strophe.Status.DISCONNECTED) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
105 log('Strophe is disconnected.'); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
106 showConnect(); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
107 } else if (status == Strophe.Status.AUTHFAIL) { |
915
1d03dc7cf28f
mod_admin_web: Better error reporting
Florian Zeitz <florob@babelmonkeys.de>
parents:
914
diff
changeset
|
108 alert('Wrong username and/or password'); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
109 log('Authentication failed'); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
110 if (connection) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
111 connection.disconnect(); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
112 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
113 } else if (status == Strophe.Status.CONNECTED) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
114 log('Strophe is connected.'); |
319
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
115 connection.sendIQ($iq({to: connection.domain, type: 'get', id: connection.getUniqueId()}).c('adminsub', {xmlns: Strophe.NS.ADMINSUB}) |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
116 .c('adminfor'), function(e) { |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
117 var items; |
1019
7cba8be42d9e
mod_admin_web: Update to new strophejs location, and jQuery 1.9.1
Florian Zeitz <florob@babelmonkeys.de>
parents:
915
diff
changeset
|
118 var domainpart = Strophe.getDomainFromJid(connection.jid); |
319
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
119 items = e.getElementsByTagName('item'); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
120 if (items.length == 0) { |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
121 alert("You are not an administrator"); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
122 connection.disconnect(); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
123 return false; |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
124 } |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
125 for (i = 0; i < items.length; i++) { |
914
fa996cfec6da
mod_admin_web: Default the host selection to the administrators domainpart
Florian Zeitz <florob@babelmonkeys.de>
parents:
614
diff
changeset
|
126 var host = $(items[i]).text(); |
1019
7cba8be42d9e
mod_admin_web: Update to new strophejs location, and jQuery 1.9.1
Florian Zeitz <florob@babelmonkeys.de>
parents:
915
diff
changeset
|
127 $('<option/>').text(host).prop('selected', host == domainpart).appendTo('#host'); |
319
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
128 } |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
129 showDisconnect(); |
1020
9839198539c8
mod_admin_web: Fix indentation
Florian Zeitz <florob@babelmonkeys.de>
parents:
1019
diff
changeset
|
130 adminsubHost = $('#host').val(); |
9839198539c8
mod_admin_web: Fix indentation
Florian Zeitz <florob@babelmonkeys.de>
parents:
1019
diff
changeset
|
131 adhocControl.checkFeatures(adminsubHost, |
9839198539c8
mod_admin_web: Fix indentation
Florian Zeitz <florob@babelmonkeys.de>
parents:
1019
diff
changeset
|
132 function () { adhocControl.getCommandNodes(function (result) { $('#adhocDisplay').empty(); $('#adhocCommands').html(result); }) }, |
9839198539c8
mod_admin_web: Fix indentation
Florian Zeitz <florob@babelmonkeys.de>
parents:
1019
diff
changeset
|
133 function () { $('#adhocCommands').empty(); $('#adhocDisplay').html('<p>This host does not support commands</p>'); }); |
319
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
134 connection.addHandler(_cbAdminSub, Strophe.NS.ADMINSUB + '#event', 'message'); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
135 connection.send($iq({to: adminsubHost, type: 'set', id: connection.getUniqueId()}).c('adminsub', {xmlns: Strophe.NS.ADMINSUB}) |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
136 .c('subscribe', {node: Strophe.NS.C2SSTREAM})); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
137 connection.send($iq({to: adminsubHost, type: 'set', id: connection.getUniqueId()}).c('adminsub', {xmlns: Strophe.NS.ADMINSUB}) |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
138 .c('subscribe', {node: Strophe.NS.S2SSTREAM})); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
139 connection.sendIQ($iq({to: adminsubHost, type: 'get', id: connection.getUniqueId()}).c('adminsub', {xmlns: Strophe.NS.ADMINSUB}) |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
140 .c('items', {node: Strophe.NS.S2SSTREAM}), _cbNewS2S); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
141 connection.sendIQ($iq({to: adminsubHost, type: 'get', id: connection.getUniqueId()}).c('adminsub', {xmlns: Strophe.NS.ADMINSUB}) |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
142 .c('items', {node: Strophe.NS.C2SSTREAM}), _cbNewC2S); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
143 }); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
144 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
145 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
146 |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
147 function showConnect() { |
539
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
148 $('#login').show(); |
294
5a619d6045a8
mod_admin_web: Prepare for adding more features
Florian Zeitz <florob@babelmonkeys.de>
parents:
292
diff
changeset
|
149 $('#menu').hide(); |
539
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
150 $('#main').hide(); |
302
50abf9922e6e
mod_admin_web: Don't delete the menu
Florian Zeitz <florob@babelmonkeys.de>
parents:
301
diff
changeset
|
151 $('#s2sin').empty(); |
50abf9922e6e
mod_admin_web: Don't delete the menu
Florian Zeitz <florob@babelmonkeys.de>
parents:
301
diff
changeset
|
152 $('#s2sout').empty(); |
50abf9922e6e
mod_admin_web: Don't delete the menu
Florian Zeitz <florob@babelmonkeys.de>
parents:
301
diff
changeset
|
153 $('#c2s').empty(); |
319
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
154 $('#host').empty(); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
155 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
156 |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
157 function showDisconnect() { |
319
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
158 $('#s2sList').hide(); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
159 $('#c2sList').hide(); |
539
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
160 $('#login').hide(); |
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
161 |
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
162 $('#menu').show(); |
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
163 $('#main').show(); |
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
164 $('#adhoc').show(); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
165 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
166 |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
167 $(document).ready(function () { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
168 connection = new Strophe.Connection(BOSH_SERVICE); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
169 if (show_log) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
170 $('#log_container').show(); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
171 connection.rawInput = rawInput; |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
172 connection.rawOutput = rawOutput; |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
173 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
174 |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
175 $("#log_toggle").click(function () { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
176 $("#log").toggle(); |
294
5a619d6045a8
mod_admin_web: Prepare for adding more features
Florian Zeitz <florob@babelmonkeys.de>
parents:
292
diff
changeset
|
177 }); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
178 |
1023
83f56d3a07f5
mod_admin_web: Update to JQuery 1.10.0
Florian Zeitz <florob@babelmonkeys.de>
parents:
1020
diff
changeset
|
179 $('#cred').on('submit', function (event) { |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
180 var button = $('#connect').get(0); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
181 var jid = $('#jid'); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
182 var pass = $('#pass'); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
183 localJID = jid.get(0).value; |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
184 |
1020
9839198539c8
mod_admin_web: Fix indentation
Florian Zeitz <florob@babelmonkeys.de>
parents:
1019
diff
changeset
|
185 $('#log').empty(); |
9839198539c8
mod_admin_web: Fix indentation
Florian Zeitz <florob@babelmonkeys.de>
parents:
1019
diff
changeset
|
186 connection.connect(localJID, pass.get(0).value, onConnect); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
187 event.preventDefault(); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
188 }); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
189 |
539
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
190 $('#logout').click(function (event) { |
1020
9839198539c8
mod_admin_web: Fix indentation
Florian Zeitz <florob@babelmonkeys.de>
parents:
1019
diff
changeset
|
191 connection.disconnect(); |
9839198539c8
mod_admin_web: Fix indentation
Florian Zeitz <florob@babelmonkeys.de>
parents:
1019
diff
changeset
|
192 event.preventDefault(); |
539
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
193 }); |
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
194 |
547
f0ef6e285d69
mod_adhoc_web: fade instead of scrolling
Florian Zeitz <florob@babelmonkeys.de>
parents:
539
diff
changeset
|
195 $('#adhocMenu, #serverMenu, #clientMenu').click(function (event) { |
294
5a619d6045a8
mod_admin_web: Prepare for adding more features
Florian Zeitz <florob@babelmonkeys.de>
parents:
292
diff
changeset
|
196 event.preventDefault(); |
1020
9839198539c8
mod_admin_web: Fix indentation
Florian Zeitz <florob@babelmonkeys.de>
parents:
1019
diff
changeset
|
197 var tab = $(this).attr('href'); |
547
f0ef6e285d69
mod_adhoc_web: fade instead of scrolling
Florian Zeitz <florob@babelmonkeys.de>
parents:
539
diff
changeset
|
198 $('#main > div').hide(); |
f0ef6e285d69
mod_adhoc_web: fade instead of scrolling
Florian Zeitz <florob@babelmonkeys.de>
parents:
539
diff
changeset
|
199 $(tab).fadeIn('fast'); |
301
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
200 }); |
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
201 |
1023
83f56d3a07f5
mod_admin_web: Update to JQuery 1.10.0
Florian Zeitz <florob@babelmonkeys.de>
parents:
1020
diff
changeset
|
202 $('#host').on('change', function (event) { |
319
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
203 connection.send($iq({to: adminsubHost, type: 'set', id: connection.getUniqueId()}).c('adminsub', {xmlns: Strophe.NS.ADMINSUB}) |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
204 .c('unsubscribe', {node: Strophe.NS.C2SSTREAM})); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
205 connection.send($iq({to: adminsubHost, type: 'set', id: connection.getUniqueId()}).c('adminsub', {xmlns: Strophe.NS.ADMINSUB}) |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
206 .c('unsubscribe', {node: Strophe.NS.S2SSTREAM})); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
207 adminsubHost = $(this).val(); |
1020
9839198539c8
mod_admin_web: Fix indentation
Florian Zeitz <florob@babelmonkeys.de>
parents:
1019
diff
changeset
|
208 adhocControl.checkFeatures(adminsubHost, |
9839198539c8
mod_admin_web: Fix indentation
Florian Zeitz <florob@babelmonkeys.de>
parents:
1019
diff
changeset
|
209 function () { adhocControl.getCommandNodes(function (result) { $('#adhocDisplay').empty(); $('#adhocCommands').html(result); }) }, |
9839198539c8
mod_admin_web: Fix indentation
Florian Zeitz <florob@babelmonkeys.de>
parents:
1019
diff
changeset
|
210 function () { $('#adhocCommands').empty(); $('#adhocDisplay').html('<p>This host does not support commands</p>'); }); |
319
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
211 $('#s2sin').empty(); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
212 $('#s2sout').empty(); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
213 $('#c2s').empty(); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
214 connection.send($iq({to: adminsubHost, type: 'set', id: connection.getUniqueId()}).c('adminsub', {xmlns: Strophe.NS.ADMINSUB}) |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
215 .c('subscribe', {node: Strophe.NS.C2SSTREAM})); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
216 connection.send($iq({to: adminsubHost, type: 'set', id: connection.getUniqueId()}).c('adminsub', {xmlns: Strophe.NS.ADMINSUB}) |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
217 .c('subscribe', {node: Strophe.NS.S2SSTREAM})); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
218 connection.sendIQ($iq({to: adminsubHost, type: 'get', id: connection.getUniqueId()}).c('adminsub', {xmlns: Strophe.NS.ADMINSUB}) |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
219 .c('items', {node: Strophe.NS.S2SSTREAM}), _cbNewS2S); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
220 connection.sendIQ($iq({to: adminsubHost, type: 'get', id: connection.getUniqueId()}).c('adminsub', {xmlns: Strophe.NS.ADMINSUB}) |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
221 .c('items', {node: Strophe.NS.C2SSTREAM}), _cbNewC2S); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
222 }); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
223 }); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
224 |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
225 window.onunload = window.onbeforeunload = function() { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
226 if (connection) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
227 connection.disconnect(); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
228 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
229 } |