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.

Post requirement to use Chatbox (Filter by Usergroups)

View previous topic View next topic Go down

Solved Post requirement to use Chatbox (Filter by Usergroups)

Post by Eugeo Igvalt on January 9th 2015, 4:03 am

@Jscript,

You had made a code in this threadhttp://help.forumotion.com/t137827-request-certain-post-count-before-accessing-the-chatbox?highlight=chatbox

The code works great, but It still forbids Admins too if they have less than 5 posts. Can this code you made be modified to exclude anyone from the 5 post requirement that's in the Administrator usergroup? My forum is phpBB3. '

I had to make a new thread since the other one is locked and solved.

Code:

/**************************************************************************
* 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>';
// $('#' + chatbox_id).parent().detach().prependTo('#wrapper');

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>&nbsp;<span class=\"user-msg\">(.+)&Iota;id=(.*?)&Alpha;<(.*?)>&Epsilon;<img (.*?)&Chi;<img (.*?)>&Tau;(.+)&Mu;(.*?)<\/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: /&Iota;id=(.*?)&Alpha;<(.*?)>&Epsilon;<img (.*?)&Chi;<img (.*?)>&Mu;(.*?)<\/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 + '\';' +
'pauseRefresh = 0;' +
'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 = \'&Iota;id="\' + UID + \'"&Alpha;\' + AVATAR + "&Epsilon;[img]http://goo.gl/brvCui[/img]&Chi;[img]http://goo.gl/k8FZx5[/img]&Tau;" + time + "&Mu;" + document.post.message.value;' +
' document.post.message.value = \'&Iota;id="\' + UID + \'"&Alpha;\' + AVATAR + "&Epsilon;[img]http://goo.gl/brvCui[/img]&Chi;[img]http://goo.gl/k8FZx5[/img]&Mu;" + 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) {' +
' if (parent._userdata.user_posts < 5) {' +
' return alert("Warning!\\n\\nYou can only post messages when you have more than 5 threads started!");' +
' }' +
' 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 (pauseRefresh) {'+
' return false;' +
' }' +
' 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&Iota;(.*?)$/);' +
' 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&Iota;([0-9]+)&Mu;(.*?)$/);' +
' 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&Iota;" + jQuery(oThis).closest(".id").attr("id"));' +
' jQuery(oThis).closest("p").remove();' +
' } else if (num == 2) {' +
' pauseRefresh = 1;' +
' var td = $(oThis).closest(".id"),' +
//' width = td.find(".text").width() - (td.find(".editor").width() * 2),' +
' width = td.width() - (td.find(".editor").width() * 4),' +
' height = td.find(".text").height(),' +
' sHtml =' +
' \'<span id="staff-shout-edit">\' +' +
' \'<textarea id="rt_input" style="width: \' + width + \'px; height: \' + height + \'px;vertical-align: middle;font-family: inherit;font-size: inherit;">\' + td.find(".text").text() + \'</textarea>\' +' +
' \'<input type="submit" id="rt_submit" class="button2" value="Save" onclick="ajax_submit_chatbox("?achives=1", "/edit&Iota;" + \' + jQuery(oThis).closest(".id").attr("id") + \' + "&Mu;" + jQuery("#rt_input").val());pauseRefresh = 0;" style="margin-right: 4px;">\' +' +
' \'<a title="Cancel" href="javascript:void(0);" onclick="var oEdit = jQuery("#staff-shout-edit"); oEdit.next().show(); oEdit.prev().show(); oEdit.remove();return pauseRefresh = 0;">Cancel</a>\' +' +
' \'</span>\';' +
' td.find(".editor").hide();' +
' td.find(".text").hide().before(sHtml);' +
/*
' var result = prompt("Editando a frase:", jQuery(oThis).closest(".id").text());' +
' if (result != null) {' +
' ajax_submit_chatbox("?achives=1", "/edit&Iota;" + jQuery(oThis).closest(".id").attr("id") + "&Mu;" + result);' +
' jQuery(oThis).closest(".id span.text").text(result);' +
' }' +
*/
' /*} else if (num == 3) {' +
' ajax_submit_chatbox("?achives=1", XORcipher("/nudge&Iota;" + jQuery(oThis).closest(".id").attr("id") + "&Nu;" + 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 =
'#chatboxp {' +
' background: none repeat scroll 0 0 #fff;' +
' border-bottom: 1px solid #e3e3e3;' +
' line-height: 1.3em;' +
' padding: 5px;' +
'}' +
'#chatboxspan[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);
};
}


Last edited by Eugeo Ayano on January 9th 2015, 4:30 pm; edited 1 time in total

Eugeo Igvalt
Forumember

Male Posts : 287
Reputation : 17
Language : EN, SPA
Location : Puerto Rico

http://www.NewbForums.com

Back to top Go down

Solved Re: Post requirement to use Chatbox (Filter by Usergroups)

Post by JScript on January 9th 2015, 12:33 pm

Yes!

In the code, change it: ' if (parent._userdata.user_posts < 5) {' +
For this: ' if (parent._userdata.user_level == 0 && parent._userdata.user_posts < 5) {' +

_userdata.user_level values:
0 - Members
1 - Admins
2 - Moderators

So long,

JS

JScript
Forumember

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

http://jscript.forumeiros.com/

Back to top Go down

Solved Re: Post requirement to use Chatbox (Filter by Usergroups)

Post by Eugeo Igvalt on January 9th 2015, 4:29 pm

thank you so much.

Solved.

Eugeo Igvalt
Forumember

Male Posts : 287
Reputation : 17
Language : EN, SPA
Location : Puerto Rico

http://www.NewbForums.com

Back to top Go down

Solved Re: Post requirement to use Chatbox (Filter by Usergroups)

Post by Eugeo Igvalt on January 9th 2015, 4:39 pm

Actually I have 1 more issue. I changed the background to black and the text is white. But when I'm typing in white font it doesn't show the | that blinks when you are typing, is there a solution for that, @Jscript ?

Eugeo Igvalt
Forumember

Male Posts : 287
Reputation : 17
Language : EN, SPA
Location : Puerto Rico

http://www.NewbForums.com

Back to top Go down

Solved Re: Post requirement to use Chatbox (Filter by Usergroups)

Post by APE on January 10th 2015, 7:07 pm

Please make a new post for your other problem
Topic solved and archived





APE
Manager
Manager

Male Posts : 8330
Reputation : 718
Language : fluent in dork / mumbojumbo & English haha
Location : STUCK IN FORUMOTIONS SERVERS HELP ME !!!!!!

http://chatworld.forumotion.co.uk/

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