]> cgit.babelmonkeys.de Git - xmppchat.git/blobdiff - js/main.js
/me support
[xmppchat.git] / js / main.js
index 2647add49e260805a76efdd89647eb1714a3b01b..6072c6704f404a13ae48428c9fb0aefe1e5a5e6c 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;
 
@@ -76,16 +72,23 @@ function addBubble(nick) {
 
 function handleMessage(msg) {
        var html = '';
-       var sender = Strophe.getResourceFromJid(msg.getAttribute('from'));
+       var sender = Strophe.xmlescape(Strophe.getResourceFromJid(msg.getAttribute('from')));
        var type = msg.getAttribute('type');
-       var body = Strophe.getText(msg.getElementsByTagName('body')[0]);
+       var body = Strophe.xmlescape(Strophe.getText(msg.getElementsByTagName('body')[0]));
 
        html += '<div class="msg">';
        if (sender) {
-               html += '<span class="sender">';
-               html += sender;
-               html += ':</span> ';
-               html += body + '</div>';
+               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>';
@@ -112,8 +115,10 @@ function handlePresence(presence) {
        if (type == 'unavailable') {
                element = document.getElementById(nick);
                roster_list.removeChild(element);
+               $('#chat').append('<div class="msg"><span class="server">' + nick + ' left the groupchat</span></div>');
        } else {
                roster_list.innerHTML += '<li id="' + nick + '" onclick="addBubble(' + "'" + nick + "')" + '" >' + nick + '</li>';
+               $('#chat').append('<div class="msg"><span class="server">' + nick + ' joined the groupchat</span></div>');
        }
 
        return true;