diff mod_admin_web/admin_web/www_files/js/main.js @ 1117:d643c385d3f6

mod_admin_web: Provide some information about the TLS layer
author Florian Zeitz <florob@babelmonkeys.de>
date Mon, 22 Jul 2013 23:23:02 +0200
parents 83f56d3a07f5
children 1630c6ed3814
line wrap: on
line diff
--- a/mod_admin_web/admin_web/www_files/js/main.js	Sat Jul 13 17:43:30 2013 +0200
+++ b/mod_admin_web/admin_web/www_files/js/main.js	Mon Jul 22 23:23:02 2013 +0200
@@ -26,23 +26,36 @@
 }
 
 function _cbNewS2S(e) {
-    var items, entry, tmp, retract, id, jid;
+    var items, item, entry, tmp, retract, id, jid, infos, info, metadata;
     items = e.getElementsByTagName('item');
     for (i = 0; i < items.length; i++) {
-        id = items[i].attributes.getNamedItem('id').value;
-        jid = items[i].getElementsByTagName('session')[0].attributes.getNamedItem('jid').value;
+        item = items[i];
+        id = item.attributes.getNamedItem('id').value;
+        jid = item.getElementsByTagName('session')[0].attributes.getNamedItem('jid').value;
+        infos = item.getElementsByTagName('info');
 
         entry = $('<li id="' + id + '">' + jid + '</li>');
-        if (tmp = items[i].getElementsByTagName('encrypted')[0]) {
+        if (tmp = item.getElementsByTagName('encrypted')[0]) {
             if (tmp.getElementsByTagName('valid')[0]) {
                 entry.append('<img src="images/secure.png" title="encrypted (certificate valid)" alt=" (secure) (encrypted)" />');
             } else {
                 entry.append('<img src="images/encrypted.png" title="encrypted (certificate invalid)" alt=" (encrypted)" />');
             }
         }
-        if (items[i].getElementsByTagName('compressed')[0]) {
+        if (item.getElementsByTagName('compressed')[0]) {
             entry.append('<img src="images/compressed.png" title="compressed" alt=" (compressed)" />');
         }
+        metadata = $('<ul/>').css('display', 'none');
+        entry.on('click', function() {
+            $(this).find("ul").slideToggle();
+        });
+        metadata.appendTo(entry);
+        for (j = 0; j < infos.length; j++) {
+            info = infos[j];
+            metadata.append('<li><b>' + info.attributes.getNamedItem('name').value + ':</b> ' + info.innerHTML + '</li>');
+        }
+        if (infos.length == 0)
+            metadata.append('<li>No information available</li>');
 
         if (items[i].getElementsByTagName('out')[0]) {
             entry.appendTo('#s2sout');
@@ -59,18 +72,31 @@
 }
 
 function _cbNewC2S(e) {
-    var items, entry, retract, id, jid;
+    var items, item, entry, retract, id, jid, infos, info, metadata;
     items = e.getElementsByTagName('item');
     for (i = 0; i < items.length; i++) {
-        id = items[i].attributes.getNamedItem('id').value;
-        jid = items[i].getElementsByTagName('session')[0].attributes.getNamedItem('jid').value;
+        item = items[i];
+        id = item.attributes.getNamedItem('id').value;
+        jid = item.getElementsByTagName('session')[0].attributes.getNamedItem('jid').value;
+        infos = item.getElementsByTagName('info');
         entry = $('<li id="' + id + '">' + jid + '</li>');
-        if (items[i].getElementsByTagName('encrypted')[0]) {
+        if (item.getElementsByTagName('encrypted')[0]) {
             entry.append('<img src="images/encrypted.png" title="encrypted" alt=" (encrypted)" />');
         }
-        if (items[i].getElementsByTagName('compressed')[0]) {
+        if (item.getElementsByTagName('compressed')[0]) {
             entry.append('<img src="images/compressed.png" title="compressed" alt=" (compressed)" />');
         }
+        metadata = $('<ul/>').css('display', 'none');
+        entry.on('click', function() {
+            $(this).find("ul").slideToggle();
+        });
+        metadata.appendTo(entry);
+        for (j = 0; j < infos.length; j++) {
+            info = infos[j];
+            metadata.append('<li><b>' + info.attributes.getNamedItem('name').value + ':</b> ' + info.innerHTML + '</li>');
+        }
+        if (infos.length == 0)
+            metadata.append('<li>No information available</li>');
         entry.appendTo('#c2s');
     }
     retract = e.getElementsByTagName('retract')[0];