Post requirement to use Chatbox (Filter by Usergroups)
3 posters
Page 1 of 1
Post requirement to use Chatbox (Filter by Usergroups)
@Jscript,
You had made a code in this thread https://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.
You had made a code in this thread https://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> <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> <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 + '\';' +
'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 = \'Ι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) {' +
' 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Ι(.*?)$/);' +
' 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) {' +
' 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Ι" + \' + jQuery(oThis).closest(".id").attr("id") + \' + "Μ" + 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Ι" + 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);
};
}
Last edited by Eugeo Ayano on January 9th 2015, 4:30 pm; edited 1 time in total
Re: Post requirement to use Chatbox (Filter by Usergroups)
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
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
Re: Post requirement to use Chatbox (Filter by Usergroups)
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 ?
Re: Post requirement to use Chatbox (Filter by Usergroups)
Please make a new post for your other problem
Topic solved and archived
Similar topics
» How do you add the "Warning Bar" Next to your name in a post? & How do you remove the timeout in the default chatbox?
» Filter announcements out of newsfeed widget.
» Chatbox access by post count
» Request Certain Post Count Before Accessing The Chatbox
» Widget for post-clear chatbox archives
» Filter announcements out of newsfeed widget.
» Chatbox access by post count
» Request Certain Post Count Before Accessing The Chatbox
» Widget for post-clear chatbox archives
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum