Software /
code /
prosody-modules
Annotate
mod_admin_web/admin_web/www_files/js/main.js @ 830:f160166612c2
Properly handle avatar/logo BINVALs
Thanks to Petter Ericson for contributing the basis for this patch!
author | Rob Hoelz <rob@hoelz.ro> |
---|---|
date | Tue, 18 Sep 2012 00:29:28 +0200 |
parent | 614:40ab83736f6e |
child | 914:fa996cfec6da |
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) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
99 log('Strophe failed to connect.'); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
100 showConnect(); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
101 } else if (status == Strophe.Status.DISCONNECTING) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
102 log('Strophe is disconnecting.'); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
103 } else if (status == Strophe.Status.DISCONNECTED) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
104 log('Strophe is disconnected.'); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
105 showConnect(); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
106 } else if (status == Strophe.Status.AUTHFAIL) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
107 log('Authentication failed'); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
108 if (connection) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
109 connection.disconnect(); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
110 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
111 } else if (status == Strophe.Status.CONNECTED) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
112 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
|
113 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
|
114 .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
|
115 var items; |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
116 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
|
117 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
|
118 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
|
119 connection.disconnect(); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
120 return false; |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
121 } |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
122 for (i = 0; i < items.length; i++) { |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
123 $('#host').append('<option>' + $(items[i]).text() + '</option>'); |
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 showDisconnect(); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
126 adminsubHost = $(items[0]).text(); |
573
c9955858dc7e
mod_adhoc_web: Redesign adhoc command pane
Florian Zeitz <florob@babelmonkeys.de>
parents:
547
diff
changeset
|
127 adhocControl.checkFeatures(adminsubHost, |
584
1c2fc3b845f2
mod_admin_web: Clear commands in all cases new ones are loaded (thanks Maranda)
Florian Zeitz <florob@babelmonkeys.de>
parents:
574
diff
changeset
|
128 function () { adhocControl.getCommandNodes(function (result) { $('#adhocDisplay').empty(); $('#adhocCommands').html(result); }) }, |
573
c9955858dc7e
mod_adhoc_web: Redesign adhoc command pane
Florian Zeitz <florob@babelmonkeys.de>
parents:
547
diff
changeset
|
129 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
|
130 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
|
131 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
|
132 .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
|
133 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
|
134 .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
|
135 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
|
136 .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
|
137 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
|
138 .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
|
139 }); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
140 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
141 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
142 |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
143 function showConnect() { |
539
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
144 $('#login').show(); |
294
5a619d6045a8
mod_admin_web: Prepare for adding more features
Florian Zeitz <florob@babelmonkeys.de>
parents:
292
diff
changeset
|
145 $('#menu').hide(); |
539
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
146 $('#main').hide(); |
302
50abf9922e6e
mod_admin_web: Don't delete the menu
Florian Zeitz <florob@babelmonkeys.de>
parents:
301
diff
changeset
|
147 $('#s2sin').empty(); |
50abf9922e6e
mod_admin_web: Don't delete the menu
Florian Zeitz <florob@babelmonkeys.de>
parents:
301
diff
changeset
|
148 $('#s2sout').empty(); |
50abf9922e6e
mod_admin_web: Don't delete the menu
Florian Zeitz <florob@babelmonkeys.de>
parents:
301
diff
changeset
|
149 $('#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
|
150 $('#host').empty(); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
151 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
152 |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
153 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
|
154 $('#s2sList').hide(); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
155 $('#c2sList').hide(); |
539
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
156 $('#login').hide(); |
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
157 |
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
158 $('#menu').show(); |
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
159 $('#main').show(); |
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
160 $('#adhoc').show(); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
161 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
162 |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
163 $(document).ready(function () { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
164 connection = new Strophe.Connection(BOSH_SERVICE); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
165 if (show_log) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
166 $('#log_container').show(); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
167 connection.rawInput = rawInput; |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
168 connection.rawOutput = rawOutput; |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
169 } |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
170 |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
171 $("#log_toggle").click(function () { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
172 $("#log").toggle(); |
294
5a619d6045a8
mod_admin_web: Prepare for adding more features
Florian Zeitz <florob@babelmonkeys.de>
parents:
292
diff
changeset
|
173 }); |
288
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 $('#cred').bind('submit', function (event) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
176 var button = $('#connect').get(0); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
177 var jid = $('#jid'); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
178 var pass = $('#pass'); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
179 localJID = jid.get(0).value; |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
180 |
539
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
181 $('#log').empty(); |
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
182 connection.connect(localJID, pass.get(0).value, onConnect); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
183 event.preventDefault(); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
184 }); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
185 |
539
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
186 $('#logout').click(function (event) { |
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
187 connection.disconnect(); |
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
188 event.preventDefault(); |
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
189 }); |
99465bbfa205
First pass of web-admin redesign
Florian Zeitz <florob@babelmonkeys.de>
parents:
396
diff
changeset
|
190 |
547
f0ef6e285d69
mod_adhoc_web: fade instead of scrolling
Florian Zeitz <florob@babelmonkeys.de>
parents:
539
diff
changeset
|
191 $('#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
|
192 event.preventDefault(); |
547
f0ef6e285d69
mod_adhoc_web: fade instead of scrolling
Florian Zeitz <florob@babelmonkeys.de>
parents:
539
diff
changeset
|
193 var tab = $(this).attr('href'); |
f0ef6e285d69
mod_adhoc_web: fade instead of scrolling
Florian Zeitz <florob@babelmonkeys.de>
parents:
539
diff
changeset
|
194 $('#main > div').hide(); |
f0ef6e285d69
mod_adhoc_web: fade instead of scrolling
Florian Zeitz <florob@babelmonkeys.de>
parents:
539
diff
changeset
|
195 $(tab).fadeIn('fast'); |
301
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
196 }); |
b241c79a0eb7
mod_admin_web: Add a live view for C2S connections
Florian Zeitz <florob@babelmonkeys.de>
parents:
297
diff
changeset
|
197 |
319
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
198 $('#host').bind('change', function (event) { |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
199 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
|
200 .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
|
201 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
|
202 .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
|
203 adminsubHost = $(this).val(); |
573
c9955858dc7e
mod_adhoc_web: Redesign adhoc command pane
Florian Zeitz <florob@babelmonkeys.de>
parents:
547
diff
changeset
|
204 adhocControl.checkFeatures(adminsubHost, |
574
950e23318bbc
mod_admin_web: Replace command list instead of appending
Florian Zeitz <florob@babelmonkeys.de>
parents:
573
diff
changeset
|
205 function () { adhocControl.getCommandNodes(function (result) { $('#adhocDisplay').empty(); $('#adhocCommands').html(result); }) }, |
573
c9955858dc7e
mod_adhoc_web: Redesign adhoc command pane
Florian Zeitz <florob@babelmonkeys.de>
parents:
547
diff
changeset
|
206 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
|
207 $('#s2sin').empty(); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
208 $('#s2sout').empty(); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
209 $('#c2s').empty(); |
ba2e78661ea8
mod_admin_web: Make module global. Host to administrate is now chooseable
Florian Zeitz <florob@babelmonkeys.de>
parents:
317
diff
changeset
|
210 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
|
211 .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
|
212 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
|
213 .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
|
214 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
|
215 .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
|
216 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
|
217 .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
|
218 }); |
288
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
219 }); |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
220 |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
221 window.onunload = window.onbeforeunload = function() { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
222 if (connection) { |
9233d7ee3c09
mod_admin_web: Initial PoC commit
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff
changeset
|
223 connection.disconnect(); |
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 } |