]> git.babelmonkeys.de Git - xmppchat.git/blobdiff - js/main.js
Fix subject handling
[xmppchat.git] / js / main.js
index 5329f8bf20cd9937775812d38eb5884f838f3357..7dbe8e5999c52042a9731da9467a7680b9dd6c68 100644 (file)
@@ -1,7 +1,3 @@
-var BOSH_LOCATION = '/http-bind/';
-var room = 'guests@conference.babelmonkeys.de';
-var jid = 'muckl@babelmonkeys.de'
-var password = 'ooje0OjuJeekaek6';
 var connection = null;
 var nickname;
 
@@ -77,18 +73,48 @@ function addBubble(nick) {
 function handleMessage(msg) {
        var html = '';
        var sender = Strophe.getResourceFromJid(msg.getAttribute('from'));
+       if (sender) {
+               sender = Strophe.xmlescape(sender);
+       } else {
+               sender = false;
+       }
        var type = msg.getAttribute('type');
-       var body = Strophe.getText(msg.getElementsByTagName('body')[0]);
+       var body = msg.getElementsByTagName('body')[0];
+       if (body) {
+               body = Strophe.xmlescape(Strophe.getText(body));
+       } else {
+               body = false;
+       }
+       var subject = msg.getElementsByTagName('subject')[0];
+       if (subject) {
+               subject = Strophe.xmlescape(Strophe.getText(subject));
+       } else {
+               subject = false;
+       }
 
        html += '<div class="msg">';
-       if (sender) {
-               html += '<span class="sender">';
-               html += sender;
-               html += ':</span> ';
-               html += body + '</div>';
-       } else {
+       if (body) {
+               if (sender) {
+                       if (body.search(/^\/me/) == 0) {
+                               body = body.replace(/^\/me/, sender);
+                               html += '<span class="sender">';
+                               html += body;
+                               html += '</span></div>';
+                       } else {
+                               html += '<span class="sender">';
+                               html += sender;
+                               html += ':</span> ';
+                               html += body + '</div>';
+                       }
+               } else {
+                       html += '<span class="server">';
+                       html += body + '</span></div>';
+               }
+       } else if (subject) {
                html += '<span class="server">';
-               html += body + '</span></div>';
+               html += "The subject is: " + subject + '</span></div>';
+       } else {
+               return true;
        }
 
        if (type == 'chat') {