The forum of the forums
Welcome to the Official Support Forum of Forumotion!

To take full advantage of everything offered by our forum, please log in if you are already a member, or join our community if you've not yet.



Create a free forum like this one.

Problem with avatars on memberslist in chatbox javascript

View previous topic View next topic Go down

Solved Problem with avatars on memberslist in chatbox javascript

Post by Van-Helsing on February 21st 2015, 1:37 pm

Hello,
I am facing a problem with a javascript which it was displayed the avatars on memberslist of chatbox suddenly stopped working.

JavaScript:
Code:

/**************************************************************************
    * Module: cb_avatar
    * Description: Add avatar on chat user list!
    * Author: Made and Optimizations by JScript - 2015/02/05
    * Version: RC1 (Release candidate 1!)
    ***************************************************************************/

    // Redefine function!
    function insertChatBox(chatbox_id, chatbox_url) {
      return insertChatBoxNew(chatbox_id, chatbox_url);
    }
    // Redefine function!
    function insertChatBoxNew(chatbox_id, chatbox_url) {
      // Put the chat box on top of widgets!
      // $('#' + chatbox_id).parent().detach().prependTo('#wrapper');

      document.getElementById(chatbox_id).innerHTML = '<iframe src="/chatbox/index.forum?archives=0" id="frame_chatbox" scrolling="no" width="100%" height="100%" marginwidth="0" marginheight="0" frameborder="0"></iframe>';

      $('#frame_chatbox').load(function(){
          var oIframe = (document.getElementById("frame_chatbox").contentWindow || document.getElementById("frame_chatbox").contentDocument),
            script = oIframe.document.createElement("script");

          script.type = "text/javascript";
          script.innerHTML =
            'Chatbox.prototype.refresh = function(data) {\n' +
            '  if (data.error) {\n' +
            '      $("body").html(data.error)\n' +
            '  } else {\n' +
            '      if (this.connected && !this.archives) {\n' +
            '        $("#chatbox_footer").css("display", "block");\n' +
            '        $("#chatbox_messenger_form").css("display", "block");\n' +
            '        $("#chatbox_messenger_form").css("visibility", "visible")\n' +
            '      } else {\n' +
            '        $("#chatbox_footer").css("display", "none");\n' +
            '        $("#chatbox_messenger_form").css("display", "none");\n' +
            '        $("#chatbox_messenger_form").css("visibility", "hidden")\n' +
            '      }\n' +
            '      if (this.connected) {\n' +
            '        $("#chatbox_display_archives").show();\n' +
            '        $("#chatbox_option_co").hide();\n' +
            '        $("#chatbox_option_disco, #chatbox_footer").show();\n' +
            '        $(".format-message").each(function() {\n' +
            '            var name = $(this).attr("name");\n' +
            '            var value = my_getcookie("CB_" + name);\n' +
            '            $(this).prop("checked", parseInt(value) ? true : false)\n' +
            '        });\n' +
            '        this.format();\n' +
            '        if (data.lastModified) {\n' +
            '            this.listenParams.lastModified = data.lastModified\n' +
            '        }\n' +
            '      } else {\n' +
            '        $("#chatbox_option_co").show();\n' +
            '        $("#chatbox_option_disco, #chatbox_footer").hide()\n' +
            '        $("#chatbox_display_archives").hide()\n' +
            '      }\n' +
            '      if (data.users) {\n' +
            '        this.users = [];\n' +
            '        $(".online-users, .away-users").empty();\n' +
            '        $(".member-title").hide();\n' +
            '        for (var i in data.users) {\n' +
            '            var user = data.users[i];\n' +
            '            this.users[user.id] = user;\n' +
            '            if (user.avatar) {\n' +
            '              var username = "<span class=\'cb-avatar\'><img src=\'" + user.avatar + "\' style=\'height: 24px; width: 24px; margin-right: 4px;\'/></span>" + "<span style=\'color:" + user.color + "\'>" + (user.admin ? "@ " : "");\n' +
            '            } else {\n' +
            '              var username = "<span style=\'color:" + user.color + "\'>" + (user.admin ? "@ " : "")\n' +
            '            }\n' +
            '            username += "<span class=\'chatbox-username chatbox-user-username\' data-user=\'" + user.id + "\' >" + user.username + "</span></span>";\n' +
            '            var list = user.online ? ".online-users" : ".away-users";\n' +
            '            $(list).append("<li>" + username + "</li>")\n' +
            '        }\n' +
            '        if (!$(".online-users").is(":empty")) {\n' +
            '            $(".member-title.online").show()\n' +
            '        }\n' +
            '        if (!$(".away-users").is(":empty")) {\n' +
            '            $(".member-title.away").show()\n' +
            '        }\n' +
            '      }\n' +
            '      if (data.messages) {\n' +
            '        var scroll = !this.messages || this.messages.length != data.messages.length;\n' +
            '        this.messages = data.messages;\n' +
            '        $("#chatbox").empty();\n' +
            '        if (this.messages) {\n' +
            '            var cb_content = "",\n' +
            '              message = "",\n' +
            '              html = "",\n' +
            '              msg = "";\n' +
            '            for (var j = 0, len = this.messages.length; j < len; j++) {\n' +
            '              message = this.messages[j];\n' +
            '              html = "<p class=\'chatbox_row_" + (j % 2 == 1 ? 2 : 1) + " clearfix\'><span class=\'right desc\'><span class=\'date-and-time\' title=\'" + message.date + "\'>(" + message.datetime + ")</span></span>";\n' +
            '              if (message.userId == -10) {\n' +
            '                  html += "<span class=\'msg\'><span style=\'color:" + message.msgColor + "\'><strong> " + message.msg + "</strong></span></span>"\n' +
            '              } else {\n' +
            '                  html +=\n' +
            '                    "<span class=\'user-msg\'>";\n' +
            '                        if (this.avatar) {\n' +
            '                          html += "  <span class=\'cb-avatar\'><img src=\'" + message.user.avatar + "\' /></span>";\n' +
            '                        }\n' +
            '                    html +=\n' +
            '                        "<span class=\'user\' style=\'color:" + message.user.color + "\'>" +\n' +
            '                          "<strong> " + (message.user.admin ? "@ " : "") +\n' +
            '                              "<span class=\'chatbox-username chatbox-message-username\' data-user=\'" + message.userId + "\' >" + message.username + "</span> :&nbsp;" +\n' +
            '                          "</strong>" +\n' +
            '                          "<span class=\'msg\'>" + message.msg + "</span>" +\n' +
            '                        "</span>"\n' +
            '                    "</span>";\n' +
            '              }\n' +
            '              html += "</p>";\n' +
            '              cb_content += html;\n' +
            '            }\n' +
            '            $("#chatbox").append(cb_content);\n' +
            '            if (scroll) {\n' +
            '              $("#chatbox")[0].scrollTop = $("#chatbox").prop("scrollHeight") * 2\n' +
            '            }\n' +
            '        }\n' +
            '      }\n' +
            '  }\n' +
            '};';
          oIframe.document.getElementsByTagName("head")[0].appendChild(script);
      });
    }

Probably the technicians change something and now is not working. Can you help me please?



Last edited by Black-Shadow on February 22nd 2015, 2:51 pm; edited 1 time in total

Van-Helsing
Hyperactive

Male Posts : 2222
Reputation : 82
Language : English, Greek

http://helpgr.forumgreek.com/

Back to top Go down

Solved Re: Problem with avatars on memberslist in chatbox javascript

Post by JScript on February 21st 2015, 5:24 pm

Yes, they changed the JSON format of the messages...

But cheer up: This is not a problem since I already have the solution, see:

Link: http://help.forumotion.com/t138790-new-chat-box-a-brief-analysis#944373

So long,

JS

JScript
Forumember

Male Posts : 741
Reputation : 168
Language : PT-BR, EN
Location : Brazil

http://jscript.forumeiros.com/

Back to top Go down

Solved Re: Problem with avatars on memberslist in chatbox javascript

Post by Van-Helsing on February 21st 2015, 11:29 pm

@JScript wrote:Yes, they changed the JSON format of the messages...

But cheer up: This is not a problem since I already have the solution, see:

Link: http://help.forumotion.com/t138790-new-chat-box-a-brief-analysis#944373

So long,

JS
Hello @JScript,
I have replace the chatbox code with the new one but it is displaying the text "undefined" after refreshing page like this picture:



I have replace the variable value into /chatbox/index.forum?archives=0 for the default value instead 1.

Van-Helsing
Hyperactive

Male Posts : 2222
Reputation : 82
Language : English, Greek

http://helpgr.forumgreek.com/

Back to top Go down

Solved Re: Problem with avatars on memberslist in chatbox javascript

Post by JScript on February 21st 2015, 11:51 pm

Okay, I'll check the chatbox8.js code and then I will post a new modified code ok?

JS

JScript
Forumember

Male Posts : 741
Reputation : 168
Language : PT-BR, EN
Location : Brazil

http://jscript.forumeiros.com/

Back to top Go down

Solved Re: Problem with avatars on memberslist in chatbox javascript

Post by Van-Helsing on February 22nd 2015, 2:35 pm

Hello @JScript,
Ok I am waiting for the new update code.

Van-Helsing
Hyperactive

Male Posts : 2222
Reputation : 82
Language : English, Greek

http://helpgr.forumgreek.com/

Back to top Go down

Solved Re: Problem with avatars on memberslist in chatbox javascript

Post by JScript on February 22nd 2015, 2:42 pm

Black-Shadow wrote:Hello @JScript,
Ok I am waiting for the new update code.

Here's the new code:
Code:

/**************************************************************************
 * Module: cb_avatar
 * Description: Add avatar of members in the "Online / Away" user list
 * Author: Made and Optimizations by JScript - 2015/02/17
 * Version: RC1 (Release candidate 1!)
 ***************************************************************************/

// Redefine function!
function insertChatBox(chatbox_id, chatbox_url) {
   return insertChatBoxNew(chatbox_id, chatbox_url);
}
// Redefine function!
function insertChatBoxNew(chatbox_id, chatbox_url) {
   // Put the chat box on top of widgets!
   // $('#' + chatbox_id).parent().detach().prependTo('#wrapper');

   document.getElementById(chatbox_id).innerHTML = '<iframe src="/chatbox/index.forum?archives=1" id="frame_chatbox" scrolling="no" width="100%" height="100%" marginwidth="0" marginheight="0" frameborder="0"></iframe>';

   $('#frame_chatbox').load(function(){
      var oIframe = (document.getElementById("frame_chatbox").contentWindow || document.getElementById("frame_chatbox").contentDocument),
         script = oIframe.document.createElement("script");

      script.type = "text/javascript";
      script.innerHTML =
         'chatbox.init();\n' +
         'var interval = setInterval(function() {\n' +
         '   chatbox.init();\n' +
         '}, 5000);\n' +
         'Chatbox.prototype.refresh = function(data) {\n' +
         '   if (data.error) {\n' +
         '      $("body").html(data.error)\n' +
         '   } else {\n' +
         /*
         '      if (this.connected) {\n' +// && !this.archives) {\n' +
         '         $("#chatbox_footer").css("display", "block");\n' +
         '         $("#chatbox_messenger_form").css("display", "block");\n' +
         '         $("#chatbox_messenger_form").css("visibility", "visible")\n' +
         '      } else {\n' +
         '         $("#chatbox_footer").css("display", "none");\n' +
         '         $("#chatbox_messenger_form").css("display", "none");\n' +
         '         $("#chatbox_messenger_form").css("visibility", "hidden")\n' +
         '      }\n' +
         */
         '      if (this.connected) {\n' +
         '         $("#chatbox_footer").css("display", "block");\n' +
         '         $("#chatbox_messenger_form").css("display", "block");\n' +
         '         $("#chatbox_messenger_form").css("visibility", "visible")\n' +
         '         \n' +
         '         $("#chatbox_display_archives").show();\n' +
         '         $("#chatbox_option_co").hide();\n' +
         '         $("#chatbox_option_disco, #chatbox_footer").show();\n' +
         '         $(".format-message").each(function() {\n' +
         '            var name = $(this).attr("name");\n' +
         '            var value = my_getcookie("CB_" + name);\n' +
         '            $(this).prop("checked", parseInt(value) ? true : false)\n' +
         '         });\n' +
         '         this.format();\n' +
         '         if (data.lastModified) {\n' +
         '            this.listenParams.lastModified = data.lastModified\n' +
         '         }\n' +
         '      } else {\n' +
         '         $("#chatbox_footer").css("display", "none");\n' +
         '         $("#chatbox_messenger_form").css("display", "none");\n' +
         '         $("#chatbox_messenger_form").css("visibility", "hidden")\n' +
         '         \n' +
         '         $("#chatbox_option_co").show();\n' +
         '         $("#chatbox_option_disco, #chatbox_footer").hide()\n' +
         '         $("#chatbox_display_archives").hide()\n' +
         '      }\n' +
         '      if (data.users) {\n' +
         '         this.users = [];\n' +
         '         $(".online-users, .away-users").empty();\n' +
         '         $(".member-title").hide();\n' +
         '         for (var i in data.users) {\n' +
         '            var user = data.users[i];\n' +
         '            this.users[user.id] = user;\n' +
         //'            var username = "<span style=\'color:" + user.color + "\'>" + (user.admin ? "@ " : "") + "<span class=\'chatbox-username chatbox-user-username\' data-user=\'" + user.id + "\' >" + user.username + "</span></span>";\n' +
         '            var username = "";\n' +
         '            for (var j in data.messages) {\n' +
         '               var message = data.messages[j];\n' +
         '               if (message.userId == user.id) {\n' +
         '                  if (message.user.avatar) {\n' +
         '                     username = "<span class=\'cb-avatar\'><img src=\'" + message.user.avatar + "\' style=\'height: 24px; width: 24px; margin-right: 4px;\'/></span>";\n' +
         '                  }\n' +
         '               }\n' +
         '            }\n' +
         '            username += "<span style=\'color:" + user.color + "\'>" + (user.admin ? "@ " : "") + "<span class=\'chatbox-username chatbox-user-username\' data-user=\'" + user.id + "\' >" + user.username + "</span></span>";\n' +
         '            var list = user.online ? ".online-users" : ".away-users";\n' +
         '            $(list).append("<li>" + username + "</li>")\n' +
         '         }\n' +
         '         if (!$(".online-users").is(":empty")) {\n' +
         '            $(".member-title.online").show()\n' +
         '         }\n' +
         '         if (!$(".away-users").is(":empty")) {\n' +
         '            $(".member-title.away").show()\n' +
         '         }\n' +
         '      }\n' +
         '      if (data.messages) {\n' +
         '         var scroll = !this.messages || this.messages.length != data.messages.length;\n' +
         '         this.messages = data.messages;\n' +
         '         $("#chatbox").empty();\n' +
         '         if (this.messages) {\n' +
         '            var cb_content = "",\n' +
         '               message = "",\n' +
         '               html = "",\n' +
         '               msg = "";\n' +
         '            for (var j = 0, len = this.messages.length; j < len; j++) {\n' +
         '               message = this.messages[j];\n' +
         '               html = "<p class=\'chatbox_row_" + (j % 2 == 1 ? 2 : 1) + " clearfix\'><span class=\'right desc\'><span class=\'date-and-time\' title=\'" + message.date + "\'>(" + message.datetime + ")</span></span>";\n' +
         '               if (message.userId == -10) {\n' +
         '                  html += "<span class=\'msg\'><span style=\'color:" + message.msgColor + "\'><strong> " + message.msg + "</strong></span></span>"\n' +
         '               } else {\n' +
         '                  html +=\n' +
         '                     "<span class=\'user-msg\'>";\n' +
         '                        if (this.avatar) {\n' +
         '                           html += "   <span class=\'cb-avatar\'><img src=\'" + message.user.avatar + "\' /></span>";\n' +
         '                        }\n' +
         '                     html +=\n' +
         '                        "<span class=\'user\' style=\'color:" + message.user.color + "\'>" +\n' +
         '                           "<strong> " + (message.user.admin ? "@ " : "") +\n' +
         '                              "<span class=\'chatbox-username chatbox-message-username\' data-user=\'" + message.userId + "\' >" + message.username + "</span>&nbsp;:&nbsp;" +\n' +
         '                           "</strong>" +\n' +
         '                        "</span>" +\n' +
         '                        "<span class=\'msg\'>" + message.msg + "</span>" +\n' +
         '                     "</span>";\n' +
         '               }\n' +
         '               html += "</p>";\n' +
         '               cb_content += html;\n' +
         '            }\n' +
         '            $("#chatbox").append(cb_content);\n' +
         '            if (scroll) {\n' +
         '               $("#chatbox")[0].scrollTop = $("#chatbox").prop("scrollHeight") * 2\n' +
         '            }\n' +
         '         }\n' +
         '      }\n' +
         '   }\n' +
         '};';
      oIframe.document.getElementsByTagName("head")[0].appendChild(script);
   });
}

So long,

JS

JScript
Forumember

Male Posts : 741
Reputation : 168
Language : PT-BR, EN
Location : Brazil

http://jscript.forumeiros.com/

Back to top Go down

Solved Re: Problem with avatars on memberslist in chatbox javascript

Post by Van-Helsing on February 22nd 2015, 2:52 pm

Thank you very much @JScript its solved.

Van-Helsing
Hyperactive

Male Posts : 2222
Reputation : 82
Language : English, Greek

http://helpgr.forumgreek.com/

Back to top Go down

Solved Re: Problem with avatars on memberslist in chatbox javascript

Post by _Twisted_Mods_ on February 22nd 2015, 7:06 pm

Topic solved and archived

_Twisted_Mods_
Helper
Helper

Male Posts : 2032
Reputation : 302
Language : English
Location : Ms

http://liquidcode.forumotion.com

Back to top Go down

View previous topic View next topic Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum