FM Themes
Welcome to FM Themes
where you can share your punBB, phpBB 2, Invision, & phpBB 3 themes for Forumotion forums.

You are viewing the forum as a guest, so you will not be able to use the full forum. To use all the features of the forum, you need to log in or create a FREE account by registering.

Chat Box - Editing of messages!

View previous topic View next topic Go down

JScript
Tutor
Reputation : 2
Points : 306
Posts : 15
View user profile

PostJScript on Thu May 07, 2015 10:04 pm

Finally support for editing messages on the chat box reached the stage of initial tests by the members!

Follow the steps below:

In your ACP: Modules -> HTML&JAVASCRIPT -> JavaScript codes management -> [Create a new JavaScript]
Title *: <- Whatever you want
Placement : <- In the home page
Javascript Code * : <- Download, open, select, copy and paste the code in this field:

Download: [You must be registered and logged in to see this link.]

Result:
[You must be registered and logged in to see this image.]
[You must be registered and logged in to see this image.]
[You must be registered and logged in to see this image.]

Note: If you have other custom code into the chat box, you must remove it or try to reconcile both codes!

JS
brandon_g
Coder
Reputation : 67
Points : 2249
Posts : 492
View user profile http://broadcastingduo.forumotion.com/

Postbrandon_g on Fri May 08, 2015 7:05 am

Will this work in all versions?
JScript
Tutor
Reputation : 2
Points : 306
Posts : 15
View user profile

PostJScript on Fri May 08, 2015 3:43 pm

[You must be registered and logged in to see this link.] wrote:Will this work in all versions?
Yes for sure!
I am in favor of all codes should be made to all versions, containing the CSS and that they be distributed in a single file!
All in one.


The values of the following variables can be modified:

Translations:
Remove: "Tem certeza de que deseja remover esta mensagem?",
Save: "Salvar",
Cancel: "Cancelar",

Configurations:
Title: "", // Change your chatbox title, default is "" = (locale title!)
Notice: 0, // ligns "joined" and "logged off": 1 = Remove
Prefix: "@", // Change the moderator prefix
autoLogin: 1 // Automatic login: 0 = Disable
Important: Keep all that is bold and change only what is underlined!

So long,

JS
brandon_g
Coder
Reputation : 67
Points : 2249
Posts : 492
View user profile http://broadcastingduo.forumotion.com/

Postbrandon_g on Sat May 09, 2015 8:26 am

I was just asking because I would be willing to test the code, but my test forum is phpbb2 so... Razz.
JScript
Tutor
Reputation : 2
Points : 306
Posts : 15
View user profile

PostJScript on Sat May 09, 2015 4:02 pm

[You must be registered and logged in to see this link.] wrote:I was just asking because I would be willing to test the code, but my test forum is phpbb2 so... Razz.
So you tried and did not work ?! Or you have not tested?

JS
brandon_g
Coder
Reputation : 67
Points : 2249
Posts : 492
View user profile http://broadcastingduo.forumotion.com/

Postbrandon_g on Sat May 09, 2015 7:18 pm

Not yet. I will get around soon (hopefully), someone else may get to it before I do though, I still havent even installed Ange's shoutbox yet... I have been meaning to for months Razz.
brandon_g
Coder
Reputation : 67
Points : 2249
Posts : 492
View user profile http://broadcastingduo.forumotion.com/

Postbrandon_g on Thu May 21, 2015 8:20 am

May you add the javascript code to the tutorial? As I can not open the file on the school computers, which is how I plan on installing it to my test forum to test it.

-Brandon
JScript
Tutor
Reputation : 2
Points : 306
Posts : 15
View user profile

PostJScript on Fri May 22, 2015 12:41 pm

[You must be registered and logged in to see this link.]

Below is the reason I did not post it, but only the link, perhaps out of code tag? The quote and spoiler tag is the same...

Code:

/***
 * Application: chatbox8 - Edit Messages
 * Description: Support for editing messages in chat box!
 * Version: 0.05072015-jq1.9.1
 *         RC1 (Release candidate 1!) - Mahabharata
 * Author: JScript - 2015-05-07
 * Copyright (c) 2015 JScript <jscriptbrasil at live dot com>
 * This work is free. You can redistribute it and/or modify it
 * under the terms of the WTFPL, Version 2
 */
// 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 style="visibility: hidden;" src="/chatbox/index.forum?archives=1" id="frame_chatbox" scrolling="no" width="100%" height="100%" marginwidth="0" marginheight="0" frameborder="0"></iframe>';
   // Loader 1
   var iFrame = document.getElementById('frame_chatbox').contentWindow;
   var frame_chatbox_document = setInterval(function() {
      try {
         if (iFrame.jQuery) {
            clearInterval(frame_chatbox_document);
            chat_edit();
         }
      } catch (e) {}
   }, 50);
}

// Loader 2
$(function() {
   if (_userdata.session_logged_in) {
      $('#frame_chatbox').load(function() {
         if (typeof document.getElementById('frame_chatbox').contentWindow['chatEdit'] == 'undefined') {
            chat_edit();
         }
      });
   }
});

function chat_edit() {
   var oIframe = (document.getElementById("frame_chatbox").contentWindow.document || document.getElementById("frame_chatbox").contentDocument),
      script = oIframe.createElement("script"),
      chatbox_script = function() {
         window.chatEdit = {
            locale: {
               Remove: "Tem certeza de que deseja remover esta mensagem?",
               Save: "Salvar",
               Cancel: "Cancelar",
            },

            config: {
               // Change your chatbox title, default is "" = (locale title!)
               Title: "",
               // ligns "joined" and "logged off": 1 = Remove
               Notice: 0,
               // Change the moderator prefix
               Prefix: "@",
               // Automatic login: 0 = Disable
               autoLogin: 1,
               // Limit the amount of messages to show, default is 60
               limitOfMsg: 60,
               // Open "smiles" in a pop up window? Default is 0 = no pop up!
               smilePopUp: 0,
               /***
                * Permission level for editing! The values can be:
                *      0 = members can edit | 1 = only admins can edit | 2 = mods and admins can edit
                * Default is 0 = members can edit their own posts, the mods and admins can edit all.
                * Note: ** No matter which configuration, admins can always edit! **
                */
               Level: 0,
               /***
                * New Chatbox pseudo commands (Beta test and staff only!)
                * Command       Explanation
                * -------------------------------------------------------------------------------
                * /shake       "Username" shook the chat window to catch everyone's attention!
                */
               shakeMsg: "agitou a janela de bate-papo para chamar a atenção de todos!"
            },

            interval: 0,
            //        |System commands       |   |User commands                                                                     |
            cmdArray: ['/id', '/edit', '/del', '/shake', '/abs', '/away', '/clear', '/cls', '/kick', '/ban', '/unban', '/me', '/exit', '/mod', '/unmod'],

            oBBCode: {
               patt: [
                  /\[b](.*?)\[\/b]/gi,
                  /\[i](.*?)\[\/i]/gi,
                  /\[u](.*?)\[\/u]/gi,
                  /\[s](.*?)\[\/s]/gi,
                  /\[center](.*?)\[\/center]/gi,
                  /\[size=(.*?)](.*?)\[\/size]/gi,
                  /\[url](.*?)\[\/url]/gi,
                  /\[url=(.*?)](.*?)\[\/url]/gi,
                  /\[color=(.*?)](.*?)\[\/color]/gi,
                  /\[img](.*?)\[\/img]/gi,
                  /\[spoiler](.*?)\[\/spoiler]/gi,
                  /\[code](.*?)\[\/code]/gi,
                  /\[quote](.*?)\[\/quote]/gi
               ],
               html: [
                  "<strong>$1</strong>",
                  "<i>$1</i>",
                  "<span style='text-decoration:underline;'>$1</span>",
                  "<span style='text-decoration:line-through'>$1</span>",
                  "<div style='margin:auto;text-align:center;width:100%'>$1</div>",
                  "<span style='font-size: $1;'>$2</span>",
                  "<a rel='nofollow' target='_blank' href='$1'>$1</a>",
                  "<a rel='nofollow' target='_blank' href='$1'>$2</a>",
                  "<span style='color: $1'>$2</span>",
                  "<img src='$1' style='max-width:120px;max-height:120px;'/>",
                  "<dl class='codebox spoiler'><dt style='cursor: pointer;'>Spoiler:</dt><dd><div class='spoiler_content'>$1</div></dd></dl>",
                  "<dl class='codebox'><dt>Code:</dt><dd class='cont_code'><code>$1</code></dd></dl>",
                  "<blockquote><div>$1</div></blockquote>"
               ]
            },

            oHTML: {
               patt: [
                  /<strong>(.*?)<\/strong>/gi,
                  /<i>(.*?)<\/i>/gi,
                  /<span style="text-decoration:underline;">(.*?)<\/span>/gi,
                  /<span style="text-decoration:line-through;">(.*?)<\/span>/gi,
                  /<div style="margin:auto;text-align:center;width:100%">(.*?)<\/div>/gi,
                  /<span style="font-size: (.*?);">(.*?)<\/span>/gi,
                  /<a href="(.*?)"><\/a>/gi,
                  /<a href="(.*?)">(.*?)<\/a>/gi,
                  /<span style="color: (.*?)">(.*?)<\/span>/gi,
                  ///<img(?:.*)src="(.*?)"(?:.*)>/gi,
                  /<dl class="codebox spoiler"><dt style="cursor: pointer;">Spoiler:<\/dt><dd><div class="spoiler_content">(.*?)<\/div><\/dd><\/dl>/gi,
                  /<dl class="codebox"><dt>Code:<\/dt><dd class="cont_code"><code>(.*?)<\/code><\/dd><\/dl>/gi,
                  /<blockquote><div>(.*?)<\/div><\/blockquote>/gi
               ],
               bbcode: [
                  '[b]$1[/b]',
                  '[i]$1[/i]',
                  '[u]$1[/u]',
                  '[s]$1[/s]',
                  '[center]$1[/center]',
                  '[size=$1]$2[/size]',
                  '[url]"$1"[/url]',
                  '[url="$1"]$2[/url]',
                  '[color=$1]$2[/color]',
                  //'[img]$1[/img]',
                  '[spoiler]$1[/spoiler]',
                  '[code]$1[/code]',
                  '[quote]$1[/quote]'
               ]
            },

            loadSmile: function() {
               if (chatEdit.config.smilePopUp) {
                  return false;
               }
               $("#divsmilies").unbind("click").bind("click", function (event) {
                  chatEdit.showSmile(event);
               });
               jQuery.ajax({
                  url: "/post?mode=smilies",
                  cache: true,
                  type: "get",
                  dataType: "text",
                  success: function(response, status, xhr) {
                     if (xhr.status == 200) {
                        var htmlSmile = $("<div>" + response + "</div>");
                        htmlSmile.find("#smilies_categ, p, span").remove();

                        htmlSmile.html(htmlSmile.html().replace(/insert_chatboxsmilie/g, "chatEdit.insertSmile"));

                        var oTarget = htmlSmile.find("a"),
                           oThis, patt, regex;
                        for (var i = 0, len = oTarget.length; i < len; i++) {
                           oThis = $(oTarget[i]);
                           patt = /\('(.*?)'\)/i.exec(oThis.attr("href"))[1];
                           regex = new RegExp('<img[^>]+?' + oThis.find('img').attr('src') + '[^>]*>', "gi");
                           chatEdit.oHTML.patt.push(regex);
                           chatEdit.oHTML.bbcode.push(patt.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\^\$\|]/g, "\\$&"));
                        }
                        /*var aSmiles = [
                              "☎", "★", "♥", "♪", "✓",
                              "⧉", "©", "𝒥𝒮", "█", "▓",
                              "◯", "☆", "♣", "✗", "ℱℳ"
                           ],
                           sSmiles = "<p>";
                        for (var i = 0, len = aSmiles.length; i < len; i++) {
                           sSmiles += "<a href='#' onclick='chatEdit.insertSmile(\"" + aSmiles[i] + "\");return false;'>" + aSmiles[i] + "</a>";
                        }*/
                        jQuery("#chat-smiles-show").html(
                           htmlSmile.find("#simple-wrap, tbody:last").html()
                        );
                     }
                  }
               });
               jQuery("head").append(
                  "<style type='text/css'>" +
                  "#chat-smiles-show {" +
                  "   background: none no-repeat scroll center center rgb(255, 255, 255);" +
                  "   border: 2px solid #d2d2d2;" +
                  "   height: 250px;" +
                  "   overflow: auto;" +
                  "   padding-top: 6px;" +
                  "   position: absolute;" +
                  "   width: 225px;" +
                  "   z-index: 99999;" +
                  "}" +
                  "#chat-smiles-show > p {" +
                  "   margin: 0;" +
                  "}" +
                  "#chat-smiles-show p a {" +
                  "   margin-bottom: 14px;" +
                  "}" +
                  "#chat-smiles-show a {" +
                  "   display: inline-block;" +
                  "   font-size: 18px;" +
                  "   margin-bottom: 5px;" +
                  "   margin-left: 10px;" +
                  "   text-decoration: none;" +
                  "}" +
                  "</style>"
               );
               jQuery("body").append("<div id='chat-smiles-show' style='display: none;'></div>");
            },

            showSmile: function(event) {
               var elenPos = jQuery("#divsmilies"),
                  target = jQuery("#chat-smiles-show");
                /*
                if (event.ctrlKey || event.metaKey) {

                }
                */
               target.css({
                  "left": (elenPos.offset().left + elenPos.outerWidth()) - target.outerWidth(),
                  "top": elenPos.offset().top - target.outerHeight()
               });
               return (target[0].style.display == "none") ? target.fadeIn("fast") : target.fadeOut("fast");
            },

            insertSmile: function(smile) {
               var id = document.getElementById("message");
               id.focus();
               id.value += " " + smile + " ";
               document.getElementById("chat-smiles-show").style.display = "none";
            },

            parseBBCode: function(data) {
               data = data.replace(/%0A|%5Cn/gi, "<br>");
               for (var i = 0, len = chatEdit.oBBCode.patt.length; i < len; i++) {
                  data = data.replace(chatEdit.oBBCode.patt[i], chatEdit.oBBCode.html[i]);
               }
               return data
            },

            parseHTML: function(data) {
               data = data.replace(/<br>/gi, "%0A");
               for (var i = 0, len = chatEdit.oHTML.patt.length; i < len; i++) {
                  data = data.replace(chatEdit.oHTML.patt[i], chatEdit.oHTML.bbcode[i]);
               }
               return data
            },

            editShout: function(ID, num, oThis) {
               var oShout = $("#chatbox .shout-" + ID),
                  oEditor = oShout.find('.date-and-time'),
                  oMsg = oShout.find('span.msg');
               try {
                  var sMsg = chatEdit.parseHTML(oMsg.children('span')[0].innerHTML);
               } catch (e) {
                  // For unknown reasons, the above line fails for lack of span tag!
                  var sMsg = chatEdit.parseHTML(oMsg[0].innerHTML);
               }

               if (num == 0) {
                  var sHtml = '<span>' +
                     '      <textarea id="edit-' + ID + '" style="width: ' + (oMsg.width() - oEditor.width()) + 'px; height: ' + oMsg.height() + 'px;vertical-align: middle;font-family: inherit;font-size: inherit;margin-top: 4px;">' + sMsg + '</textarea>' +
                     '      <input type="submit" style="cursor: pointer;margin-right: 4px;" onclick="chatEdit.submitEdit(' + ID + ', 0, this);" value="' + chatEdit.locale.Save + '" class="button2">' +
                     '      <a title="' + chatEdit.locale.Cancel + '" style="cursor: pointer;" href="javascript:void(0);" onclick="chatEdit.submitEdit(' + ID + ', -1, this);">' + chatEdit.locale.Cancel + '</a>' +
                     '    </span>';
                  oEditor.hide();
                  oMsg.hide().before(sHtml);
               } else if (num == 1 && chatEdit.iConfirm(chatEdit.locale.Remove + "\n\n" + sMsg) == 1) {
                  chatEdit.submitEdit(ID, 1, oThis);
               }
            },

            submitEdit: function(ID, num, oThis) {
               var p = $(oThis).closest('p');
               if (num == 0) {
                  var value = $('#edit-' + ID).val();
                  $('#message').val('/edit' + ID + value);
                  p.find('span.msg > span').html(chatEdit.parseBBCode(value)).show();
                  window.chatbox.send();
               } else if (num == 1) {
                  $('#message').val('/del' + ID);
                  $("#chatbox .shout-" + ID).remove();
                  window.chatbox.send();
               }
               p.find('.date-and-time').show().end().find('span.msg').show();
               $(oThis).parent().remove();
            },

            shake: function() {
               var iFrame = parent.$("#frame_chatbox"),
                   interval = 70,
                   distance = 10,
                   times = 4;
               iFrame.css('position','relative');
               for(var iter = 0; iter < (times + 1); iter++){
                  iFrame.animate({
                     left:((iter%2 == 0 ? distance : distance*-1))
                  }, interval);
               }
               iFrame.animate({ left: 0}, interval);
            },

            async: function(mode) {
               jQuery.ajaxSetup({
                  async: mode
               });
            },

            iConfirm: function(text) {
               return (confirm(text) == true) ? true : false;
            }
         };

         // "For" asynchronous loop, faster and does not lock the browser interface when you have many messages!
         (function($) {
            $.assyncFor = function(arr, limitOfMsg, callback) {
               var max_len = (arr.length > limitOfMsg) ? (arr.length - limitOfMsg) : 0;
               if (max_len < 0) {
                  max_len = 0;
               }
               for (var i = max_len, len = arr.length; i < len; ++i) {
                  var boundCallback = callback.bind(null, i, arr[i]);
                  setTimeout(boundCallback, i);
               }
               return this;
            };
         }(jQuery));

         Chatbox.prototype.send = function(params) {
            var isCMD = null,
               message = $('#message').val().trim(),
               ID = (Math.random() + "000000000" + _userdata.user_id.toString()).substr(2, 10);

            for (var i = 0, len = chatEdit.cmdArray.length; i < len; ++i) {
               if (message.indexOf(chatEdit.cmdArray[i]) == 0) {
                  isCMD = chatEdit.cmdArray[i];
               }
            }
            switch (isCMD) {
               case null:
                  $('#message').val('/id' + ID + message);
                  break;
               case '/shake':
                  if (_userdata.user_level > 0) {
                     $('#message').val('/shake' + ID);
                  }
                  break;
            }
            if (!params) {
               params = $('form[name=\'post\']').serialize()
            }
            var data = params + '&method=send&archives=' + this.archives,
               self = this;
            $('#message').val('').focus();
            $.ajax({
               url: this.actionsUrl,
               type: 'post',
               data: data,
               dataType: 'json',
               cache: false,
               success: function(response) {
                  self.refresh(response)
               }
            })
         };

         Chatbox.prototype.refresh = function(data) {
            if (data.error) {
               $("body").html(data.error)
            } else {
               /*
               if (this.connected && !this.archives) {
                  $("#chatbox_footer").css("display", "block");
                  $("#chatbox_messenger_form").css("display", "block");
                  $("#chatbox_messenger_form").css("visibility", "visible")
               } else {
                  $("#chatbox_footer").css("display", "none");
                  $("#chatbox_messenger_form").css("display", "none");
                  $("#chatbox_messenger_form").css("visibility", "hidden")
               }
               */
               if (this.connected) {
                  $("#chatbox_display_archives").show();
                  $("#chatbox_option_co").hide();
                  $("#chatbox_option_disco, #chatbox_footer").show();
                  $("#chatbox_messenger_form").css('display', 'block');
                  $("#chatbox_messenger_form").css('visibility', 'visible');
                  $(".format-message").each(function() {
                     var name = $(this).attr("name");
                     var value = my_getcookie("CB_" + name);
                     $(this).prop("checked", parseInt(value) ? true : false)
                  });
                  this.format();
                  if (data.lastModified) {
                     this.listenParams.lastModified = data.lastModified
                  }
                  if (!chatEdit.interval) {
                     $("#chatbox").empty();
                     chatEdit.interval = setInterval(function() {
                        chatbox.get();
                     }, 5000);
                     if (document.getElementById("chat-smiles-show") == null) {
                        chatEdit.loadSmile();
                     }
                  }
               } else {
                  if (chatEdit.interval) {
                     clearInterval(chatEdit.interval);
                     chatEdit.interval = 0;
                     $("#chatbox").empty();
                  }
                  $("#chatbox_option_co").show();
                  $("#chatbox_option_disco, #chatbox_footer").hide();
                  $("#chatbox_display_archives").hide();
                  $("#chatbox_messenger_form").css('display', 'none');
                  $("#chatbox_messenger_form").css('visibility', 'hidden');
               }
               if (data.users) {
                  this.users = [];
                  $(".online-users, .away-users").empty();
                  $(".member-title").hide();
                  for (var i in data.users) {
                     var user = data.users[i];
                     this.users[user.id] = user;
                     //var username = "<span style='color:" + user.color + "'>" + (user.admin ? "@ " : "") + "<span class='chatbox-username chatbox-user-username' data-user='" + user.id + "' >" + user.username + "</span></span>";
                     var username = "";
                     for (var j in data.messages) {
                        var message = data.messages[j];
                        if (message.userId == user.id) {
                           if (message.user.avatar) {
                              username = "<span class='cb-avatar'><img src='" + message.user.avatar + "' style='height: 24px; width: 24px; margin-right: 4px;'/></span>";
                           }
                        }
                     }
                     username += "<span style='color:" + user.color + "'>" + (user.admin ? "@ " : "") + "<span class='chatbox-username chatbox-user-username' data-user='" + user.id + "' >" + user.username + "</span></span>";
                     var list = user.online ? ".online-users" : ".away-users";
                     $(list).append("<li>" + username + "</li>")
                  }
                  if (!$(".online-users").is(":empty")) {
                     $(".member-title.online").show()
                  }
                  if (!$(".away-users").is(":empty")) {
                     $(".member-title.away").show()
                  }
               }
               if (data.messages) {
                  var scroll = !this.messages || this.messages.length != data.messages.length;
                  this.messages = data.messages;

                  if ( (scroll && data.messages.length == 1) || !data.connected) {
                     $("#chatbox").empty();
                  }

                  if (this.messages) {
                     var oThis = this, // Here we save the current "this" for use inside "For" asynchronous loop!
                        html = "";

                     $.assyncFor(oThis.messages, chatEdit.config.limitOfMsg, function(index, message) { // The "For" asynchronous loop...
                        // CMD and UID...
                        var CMD = null,
                           UID = null;

                        if (message.userId > 0) {
                           CMD = message.msg.match(/([^]+)(\/[a-z]+)(\d{10})([^]+)/);
                        } else {
                           UID = index;
                        }

                        // Checks for message editions...
                        if (CMD !== null) {
                           /* Example:
                              Match 1:   <span style="color: #222222">/edit9125922055chatbox8 - Edit Messages!</span>
                              Group 1:   <span style="color: #222222">
                              Group 2:   /edit
                              Group 3:   9125922055
                              Group 4:   chatbox8 - Edit Messages!</span>
                           */
                           switch (CMD[2]) {
                              case '/del':
                                 $(".shout-" + CMD[3]).remove();
                                 break;
                              case '/edit':
                                 $(".shout-" + CMD[3]).find('span.msg').html(CMD[1] + CMD[4]);
                                 break;
                              case '/shake':
                                 if ( ((index + 1) == oThis.messages.length) && scroll && $('#chatbox_members span[data-user="' + message.userId + '"]').length) {
                                    if (_userdata.user_id !== Number(message.userId)) {
                                       setTimeout(function(){ chatEdit.shake() }, 500);
                                    }
                                    html =
                                       "<p class='chatbox_row_" + (index % 2 == 1 ? 2 : 1) + " clearfix shout-" + index + "'>" +
                                       "   <span class='date-and-time' title='" + message.date + "'>(" + message.datetime + ")</span>" +
                                       "   <span class='msg'><img src='http://r19.imgfast.net/users/1917/43/09/52/smiles/18952631.png' />" +
                                       "      <span style='color:" + message.user.color + "'><strong> " + message.username +
                                       "         <span style='color: red'> " + chatEdit.config.shakeMsg + "</span></strong>" +
                                       "      </span>" +
                                       "   </span>" +
                                       "</p>";
                                    $("#chatbox").append(html);
                                 }
                                 break;
                              default:
                                 UID = CMD[3];
                                 message.msg = CMD[1] + CMD[4];
                                 CMD = null; // Reset CMD!
                                 break
                           }

                        }

                        if (CMD == null) {
                           // Here checks if there is already a message in the DOM, if already, not need to process the same message!
                           if ( $("#chatbox .shout-" + UID).length || (chatEdit.config.Notice && message.userId == -10) ) {
                              return false;
                           }

                           // Processes the message content                              |ClassName index|
                           html = "<p class='chatbox_row_" + (index % 2 == 1 ? 2 : 1) + " clearfix shout-" + UID + "'>" +
                              "       <span class='date-and-time' title='" + message.date + "'>(" + message.datetime + ")";
                           if (message.userId == -10) {
                              html += "</span>" + "<span class='msg'><span style='color:" + message.msgColor + "'><strong> " + message.msg + "</strong></span></span>"
                           } else {
                              if ((_userdata.username == message.username) || (_userdata.user_level > 0)) {
                                 html +=
                                    "    <span class='editor'>" +
                                    "        <img alt='Edit' style='cursor: pointer;' onclick='chatEdit.editShout(\"" + UID + "\", 0, this);' src='http://i59.servimg.com/u/f59/18/17/62/92/commen10.png'> " +
                                    "       <img alt='Remove' style='cursor: pointer;' onclick='chatEdit.editShout(\"" + UID + "\", 1, this);' src='http://i59.servimg.com/u/f59/18/17/62/92/delete10.png'>" +
                                    "    </span>";
                              }
                              html += "</span>" +
                                 "    <span class='user-msg'>";
                              if (oThis.avatar) {
                                 html += "<span class='cb-avatar'><img src='" + message.user.avatar + "' /></span>";
                              }
                              html += "    <span class='user' style='color:" + message.user.color + "'>" +
                                 "          <strong> " + (message.user.admin ? chatEdit.config.Prefix + " " : "") +
                                 "              <span class='chatbox-username chatbox-message-username' data-user='" + message.userId + "' >" + message.username + "</span> :&nbsp;" +
                                 "          </strong>" +
                                 "       </span>" +
                                 "       <span class='msg'>" + message.msg + "</span>" +
                                 "    </span>";
                           }
                           html += "</p>";
                           /**
                            * Here the "append" will not make slow the code execution since it is not within a synchronous loop,
                            * but instead in an asynchronous loop that schedules the execution later!
                            */
                           $("#chatbox").append(html);
                        }
                        if ((index + 1) == oThis.messages.length) {
                           if (scroll) {
                              $("#chatbox")[0].scrollTop = $("#chatbox").prop("scrollHeight") * 2
                           }
                        }
                     });
                  }
               }
            }
         };

         if (chatEdit.config.Title.length) {
            $("a.chat-title").text(chatEdit.config.Title);
         }

         $("#chatbox_option_co, #chatbox_option_disco").bind("click", function() {
            $("#chatbox").empty();
         });

         parent.document.getElementById('frame_chatbox').style.visibility='visible';

         if (chatEdit.config.autoLogin) { // && chatbox.connected == false) {
            setTimeout(function() {
               $('#chatbox_option_co:visible').click() // chatbox.connect();
            }, 1000);
         }
      };
   script.type = "text/javascript";
   script.innerHTML =
      "_userdata = " + JSON.stringify(_userdata) +
      ";_lang = " + JSON.stringify(_lang) +
      ";$(function() { (" + chatbox_script.toString() + ")(); });";
   oIframe.getElementsByTagName("head")[0].appendChild(script);
};
[/code][quote][quote]

JS
[size(.*?)][url][url(.*?)][color(.*?)][img][/img][/color][/url][/url][/size]
[/code]
brandon_g
Coder
Reputation : 67
Points : 2249
Posts : 492
View user profile http://broadcastingduo.forumotion.com/

Postbrandon_g on Sat May 23, 2015 9:52 am

Wow! Your right, that did do quite a job confusing the hell out of the system! That was a mess!

I some how managed to fix it somewhat, just 1 line off.

-Brandon
SLGray
Administrator
Reputation : 290
Points : 1509
Posts : 3639
View user profile http://fmthemes.forumotion.com

PostSLGray on Sat Jul 18, 2015 8:14 pm

How is the testing going?
brandon_g
Coder
Reputation : 67
Points : 2249
Posts : 492
View user profile http://broadcastingduo.forumotion.com/

Postbrandon_g on Sun Jul 19, 2015 7:21 am

Haven't been able to conduct it yet... that 1 line is still off!
JScript
Tutor
Reputation : 2
Points : 306
Posts : 15
View user profile

PostJScript on Sun Jul 19, 2015 4:26 pm

After downloading, open the file with Notepad, select all the contents and paste the new JavaScript field.

I did it now and it worked in my tests ...

JS
SLGray
Administrator
Reputation : 290
Points : 1509
Posts : 3639
View user profile http://fmthemes.forumotion.com

PostSLGray on Wed Sep 28, 2016 11:16 pm

If everyone would test this, and someone would write a detailed tutorial, I would release the tutorial to the public.  Make sure to give credit to JScript.
Van-Helsing
Coder
Reputation : 8
Points : 1106
Posts : 29
View user profile

PostVan-Helsing on Wed Oct 05, 2016 4:37 pm

Hello [You must be registered and logged in to see this link.],
We had worked on this code with JScript to fit the code to work in all text languages encodings to work with the most of languages and we had made some improvements and bug fixes. This code cannot be posted in a topic due it contains some symbols and encodings. To work correct the whole script must be uploaded as file in a file hoster. Then the user must download the file and copy the code into new javascript and set it up in the homepage of the forum.
SLGray
Administrator
Reputation : 290
Points : 1509
Posts : 3639
View user profile http://fmthemes.forumotion.com

PostSLGray on Wed Oct 05, 2016 7:13 pm

[You must be registered and logged in to see this link.] wrote:Hello [You must be registered and logged in to see this link.],
We had worked on this code with JScript to fit the code to work in all text languages encodings to work with the most of languages and we had made some improvements and bug fixes. This code cannot be posted in a topic due it contains some symbols and encodings. To work correct the whole script must be uploaded as file in a file hoster. Then the user must download the file and copy the code into new javascript and set it up in the homepage of the forum.
Thanks for the information.
Skouliki
Designer
Reputation : 50
Points : 5468
Posts : 184
View user profile http://iconskouliki.forumgreek.com

PostSkouliki on Thu Oct 06, 2016 1:41 am

hello

i added the code by downloading the code in a notepad to both my forums (invision/punbb) but nothing apperead maybe cause i have the chat boxes in the navbar and i dont know how to reconcile all the codes for the chat box
Van-Helsing
Coder
Reputation : 8
Points : 1106
Posts : 29
View user profile

PostVan-Helsing on Thu Oct 06, 2016 3:39 pm

Hi [You must be registered and logged in to see this link.],
For the greek language you will need to change the text encoding for our language furthermore will need to disable the chatbox from f/m toolbar it may conflicts the whole javascript and maybe must disable other javascripts related with chatbox to bypass possible conflicts. It is a huge code and may have conflicts with the other javascripts. Also you must change a couple of parameters to make it work as you wish.

Kind Regards,
Van-Helsing
SLGray
Administrator
Reputation : 290
Points : 1509
Posts : 3639
View user profile http://fmthemes.forumotion.com

PostSLGray on Thu Oct 06, 2016 6:08 pm

Would it be best just to archive this topic?
Skouliki
Designer
Reputation : 50
Points : 5468
Posts : 184
View user profile http://iconskouliki.forumgreek.com

PostSkouliki on Fri Oct 07, 2016 12:10 am

[You must be registered and logged in to see this link.] wrote:Hi [You must be registered and logged in to see this link.],
For the greek language you will need to change the text encoding for our language furthermore will need to disable the chatbox from f/m toolbar it may conflicts the whole javascript and maybe must disable other javascripts related with chatbox to bypass possible conflicts. It is a huge code and may have conflicts with the other javascripts. Also you must change a couple of parameters to make it work as you wish.

Kind Regards,
Van-Helsing

Thanks for your answer in this case i would rather not to put that code
Van-Helsing
Coder
Reputation : 8
Points : 1106
Posts : 29
View user profile

PostVan-Helsing on Sun Oct 09, 2016 5:38 am

Hello dear all,
[You must be registered and logged in to see this link.] archive this topic until [You must be registered and logged in to see this link.] returns back and upgrade his code on his file hoster. I have also the corrected code, we have corrected a lot parts of this code with JScript to fit on my forums but as I am not the code author I think I am not allowed to publish/release the corrected code without JScript' s authorization. So you can archive it.

SLGray
Administrator
Reputation : 290
Points : 1509
Posts : 3639
View user profile http://fmthemes.forumotion.com

PostSLGray on Sun Oct 09, 2016 3:56 pm

Ok

Archived

View previous topic View next topic Back to top

Create an account or log in to leave a reply

You need to be a member in order to leave a reply.

Create an account

Join our community by creating a new account. It's easy!


Create a new account

Log in

Already have an account? No problem, log in here.


Log in

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