Avatar si editare mesaje in ChatBox!

Vezi subiectul anterior Vezi subiectul urmator In jos

avatar
Deliric
Admin
Mesaje : 142
Reputatie : 187
Vezi profilul utilizatorului http://board.techno-zone.net

MesajDeliric la data de Dum Apr 26, 2015 2:14 pm

Nume : [Tutorial] Avatar si editare mesaje in ChatBox!
Autor: JScript
Funcionabil: Toate versiunile
Categoria: Recursos de Outros Autores




Legenda:
-> Editare as mesaj;
-> Stergere mesaj.



Cod:
Cod:

/**************************************************************************
* Module: AVATARChat + JS_EditMsgChat
* Description: Need?!
* Author: Made and Optimizations by JScript - 2014/11/23
* Version: RC2 (Release candidate 2!)
***************************************************************************/
function insertChatBox(chatbox_id, chatbox_url) {
   return insertChatBoxNew(chatbox_id, chatbox_url);
}

// Redefine function in frm_lang_xx.js, by JScript Brasil at live dot com!
function insertChatBoxNew(chatbox_id, chatbox_url) {

   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>';

   frames["frame_chatbox"].onload = function() {
       // Redefine function in chatbox7.js, by JScript Brasil at live dot com!
       var JS_search = {
               //inVar: /">\[(?:(?:2[0-3]|[0-1][0-9]|[0-9]):[0-5][0-9]:[0-5][0-9])\]<\/span> <span class=\\"user-msg\\">(.+)Ιid=(.*?)Α<(.*?)>Ε<img (.*?)Χ<img (.*?)>Τ(.+)Μ(.*?)<\/span>/g,
               //inHtml: /">\[(?:(?:2[0-3]|[0-1][0-9]|[0-9]):[0-5][0-9]:[0-5][0-9])\]<\/span>&nbsp;<span class=\\"user-msg\\">(.+)[\u0399]id=(.*?)[\u0391]<(.*?)>[\u0395]<img (.*?)[\u03a7]<img (.*?)>[\u039c](.*?)<\/span>/g
               inVar: /Ιid=(.*?)Α<(.*?)>Ε<img (.*?)Χ<img (.*?)>Μ(.*?)<\/span>/g,
               inHtml: /[\u0399]id=(.*?)[\u0391]<(.*?)>[\u0395]<img (.*?)[\u03a7]<img (.*?)>[\u039c](.*?)<\/span>/g
           },
           // JS_replace = '">[$6]$1<span class=\"id\" id=$2><span class=\"js-avatar\"><$3></span><span class=\"editor\"><img onclick=\"editor(this, 1)\" $4<img onclick=\"editor(this, 2)\" $5></span><span class=\"text\">$7</span>',
           JS_replace = '<span class=\"id\" id=$1><span class=\"js-avatar\"><$2></span><span class=\"editor\"><img onclick=\"editor(this, 1)\" $3<img onclick=\"editor(this, 2)\" $4></span><span class=\"text\">$5</span>',
           oIframe = (document.getElementById("frame_chatbox").contentWindow || document.getElementById("frame_chatbox").contentDocument),
           script = oIframe.document.createElement("script"),
           memDiv = oIframe.document.createElement('div');

       script.type = "text/javascript";
       script.innerHTML =
           'USERNAME = parent._userdata.username;' +
           'SUPERMOD = parent._userdata.user_level;' +
           'AVATAR = parent._userdata.avatar.replace(\'<img src="\', "[img]").replace(\'" alt="" />\', "[/img]");' +
           'JS_search = ' + JS_search.inVar + ';' +
           'JS_replace = \'' + JS_replace + '\';' +
           'function submitmsg(params) {' +
           '   if (document.post.message.value.length < 4 && SUPERMOD !== 1) return false;' +
           '   if (document.post.message.value.indexOf("/") !== 0) {' +
           '   var date = new Date();' +
           '   var UID = Math.ceil(date.getDate() + date.getHours() + Math.random() * Math.pow(10, 10) + date.getMinutes() + date.getSeconds() + date.getMilliseconds());' +
           '   if (UID.length < 10) {' +
           '   UID + "" + (10 - UID.length);' +
           '   }' +
           //'   var time = new Date().toLocaleTimeString();' +
           //'   document.post.message.value = \'Ιid="\' + UID + \'"Α\' + AVATAR + "Ε[img]http://goo.gl/brvCui[/img]Χ[img]http://goo.gl/k8FZx5[/img]Τ" + time + "Μ" + document.post.message.value;' +
           '   document.post.message.value = \'Ιid="\' + UID + \'"Α\' + AVATAR + "Ε[img]http://goo.gl/brvCui[/img]Χ[img]http://goo.gl/k8FZx5[/img]Μ" + document.post.message.value;' +
           '   }' +
           '   document.post.sent.value = document.post.message.value;' +
           '   document.post.message.value = "";' +
           '   document.post.message.focus();' +
           '   ajax_submit_chatbox(params);' +
           '   return false' +
           '}' +
           'function copy_user_name(user_name) {' +
           '   if (document.post.message) {' +
           '   document.post.message.focus();' +
           '   document.post.message.value += ((user_name.indexOf("@") == 0) ? "" : "@") + user_name + " -> ";' +
           '   }' +
           '   return false' +
           '}' +
           'function ajax_submit_chatbox(params, editor) {' +
           '   number_of_refresh = 0;' +
           '   if (params == "" || params == undefined) {' +
           '   params = "?achives=0"' +
           '   }' +
           '   if (editor == "" || editor == undefined) {' +
           '   var msg_sent = document.post.sent.value;' +
           '   } else {' +
           '   var msg_sent = editor;' +
           '   }' +
           '   var data = "&mode=send";' +
           '   data += "&sent=" + encodeURIComponent(msg_sent);' +
           '   data += "&sbold=" + document.post.sbold.value;' +
           '   data += "&sitalic=" + document.post.sitalic.value;' +
           '   data += "&sunderline=" + document.post.sunderline.value;' +
           '   data += "&sstrike=" + document.post.sstrike.value;' +
           '   data += "&scolor=" + document.post.scolor.value;' +
           '   if ((msg_sent.indexOf("/away") == 0) || (msg_sent.indexOf("/abs") == 0)) {' +
           '   document.getElementById("refresh_auto").checked = false' +
           '   }' +
           '   if (document.post.sent.value == "/banlist") {' +
           '   window.open("/chatbox/chatbox_banlist.forum" + params, "banlist", "toolbar=no,menubar=no,personalbar=no,width=450,height=300,scrollbars=yes,resizable=yes");' +
           '   return false' +
           '   }' +
           '   $.ajax({' +
           '   url: "/chatbox/chatbox_actions.forum" + params,' +
           '   type: "post",' +
           '   data: data,' +
           '   dataType: "script",' +
           '   success: function(response, status, xhr) {' +
           '   if (xhr.status == 200) {' +
           //'   if (typeof (chatbox_messages) !== "undefined") {' +
           '   chatbox_messages = chatbox_messages.replace(JS_search, JS_replace);' +
           ' document.getElementById("memdiv").innerHTML = chatbox_messages;' +
           '   hackMsg();' +
           '   document.getElementById("chatbox").innerHTML = document.getElementById("memdiv").innerHTML;' +
           '   /*$("#chatbox").html(chatbox_messages) [0].scrollTop = $("#chatbox").prop("scrollHeight");*/' +
           '   document.getElementById("chatbox").scrollTop = 999999;' +
           //'   }' +
           '   if (typeof (chatbox_memberlist) !== "undefined") {' +
           '   document.getElementById("chatbox_members").innerHTML = chatbox_memberlist;' +
           '   /*$("#chatbox_members").html(chatbox_memberlist);*/' +
           '   }' +
           '   }' +
           '   },' +
           '   })' +
           '}' +
           'function ajax_refresh_chatbox(params, force) {' +
           '   if (params == "" || params == undefined) {' +
           '   params = "?achives=0"' +
           '   }' +
           '   $.ajax({' +
           '   url: "/chatbox/chatbox_actions.forum" + params + "&mode=refresh",' +
           '   type: "get",' +
           '   dataType: "script",' +
           '   success: function(response, status, xhr) {' +
           '   if (xhr.status == 200) {' + // || force) {' + <- Fail!
           //'           if ($("#chatbox").length) {' +
           '   if (typeof (chatbox_messages) !== "undefined") {' +
           '   chatbox_messages = chatbox_messages.replace(JS_search, JS_replace);' +
           ' document.getElementById("memdiv").innerHTML = chatbox_messages;' +
           '   hackMsg();' +
           '   document.getElementById("chatbox").innerHTML = document.getElementById("memdiv").innerHTML;' +
           '   document.getElementById("chatbox").scrollTop = document.getElementById("chatbox").scrollHeight + document.getElementById("chatbox").offsetHeight;' +
           '   document.getElementById("chatbox").scrollTop = 999999;' +
           '           }' +
           //'           if (document.getElementById("chatbox_members").innerHTML != null) document.getElementById("chatbox_members").innerHTML = chatbox_memberlist;' +
           '   if (typeof (chatbox_memberlist) !== "undefined") {' +
           '   document.getElementById("chatbox_members").innerHTML = chatbox_memberlist;' +
           '   /*$("#chatbox_members").html(chatbox_memberlist);*/' +
           '   }' +
           '   }' +
           '   },' +
           '   })' +
           '}' +
           'function hackMsg() {' +
           '   var oTarget = jQuery("#memdiv > p"),' +
           '   iLen = oTarget.length,' +
           '   index = 0;' +
           '   for (; index < iLen; index++) {' +
           '   var oThis = jQuery(oTarget[index]),' +
           '   sUserName = oThis.find(".user > a").text(),' +
           '   ID = oThis.find("span.id");' +
           '   if (ID.length == 0) {' +
           '   ID = oThis.find(".msg:last").text();' +
           // XORcipher -> '   ID = XORcipher(oThis.find(".msg").text());' +
           '   var del = ID.match(/^\\/remove[\\u0399](.*?)$/);' +
           // XORcipher -> '   var del = ID.match(/^\\/removeΙ(.*?)$/);' +
           '   if (del !== null) {' +
           '   var oMsg = oThis.parent().find("#" + del[1]).closest("p");' +
           '   if (oMsg.length) {' +
           //'   if (oMsg.find(".user > a").text() == sUserName || SUPERMOD > 0) {' +
           '   oMsg.remove();' +
           //'   }' +
           '   }' +
           '   }' +
           '          var edit = ID.match(/^\\/edit[\\u0399]([0-9]+)[\\u039c](.*?)$/);' +
           // XORcipher -> '             var edit = ID.match(/^\\/editΙ([0-9]+)Μ(.*?)$/);' +
           '          if (edit !== null) {' +
           '   var oMsg = oThis.parent().find("#" + edit[1]);' +
           '   if (oMsg.length) {' +
           //'   if (oMsg.closest("p").find(".user > a").text() == sUserName || SUPERMOD > 0) {' +
           '   oMsg.find("span.text").text(edit[2]);' +
           //'   }' +
           '   }' +
           '             }' +
           '             /*var nudge = ID.match(/^\\/nudge[\\u0399]([0-9]+)[\\u039d](.*?)$/);' +
           '             if (nudge !== null) {' +
           '   var oMsg = oThis.parent().find("#" + nudge[1]);' +
           '   if (oMsg.length) {' +
           '   if (nudge[2] == USERNAME) {' +
           '   // Developing!;' +
           '   }' +
           '   }' +
           '          }*/' +
           '   oThis.remove();' +
           '   } else {' +
           '   if (sUserName !== USERNAME && SUPERMOD == 0) {' +
           '   ID.find(".editor").remove();' +
           '   }' +
           '   }' +
           '   }' +
           '}' +
           'function editor(oThis, num) {' +
           '   if (num == 1 && iConfirm("Tem certeza de que deseja remover esta mensagem?\\n\\n" + jQuery(oThis).closest(".id").text() ) == 1) {' +
           '   ajax_submit_chatbox("?achives=1", "/removeΙ" + jQuery(oThis).closest(".id").attr("id"));' +
           '   jQuery(oThis).closest("p").remove();' +
           '   } else if (num == 2) {' +
           '   var result = prompt("Editando a frase:", jQuery(oThis).closest(".id").text());' +
           '   if (result != null) {' +
           '   ajax_submit_chatbox("?achives=1", "/editΙ" + jQuery(oThis).closest(".id").attr("id") + "Μ" + result);' +
           '   jQuery(oThis).closest(".id span.text").text(result);' +
           '   }' +
           '   /*} else if (num == 3) {' +
           '   ajax_submit_chatbox("?achives=1", XORcipher("/nudgeΙ" + jQuery(oThis).closest(".id").attr("id") + "Ν" + jQuery(oThis).closest("p").find(".user > a").text()));*/' +
           '   }' +
           '}' +
           /*'function XORcipher(sText) {' +
'   var key = 2,' +
'   result = "",' +
'   len = sText.length,' +
'   i = 0;' +
'   for (; i < len; i++) {' +
'   result += String.fromCharCode(key ^ sText.charCodeAt(i));' +
'   }' +
'   return result;' +
'}' +*/
           'function iConfirm(text) {' +
           '   var iChoice = -1;' +
           '   if (confirm(text) == true) {' +
           '   iChoice = 1;' +
           '   } else {' +
           '   iChoice = 0;' +
           '   }' +
           '   return iChoice;' +
           '}';
       oIframe.document.getElementsByTagName("head")[0].appendChild(script);

       var style = oIframe.document.createElement("style");
style.type = "text/css";
       style.innerHTML =
           '#chatbox p {' +
           '   background: none repeat scroll 0 0 #fff;' +
           '   border-bottom: 1px solid #e3e3e3;' +
           '   line-height: 1.3em;' +
           '   padding: 5px;' +
           '}' +
           '#chatbox span[title] {' +
           '   color: #8f8f8f !important;' +
           '   float: right !important;' +
           '}' +
           '#chatbox .user:not(:empty) {' +
           '   font-weight: 700;' +
           '   margin-left: 36px !important;' +
           '}' +
           '#chatbox .id {' +
           '   display: block;' +
           '   margin-top: 3px;' +
           '}' +
           '#chatbox .js-avatar img {' +
           '   background: none repeat scroll 0 0 #fff;' +
           '   border: 1px solid #ddd;' +
           '   float: left;' +
           '   height: 30px;' +
           '   margin-right: 5px;' +
           '   margin-top: -19px;' +
           '   max-width: 30px;' +
           '   padding: 1px;' +
           '   vertical-align: middle;' +
           '   width: 30px;' +
           '}' +
           '#chatbox .editor img {' +
           '   cursor: pointer;' +
           '   float: right;' +
           '   padding-left: 4px;' +
           '}' +
           '#chatbox {' +
           '   display: none;' +
           '}';
       oIframe.document.getElementsByTagName("head")[0].appendChild(style);

       var forceConnect = setInterval(function() {
           if (oIframe.document.getElementById("chatbox") !== null) {
               clearInterval(forceConnect);
               memDiv.id = 'memdiv';
               oIframe.document.getElementsByTagName('body')[0].appendChild(memDiv);
               oIframe.document.getElementById("memdiv").style.display = 'none';
               oIframe.document.getElementById("memdiv").innerHTML = oIframe.document.getElementById("chatbox").innerHTML.replace(JS_search.inHtml, JS_replace);

               oIframe.hackMsg();

               oIframe.document.getElementById("chatbox").innerHTML = oIframe.document.getElementById("memdiv").innerHTML;
               if (oIframe.document.getElementById('chatbox_option_disco').style.display == 'none') {
                   oIframe.CB_disconnect();
               }
               oIframe.document.getElementById("chatbox_option_with_archives").style.display = 'none';
               oIframe.document.getElementById("chatbox_option_without_archives").style.display = 'none';
               oIframe.document.getElementById("chatbox").style.display = 'block';
           }
       }, 250);
   };
}

CSS:
Cod:

#chatbox {
 display: none;
}

Demo:
avatar
CylourLP
Membru

Mesaje : 11
Reputatie : 2
Vezi profilul utilizatorului http://www.homegoo.ga

MesajCylourLP la data de Lun Iun 22, 2015 1:37 pm

sa vedem
avatar
BadWolf
Membru

Mesaje : 8
Reputatie : 7
Vezi profilul utilizatorului http://forum.newgoo.net/

MesajBadWolf la data de Sam Feb 11, 2017 10:32 am

interesant .
Continut sponsorizat

MesajContinut sponsorizat

Vezi subiectul anterior Vezi subiectul urmator Sus

Trebuie sa fii inregistrat pentru a posta

Trebuie sa fii conectat pentru a posta.

Creare cont

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


Inregistrare

Conectare

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


Conectare

 
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum