Adicionar lista de mensagens moderativas ao editor
3 participantes
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Adicionar lista de mensagens moderativas ao editor
Detalhes da questão
Endereço do fórum: http://ritys-nwd.forumeiros.com
Versão do fórum: ModernBB
Descrição
Olá queria saber como é para eu criar um botão na caixa de mensagem que reuna todas as minhas mensagens moderativas:
segue elas neste tópico > https://ajuda.forumeiros.com/t115516-como-criar-mensagens-moderativas
Re: Adicionar lista de mensagens moderativas ao editor
Olá @xDominiC_.,
Crie uma nova página Javascript com investimento nos tópicos com o seguinte código:
É importante mencionar que eu limitei o uso para usuários com poder de moderação em algum local do fórum e administradores do fórum. Portanto, os demais usuários não terão acesso a essa caixa.
Para utilizar, basta localizar o escudo vermelho na editor de texto (), clicar nele e selecionar a mensagem moderativa que você deseja enviar.
Está no seu agrado?
Chanp
Crie uma nova página Javascript com investimento nos tópicos com o seguinte código:
- Código:
if (typeof zModTabels === 'undefined') var zModTabels = [{
type: "success",
body_start: '[table class="mod success"][tr style=][td class="fa fa-check"][/td][td style="width: 100%;color: white"]',
body_end: "[/td][/tr][/table]"
},
{
type: "fail",
body_start: '[table class="mod fail"][tr style=][td class="fa fa-times"][/td][td style="width: 100%;color: white"]',
body_end: "[/td][/tr][/table]"
}
];
if (typeof zModMessages === 'undefined') var zModMessages = [{
name: "Recrutamento Aceito",
message: '[h4][b] Recrutamento Aceito[/b][/h4]\n\nRecrutamento finalizado e aceito. Tópico movido para Recrutamentos Aceitos.',
group_id: 0,
type: "success"
},
{
name: "Recrutamento Recusado",
message: '[h4][b] Recrutamento Recusado[/b][/h4]\n\nRecrutamento finalizado e recusado. Tópico movido para Recrutamentos Recusados.\nVocê pode criar um novo pedido após 7 dias.',
group_id: 0,
type: "fail"
},
{
name: "Denúncia Aceita",
message: '[h4][b] Denúncia aceita[/b][/h4]\n\nDenúncia finalizada e aceita. Tópico movido para Denúncias Aceitas.\nO usuário denunciado será punido.',
group_id: 1,
type: "success"
},
{
name: "Denúncia Recusada",
message: '[h4][b] Denúncia recusada[/b][/h4]\n\nDenúncia finalizada e recusada. Tópico movido para Denúncias Recusadas.',
group_id: 1,
type: "fail"
},
{
name: "Revisão de Expulsos Aceita",
message: '[h4][b] Revisão de Expulsos Aceita[/b][/h4]\n\nRevisão de Expulsos finalizada e aceita. Tópico movido para Revisões Tratadas.\nSeja bem-vindo(a) de volta ao clã!',
group_id: 2,
type: "success"
},
{
name: "Revisão de Expulsos Negada",
message: '[h4][b] Revisão de Expulsos Negada[/b][/h4]\n\nRevisão de Expulsos finalizada e negada. Tópico movido para Revisões Negadas.\nVocê pode criar um novo pedido de revisão após 14 dias.',
group_id: 2,
type: "fail"
},
{
name: "Nickname Alterado",
message: '[h4][b] Nickname alterado[/b][/h4]\n\nA solicitação de alteração do nickname foi aceita e finalizada.',
group_id: 3,
type: "success"
}
];
if (typeof zModGroups === 'undefined') var zModGroups = [{
id: 0,
name: 'Recrutamento'
},
{
id: 1,
name: 'Denúncia'
},
{
id: 2,
name: 'Revisão de Expulsos'
},
{
id: 3,
name: 'Alteração de Nickname'
];
$(function() {
var list = "";
$('.zmod_box td').each(function() {
this.innerHTML = this.innerHTML.replace(/\[icon\="?(.*?)"?\](.*?)\[\/icon\]/g, "<div><i class=\"$1\ icon-message\">$2</i></div>")
.replace(/\[div\](.*?)\[\/div\]/g, "<div>$1</div>");
});
$(window).load(function() {
function zModGetTable(type, body) {
var str = "";
for (var y = 0; y < zModTabels.length; y++) str += (zModTabels[y].type === type) ? (body === "start") ? zModTabels[y].body_start : zModTabels[y].body_end : "";
return str;
}
function zModGetModMessageByGroupId(f, g) {
var str = "",
c = 0;
for (var z = 0; z < zModMessages.length; z++) {
if (zModMessages[z].group_id == f) {
str += "<li class='mod_editor_message group_" + zModMessages[z].group_id + "' id='group_" + z + "_" + zModMessages[z].group_id + "'><a style='cursor: pointer'>" + zModMessages[z].name + "</a></li>\n";
if (g === 0) zModInsertToSCEditor('#group_' + z + '_' + zModMessages[z].group_id + ' a', zModMessages[z].message, zModMessages[z].type);
c++;
}
}
if (g === 1) str = c;
return str;
}
function zModInsertToSCEditor(e, t, i) {
$(e).live("click", function(e) {
$("#text_editor_textarea").sceditor("instance").insertText(zModGetTable(i, "start") + t, zModGetTable(i, "end"));
});
}
function zModToggleSCEditor(o, i) {
$(o).live("click", function(o) {
$(i).toggle();
});
}
for (var x = 0; x < zModGroups.length; x++) {
if (zModGetModMessageByGroupId(zModGroups[x].id, 1) > 0) {
list += "<li class='mod_editor_section' id='list_" + zModGroups[x].id + "'><a style='cursor: pointer'>" + zModGroups[x].name + " (" + zModGetModMessageByGroupId(zModGroups[x].id, 1) + ")</a></li>" + zModGetModMessageByGroupId(zModGroups[x].id, 0);
zModToggleSCEditor("#list_" + zModGroups[x].id + " a", ".group_" + zModGroups[x].id + "");
}
}
zModToggleSCEditor('.sceditor-button.sceditor-button-staff', '.mod_box');
$("textarea, .sceditor-button").click(function() {
$(".mod_box").hide();
});
$(".sceditor-button-source").click(function() {
$(".sceditor-button-staff").removeClass("disabled");
});
if(_userdata.user_level === 1 | _userdata.user_level === 2) $(".sceditor-group:last-child").before('<div class="sceditor-group"><a class="sceditor-button sceditor-button-staff" title="Moderação"><div unselectable="on">Moderação</div></a><div class="mod_box" style="display: none;"><ul class="mod_groups" id="mod_box_i">' + list + '<li class="copyright_e"> Criado por Zeus - Todos os Direitos Reservados</li></div></div></div>');
});
});
É importante mencionar que eu limitei o uso para usuários com poder de moderação em algum local do fórum e administradores do fórum. Portanto, os demais usuários não terão acesso a essa caixa.
Para utilizar, basta localizar o escudo vermelho na editor de texto (), clicar nele e selecionar a mensagem moderativa que você deseja enviar.
Está no seu agrado?
Chanp
Re: Adicionar lista de mensagens moderativas ao editor
Olá @xDominiC_.,
Altere o código para:
Cordialmente,
pedxz.
Altere o código para:
- Código:
/**
* Title : Forumotion tools for moderation
* Version : 1.0.2
* Author : Zeus
* Author URI : http://help.forumgratuit.ro
* License : GNU - General Public License v3.0
* Documentation : https://github.com/zeusmaximus/Moderation-tools-for-Forumotion/
* Last update : May 28, 2017 at 16:03
*/
var zModConfig = [{
icon: "https://i.servimg.com/u/f58/11/80/17/98/chat-110.png"
}];
if (typeof zModTabels === 'undefined') var zModTabels = [{
type: "success",
body_start: '[table class="mod success"][tr style=][td class="fa fa-check"][/td][td style="width: 100%;color: white"]',
body_end: "[/td][/tr][/table]"
},
{
type: "fail",
body_start: '[table class="mod fail"][tr style=][td class="fa fa-times"][/td][td style="width: 100%;color: white"]',
body_end: "[/td][/tr][/table]"
}
];
if (typeof zModMessages === 'undefined') var zModMessages = [{
name: "Recrutamento Aceito",
message: '[h4][b] Recrutamento Aceito[/b][/h4]\n\nRecrutamento finalizado e aceito. Tópico movido para Recrutamentos Aceitos.',
group_id: 0,
type: "success"
},
{
name: "Recrutamento Recusado",
message: '[h4][b] Recrutamento Recusado[/b][/h4]\n\nRecrutamento finalizado e recusado. Tópico movido para Recrutamentos Recusados.\nVocê pode criar um novo pedido após 7 dias.',
group_id: 0,
type: "fail"
},
{
name: "Denúncia Aceita",
message: '[h4][b] Denúncia aceita[/b][/h4]\n\nDenúncia finalizada e aceita. Tópico movido para Denúncias Aceitas.\nO usuário denunciado será punido.',
group_id: 1,
type: "success"
},
{
name: "Denúncia Recusada",
message: '[h4][b] Denúncia recusada[/b][/h4]\n\nDenúncia finalizada e recusada. Tópico movido para Denúncias Recusadas.',
group_id: 1,
type: "fail"
},
{
name: "Revisão de Expulsos Aceita",
message: '[h4][b] Revisão de Expulsos Aceita[/b][/h4]\n\nRevisão de Expulsos finalizada e aceita. Tópico movido para Revisões Tratadas.\nSeja bem-vindo(a) de volta ao clã!',
group_id: 2,
type: "success"
},
{
name: "Revisão de Expulsos Negada",
message: '[h4][b] Revisão de Expulsos Negada[/b][/h4]\n\nRevisão de Expulsos finalizada e negada. Tópico movido para Revisões Negadas.\nVocê pode criar um novo pedido de revisão após 14 dias.',
group_id: 2,
type: "fail"
},
{
name: "Nickname Alterado",
message: '[h4][b] Nickname alterado[/b][/h4]\n\nA solicitação de alteração do nickname foi aceita e finalizada.',
group_id: 3,
type: "success"
}
];
if (typeof zModGroups === 'undefined') var zModGroups = [{
id: 0,
name: 'Recrutamento'
},
{
id: 1,
name: 'Denúncia'
},
{
id: 2,
name: 'Revisão de Expulsos'
},
{
id: 3,
name: 'Alteração de Nickname'
}
];
$(function() {
$('<style type="text/css">.sceditor-button-staff div {background: url(' + zModConfig[0].icon + ') !important;}</style>').appendTo("head");
var list = "";
$('.zmod_box td').each(function() {
this.innerHTML = this.innerHTML.replace(/\[icon\="?(.*?)"?\](.*?)\[\/icon\]/g, "<div><i class=\"$1\ icon-message\">$2</i></div>")
.replace(/\[div\](.*?)\[\/div\]/g, "<div>$1</div>");
});
$(window).load(function() {
function zModGetTable(type, body) {
var str = "";
for (var y = 0; y < zModTabels.length; y++) str += (zModTabels[y].type === type) ? (body === "start") ? zModTabels[y].body_start : zModTabels[y].body_end : "";
return str;
}
function zModGetModMessageByGroupId(f, g) {
var str = "",
c = 0;
for (var z = 0; z < zModMessages.length; z++) {
if (zModMessages[z].group_id == f) {
str += "<li class='mod_editor_message group_" + zModMessages[z].group_id + "' id='group_" + z + "_" + zModMessages[z].group_id + "'><a style='cursor: pointer'>" + zModMessages[z].name + "</a></li>\n";
if (g === 0) zModInsertToSCEditor('#group_' + z + '_' + zModMessages[z].group_id + ' a', zModMessages[z].message, zModMessages[z].type);
c++;
}
}
if (g === 1) str = c;
return str;
}
function zModInsertToSCEditor(e, t, i) {
$(e).live("click", function(e) {
$("#text_editor_textarea").sceditor("instance").insertText(zModGetTable(i, "start") + t, zModGetTable(i, "end"));
});
}
function zModToggleSCEditor(o, i) {
$(o).live("click", function(o) {
$(i).toggle();
});
}
for (var x = 0; x < zModGroups.length; x++) {
if (zModGetModMessageByGroupId(zModGroups[x].id, 1) > 0) {
list += "<li class='mod_editor_section' id='list_" + zModGroups[x].id + "'><a style='cursor: pointer'>" + zModGroups[x].name + " (" + zModGetModMessageByGroupId(zModGroups[x].id, 1) + ")</a></li>" + zModGetModMessageByGroupId(zModGroups[x].id, 0);
zModToggleSCEditor("#list_" + zModGroups[x].id + " a", ".group_" + zModGroups[x].id + "");
}
}
zModToggleSCEditor('.sceditor-button.sceditor-button-staff', '.mod_box');
$("textarea, .sceditor-button").click(function() {
$(".mod_box").hide();
});
$(".sceditor-button-source").click(function() {
$(".sceditor-button-staff").removeClass("disabled");
});
if (_userdata.user_level === 1 | _userdata.user_level === 2) $(".sceditor-group:last-child").before('<div class="sceditor-group"><a class="sceditor-button sceditor-button-staff" title="Moderação"><div unselectable="on">Moderação</div></a><div class="mod_box" style="display: none;"><ul class="mod_groups" id="mod_box_i">' + list + '<li class="copyright_e"> Criado por Zeus - Todos os Direitos Reservados</li></div></div></div>');
});
});
- Código:
.mod_groups {
line-height: 1.5;
font-size: 11px;
font-weight: 400;
}
.mod_box {
-moz-background-clip: padding;
-moz-border-radius: 2px;
-moz-box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.2);
-webkit-background-clip: padding-box;
-webkit-border-radius: 2px;
-webkit-box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.2);
background: #fff;
background-clip: padding-box;
border: 1px solid #ccc;
border-radius: 2px;
box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.2);
color: #333;
width: 200px;
line-height: 1;
padding: 10px;
position: absolute;
z-index: 999;
}
.mod_editor_section {
background: #f1f1f1;
padding: 5px;
font-weight: bold;
border-bottom: 1px solid #d7d7d7;
text-align: left;
text-transform: uppercase;
}
.copyright_e {
margin-top: 5px;
background: #f8f8f8;
border-top: 1px solid #d7d7d7;
text-align: left;
padding: 2px 5px;
font-size: 9px;
color: #777;
text-shadow: 1px 1px 0px white;
}
.mod_editor_message {
padding: 2px 5px;
text-align: left;
}
.mod_groups {
height: 150px;
overflow-y: scroll;
}
.mod_groups li {
list-style-type: none;
margin-left: -40px;
}
.sceditor-button-staff {
position: relative;
}
.mod_box {
top: 73px;
}
#quick_reply .mod_groups li {
margin-left: 0px;
}
#quick_reply .mod_box {
top: 35px;
}
.sceditor-button-staff.disabled div {
opacity: 1.0 !important;
filter: alpha(opacity=100) !important;
}
Cordialmente,
pedxz.
tikky- Admineiro
- Membro desde : 13/01/2017
Mensagens : 7964
Pontos : 9219
Re: Adicionar lista de mensagens moderativas ao editor
Tópico resolvidoMovido para "Questões resolvidas". |
tikky- Admineiro
- Membro desde : 13/01/2017
Mensagens : 7964
Pontos : 9219
Tópicos semelhantes
» Botão "Adicionar à minha lista de amigos" e "Adicionar à minha lista de ignorados"
» Mensagens moderativas
» Mensagens moderativas
» Mensagens moderativas
» Mensagens Moderativas 2.0
» Mensagens moderativas
» Mensagens moderativas
» Mensagens moderativas
» Mensagens Moderativas 2.0
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos