Moderações automáticas
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 • Compartilhe
Moderações automáticas
Detalhes da questão
Endereço do fórum: http://redelux.forumeiros.com/
Versão do fórum: AwesomeBB
Descrição
Olá staffers,
Bem, eu queria adicionar uma ferramenta tanto que talvez seja complicada, mas é um desejo que tenho há muito tempo e queria MUITO adicionar em meu fórum, iria ajudar demais minha equipe.
OPÇÕES
Bem, o sistema é que quando a pessoa tem a permissão "Ferramentas de Moderação" em uma área, acima do tópico, aparecerá uma opção chamada "Ações de moderação" e, ao clicar, irá aparecer estas opções:
Aceitar denúncia
Negar denúncia
Deixar denúncia em análise
Finalizar pedido
Dúvida respondida
Mover a lixeira
Fechar tópico
Mover tópico
Nisto, quando você recebe o cargo Coordenador, Gerente e Master, ao lado da opção "Ações de moderação", irá aparecer "Ações de administração", que terá as opções:
Aceitar revisão
Negar revisão
Deixar revisão em análise
Bug resolvido
Não é bug
Bug repassado
Deixar tópico em destaque
Deixar tópico como Importante
Deixar tópico como Informativo
MENSAGENS
As mensagens são geradas automaticamente após a opção desejada ser selecionada.
Mensagens Moderação:
Denúncia aceita:
Denúncia aceita e acusado imediatamente punido
Após uma análise do membro da equipe que está sob responsabilidade de sua denúncia, foi averiguado que o(a) jogador(a) estava infringindo alguma regra dita em nosso código de conduta geral.
Contudo, a punição será definida em SILENCIAMENTO ou BANIMENTO, conforme o ato cometido pelo autor da infração.
Tópico fechado e movido.
O tópico será movido para a aba "Denúncias resolvidas", vá ao meu fórum e você verá a área.
Denúncia negada:
Denúncia negada
Sua denúncia foi negada pois ocorreu algum dos motivos abaixo:
- O jogador não infringiu nenhuma regra;
- As provas estão editadas;
- Provas insuficientes;
- Acusado já punido.
Tópico fechado e movido.
O tópico será movido para a aba "Denúncias resolvidas", vá ao meu fórum e você verá a área.
Denúncia em análise
Sua denúncia foi adicionada em análise e, será analisada após um período ou repassada para outro membro da equipe.
O tópico não será movido para lugar nenhum.
Pedido finalizado
Seu pedido foi finalizado pois o tempo de 5 dias já foi concluído ou porque foi criado outro pedido antes do tempo obrigatório.
Tópico fechado e movido.
O tópico será movido para a aba "Pedidos resolvidos", vá ao meu fórum e você verá a área.
Dúvida respondida
Sua dúvida foi respondida e dada como entendida por nossa equipe, contudo, caso tenha mais dúvidas sobre o caso, crie outro tópico na área dúvidas.
Tópico fechado e movido.
O tópico será movido para a aba "Dúvidas respondidas", vá ao meu fórum e você verá a área.
As demais opções da moderação não tem mensagem, somente realizam a função das "Ferramentas de Moderação", porém, de uma forma mais rápida.
Administração
Revisão aceita
Sua revisão após uma averiguação da equipe foi constatada incorreta por nossa equipe. Nós pedimos perdão pelo caso e pela punição não legítima realizada por nossa equipe.
Tópico fechado e movido.
O tópico será movido para a aba "Revisões resolvidas", vá ao meu fórum e você verá a área.
Revisão negada
Sua revisão após uma averiguação da equipe foi constatada legítima e você não será despunido. Lamentamos, porém, o ato realizado é infração.
Tópico fechado e movido.
O tópico será movido para a aba "Revisões resolvidas", vá ao meu fórum e você verá a área.
Denúncia em análise
Sua revisão foi adicionada em análise e, será analisada após um período ou repassada para outro membro da equipe.
O tópico não será movido para lugar nenhum.
Bug resolvido
O bug relatado foi resolvido e não se encontra mais em nossa rede.
Agradecemos.
Tópico fechado e movido.
O tópico será movido para a aba "Bugs resolvidos", vá ao meu fórum e você verá a área.
Não é um bug
As informações relatadas não caracterizam BUG, contudo, não irá alterar nada em nosso servidor.
Tópico fechado e movido.
O tópico será movido para a aba "Bugs resolvidos", vá ao meu fórum e você verá a área.
Bug repassado
O seu caso foi repassado para outro membro da equipe.
O tópico não é movido.
TAGS
Após o tópico ser fechado, as mensagens lançadas, o tópico movido também automaticamente, ele precisa de uma tag conforme a opção escolhida, também será automático.
Tag aceita: Verde claro
Tag negada: Vermelho escuro
Tag Em análise: azul claro
Tag Dúvida resolvida: verde
Tag Destaque: verde claro
Tag Informativo: verde
Tag Importante: vermelho claro (se tiver)
Tag Lixo: sem cor
As ações Mover e fechar tópico não possuem mensagens, mas, são automáticas.
Resumo:
Ao clicar na opção, a página é atualizada, a mensagem é enviada, o tópico é fechado, a tag da respectiva ação é adicionada ao tópico e ele é movido para a área que foi informada, tudo automático e somente necessitando de clicar em uma opção.
Espero que consigam realizar este desejo que obtenho MUITO!
EU USO AWESOME BB, ENTÃO, ADICIONE NA RESPECTIVA VERSÃO.
Re: Moderações automáticas
Olá @oSantiagoo,
crie uma página JavaScript, com investimento nos tópicos, com o seguinte código:
Cordialmente,
pedxz.
crie uma página JavaScript, com investimento nos tópicos, com o seguinte código:
- Código:
(function($) {
'use strict';
var list = [{
title: 'Ferramentas de Moderação',
messages: [{
name: 'Denúncia aceita',
level: 2, // 1 para administrador e 2 para moderador.
color: '#006600', // Cor do texto
content: [
'[b]Denúncia aceita e acusado imediatamente punido[/b]',
'Após uma análise do membro da equipe que está sob responsabilidade de sua denúncia, foi averiguado que o(a) jogador(a) estava infringindo alguma regra dita em nosso código de conduta geral.',
'',
'Contudo, a punição será definida em SILENCIAMENTO ou BANIMENTO, conforme o ato cometido pelo autor da infração.',
'',
'Tópico fechado e movido.',
'O tópico será movido para a aba "Denúncias resolvidas", vá ao meu fórum e você verá a área.'
].join('\n')
}, {
name: 'Denúncia negada',
level: 2,
color: '#660000',
content: [
'[b]Sua denúncia foi negada pois ocorreu algum dos motivos abaixo:[/b]',
'[list][*]O jogador não infringiu nenhuma regra;',
'[*]As provas estão editadas;',
'[*]Provas insuficientes;',
'[*]Acusado já punido.[/list]',
'',
'Tópico fechado e movido.',
'',
'O tópico será movido para a aba "Denúncias resolvidas", vá ao meu fórum e você verá a área.'
].join('\n')
}, {
name: 'Denúncia em análise',
level: 2,
color: '#0000FF',
content: [
'[b]Denúncia em análise[/b]',
'Sua denúncia foi adicionada em análise e, será analisada após um período ou repassada para outro membro da equipe.',
'',
'O tópico não será movido para lugar nenhum.'
].join('\n')
}, {
name: 'Pedido finalizado',
level: 2,
color: '#006600',
content: [
'[b]Pedido finalizado[/b]',
'Seu pedido foi finalizado pois o tempo de 5 dias já foi concluído ou porque foi criado outro pedido antes do tempo obrigatório.',
'',
'Tópico fechado e movido.',
'',
'O tópico será movido para a aba "Pedidos resolvidos", vá ao meu fórum e você verá a área.'
].join('\n')
}, {
name: 'Dúvida respondida',
level: 2,
color: '#006600',
content: [
'[b]Dúvida respondida[/b]',
'Sua dúvida foi respondida e dada como entendida por nossa equipe, contudo, caso tenha mais dúvidas sobre o caso, crie outro tópico na área dúvidas.',
'',
'Tópico fechado e movido.',
'',
'O tópico será movido para a aba "Dúvidas respondidas", vá ao meu fórum e você verá a área.',
'As demais opções da moderação não tem mensagem, somente realizam a função das "Ferramentas de Moderação", porém, de uma forma mais rápida.'
].join('\n')
}, {
name: 'Revisão aceita',
level: 1,
color: '#006600',
content: [
'[b]Revisão aceita[/b]',
'Sua revisão após uma averiguação da equipe foi constatada incorreta por nossa equipe. Nós pedimos perdão pelo caso e pela punição não legítima realizada por nossa equipe.',
'',
'Tópico fechado e movido.',
'',
'O tópico será movido para a aba "Revisões resolvidas", vá ao meu fórum e você verá a área.'
].join('\n')
}, {
name: 'Revisão negada',
level: 1,
color: '#660000',
content: [
'[b]Revisão negada[/b]',
'Sua revisão após uma averiguação da equipe foi constatada legítima e você não será despunido. Lamentamos, porém, o ato realizado é infração.',
'',
'Tópico fechado e movido.',
'',
'O tópico será movido para a aba "Revisões resolvidas", vá ao meu fórum e você verá a área.'
].join('\n')
}, {
name: 'Denúncia em análise',
level: 1,
color: '#006600',
content: [
'[b]Denúncia em análise[/b]',
'Sua revisão foi adicionada em análise e, será analisada após um período ou repassada para outro membro da equipe.',
'',
'O tópico não será movido para lugar nenhum.'
].join('\n')
}, {
name: 'Bug resolvido',
level: 1,
color: '#006600',
content: [
'[b]Bug resolvido[/b]',
'O bug relatado foi resolvido e não se encontra mais em nossa rede. Agradecemos.',
'',
'Tópico fechado e movido.',
'O tópico será movido para a aba "Bugs resolvidos", vá ao meu fórum e você verá a área.'
].join('\n')
}, {
name: 'Não é um bug',
level: 1,
color: '#006600',
content: [
'[b]Não é um bug[/b]',
'As informações relatadas não caracterizam BUG, contudo, não irá alterar nada em nosso servidor.',
'',
'Tópico fechado e movido.',
'O tópico será movido para a aba "Bugs resolvidos", vá ao meu fórum e você verá a área.'
].join('\n')
}, {
name: 'Bug repassado',
level: 1,
color: '#006600',
content: [
'[b]Bug repassado[/b]',
'O seu caso foi repassado para outro membro da equipe.',
'',
'O tópico não é movido.'
].join('\n')
}]
}];
$(function() {
if (_userdata.user_level !== 1 && _userdata.user_level !== 2) return;
if ($('.quick_reply').length) return;
$.each(list, function(index, item) {
if(!item.title || !item.messages) return;
$('<label>', {
class: 'mod-list'
}).css({
'display': 'flex',
'width': '100%',
'justify-content': 'flex-end'
}).append(
' <span class="form_title" style="margin: 1em;">' + item.title + '</span>' +
'<form name="form_data">' +
' <div class="quickmod-wrap form_laws">' +
'<select name="form_alerts" required></select>' +
'<a href="#mood_post" class="btn">Postar</a>' +
'</form>' +
'</div>').insertBefore('[id^="post-"].post-wrap:first');
$.each(item.messages, function(index, message) {
if (!message.content || !message.name || !message.color || !message.level) return;
if (_userdata.user_level !== message.level && message.level !== 2) return;
$('<option />')
.attr('data-message', '[color=' + message.color + ']' + message.content + '[/color]')
.append(message.name)
.appendTo('[name="form_alerts"]');
});
$('a[href="#mood_post"]').click(function(action) {
action.preventDefault();
$('a[href="#mood_post"]').attr('href', '').css({
'cursor': 'pointer',
'pointer-events': 'none'
});
var content = $('[name="form_alerts"] option:selected').prop('selected', true).attr('data-message');
$.post('/post', {
t: $(' #quick_reply [name="t"]').val(),
message: content,
mode: 'reply',
tid: $('[name="tid"]:first').val(),
post: 1,
}).done(function() {
alert('Postado com sucesso!');
}).fail(function() {
alert('Erro ao postado.');
});
});
});
$(window).resize(function() {
$('label[class="mod-list"]').attr('style', '');
});
});
}(jQuery));
Cordialmente,
pedxz.
Última edição por Pedxz em 09.09.19 0:08, editado 1 vez(es)
tikky- Admineiro
- Membro desde : 13/01/2017
Mensagens : 7964
Pontos : 9219
Re: Moderações automáticas
Olá,
Está exatamente do jeito que quero, o lugar e etc. Porém, as mensagens não postam. O tópico fecha sozinho, somente isso acontece.
Eu queria que você me desse o código que caso for ACEITA, será adicionado o prefixo ACEITA, caso for negado, será adicionado o prefixo NEGADA e caso ficar em análise, será adicionado o prefixo ANÁLISE.
O caso da mensagem não ir também.
Está exatamente do jeito que quero, o lugar e etc. Porém, as mensagens não postam. O tópico fecha sozinho, somente isso acontece.
Eu queria que você me desse o código que caso for ACEITA, será adicionado o prefixo ACEITA, caso for negado, será adicionado o prefixo NEGADA e caso ficar em análise, será adicionado o prefixo ANÁLISE.
O caso da mensagem não ir também.
Re: Moderações automáticas
O senhor já tem no seu fórum algum script que adicione o prefixo?Eu queria que você me desse o código que caso for ACEITA, será adicionado o prefixo ACEITA, caso for negado, será adicionado o prefixo NEGADA e caso ficar em análise, será adicionado o prefixo análise.
Entre no Painel de Controle > Fórum > Segurança, marque a opção: Desautorizar formulários não oficiais de postarem no fórum e enviar mensagens privadas como "Não".O caso da mensagem não ir também.
tikky- Admineiro
- Membro desde : 13/01/2017
Mensagens : 7964
Pontos : 9219
Re: Moderações automáticas
Mensagens foram, mas eu quero que tire a parte abaixo de Tópico fechado, que é aquele "tópico será movido pra blabla". Eu tinha um script de TAGS, eu tirei e somente as mensagens funcionaram.
Uma coisa também, reveja o código porque alguns motivos não bloqueiam o tópico.
Uma coisa também, reveja o código porque alguns motivos não bloqueiam o tópico.
Re: Moderações automáticas
Pedxz escreveu:Olá @oSantiagoo,
crie uma página JavaScript, com investimento nos tópicos, com o seguinte código:O código em cima só tem a listagem das mensagens de moderação e a sua postagem automática. Para mover automaticamente leia este tópico: Questão Resolvida. Qualquer dúvida diga.
- Código:
(function($) {
'use strict';
var list = [{
title: 'Ferramentas de Moderação',
messages: [{
name: 'Denúncia aceita',
level: 2, // 1 para administrador e 2 para moderador.
color: '#006600', // Cor do texto
content: [
'[b]Denúncia aceita e acusado imediatamente punido[/b]',
'Após uma análise do membro da equipe que está sob responsabilidade de sua denúncia, foi averiguado que o(a) jogador(a) estava infringindo alguma regra dita em nosso código de conduta geral.',
'',
'Contudo, a punição será definida em SILENCIAMENTO ou BANIMENTO, conforme o ato cometido pelo autor da infração.',
'',
'Tópico fechado e movido.',
'O tópico será movido para a aba "Denúncias resolvidas", vá ao meu fórum e você verá a área.'
].join('\n')
}, {
name: 'Denúncia negada',
level: 2,
color: '#660000',
content: [
'[b]Sua denúncia foi negada pois ocorreu algum dos motivos abaixo:[/b]',
'[list][*]O jogador não infringiu nenhuma regra;',
'[*]As provas estão editadas;',
'[*]Provas insuficientes;',
'[*]Acusado já punido.[/list]',
'',
'Tópico fechado e movido.',
'',
'O tópico será movido para a aba "Denúncias resolvidas", vá ao meu fórum e você verá a área.'
].join('\n')
}, {
name: 'Denúncia em análise',
level: 2,
color: '#0000FF',
content: [
'[b]Denúncia em análise[/b]',
'Sua denúncia foi adicionada em análise e, será analisada após um período ou repassada para outro membro da equipe.',
'',
'O tópico não será movido para lugar nenhum.'
].join('\n')
}, {
name: 'Pedido finalizado',
level: 2,
color: '#006600',
content: [
'[b]Pedido finalizado[/b]',
'Seu pedido foi finalizado pois o tempo de 5 dias já foi concluído ou porque foi criado outro pedido antes do tempo obrigatório.',
'',
'Tópico fechado e movido.',
'',
'O tópico será movido para a aba "Pedidos resolvidos", vá ao meu fórum e você verá a área.'
].join('\n')
}, {
name: 'Dúvida respondida',
level: 2,
color: '#006600',
content: [
'[b]Dúvida respondida[/b]',
'Sua dúvida foi respondida e dada como entendida por nossa equipe, contudo, caso tenha mais dúvidas sobre o caso, crie outro tópico na área dúvidas.',
'',
'Tópico fechado e movido.',
'',
'O tópico será movido para a aba "Dúvidas respondidas", vá ao meu fórum e você verá a área.',
'As demais opções da moderação não tem mensagem, somente realizam a função das "Ferramentas de Moderação", porém, de uma forma mais rápida.'
].join('\n')
}, {
name: 'Revisão aceita',
level: 1,
color: '#006600',
content: [
'[b]Revisão aceita[/b]',
'Sua revisão após uma averiguação da equipe foi constatada incorreta por nossa equipe. Nós pedimos perdão pelo caso e pela punição não legítima realizada por nossa equipe.',
'',
'Tópico fechado e movido.',
'',
'O tópico será movido para a aba "Revisões resolvidas", vá ao meu fórum e você verá a área.'
].join('\n')
}, {
name: 'Revisão negada',
level: 1,
color: '#660000',
content: [
'[b]Revisão negada[/b]',
'Sua revisão após uma averiguação da equipe foi constatada legítima e você não será despunido. Lamentamos, porém, o ato realizado é infração.',
'',
'Tópico fechado e movido.',
'',
'O tópico será movido para a aba "Revisões resolvidas", vá ao meu fórum e você verá a área.'
].join('\n')
}, {
name: 'Denúncia em análise',
level: 1,
color: '#006600',
content: [
'[b]Denúncia em análise[/b]',
'Sua revisão foi adicionada em análise e, será analisada após um período ou repassada para outro membro da equipe.',
'',
'O tópico não será movido para lugar nenhum.'
].join('\n')
}, {
name: 'Bug resolvido',
level: 1,
color: '#006600',
content: [
'[b]Bug resolvido[/b]',
'O bug relatado foi resolvido e não se encontra mais em nossa rede. Agradecemos.',
'',
'Tópico fechado e movido.',
'O tópico será movido para a aba "Bugs resolvidos", vá ao meu fórum e você verá a área.'
].join('\n')
}, {
name: 'Não é um bug',
level: 1,
color: '#006600',
content: [
'[b]Não é um bug[/b]',
'As informações relatadas não caracterizam BUG, contudo, não irá alterar nada em nosso servidor.',
'',
'Tópico fechado e movido.',
'O tópico será movido para a aba "Bugs resolvidos", vá ao meu fórum e você verá a área.'
].join('\n')
}, {
name: 'Bug repassado',
level: 1,
color: '#006600',
content: [
'[b]Bug repassado[/b]',
'O seu caso foi repassado para outro membro da equipe.',
'',
'O tópico não é movido.'
].join('\n')
}]
}];
$(function() {
if (_userdata.user_level !== 1 && _userdata.user_level !== 2) return;
if ($('.quick_reply').length) return;
$.each(list, function(index, item) {
if(!item.title || !item.messages) return;
$('<label>', {
class: 'mod-list'
}).css({
'display': 'flex',
'width': '100%',
'justify-content': 'flex-end'
}).append(
' <span class="form_title" style="margin: 1em;">' + item.title + '</span>' +
'<form name="form_data">' +
' <div class="quickmod-wrap form_laws">' +
'<select name="form_alerts" required></select>' +
'<a href="#mood_post" class="btn">Postar</a>' +
'</form>' +
'</div>').insertBefore('[id^="post-"].post-wrap:first');
$.each(item.messages, function(index, message) {
if (!message.content || !message.name || !message.color || !message.level) return;
if (_userdata.user_level !== message.level && message.level !== 2) return;
$('<option />')
.attr('data-message', '[color=' + message.color + ']' + message.content + '[/color]')
.append(message.name)
.appendTo('[name="form_alerts"]');
});
$('a[href="#mood_post"]').click(function(action) {
action.preventDefault();
$('a[href="#mood_post"]').attr('href', '').css({
'cursor': 'pointer',
'pointer-events': 'none'
});
var content = $('[name="form_alerts"] option:selected').prop('selected', true).attr('data-message');
setTimeout(function() {
$.post('/post', {
t: $(' #quick_reply [name="t"]').val(),
message: content,
mode: 'reply',
tid: $('[name="tid"]:first').val(),
post: 1,
}).done(function() {
alert('Postado com sucesso!');
}).fail(function() {
alert('Erro ao postado.');
});
}, 100);
});
});
$(window).resize(function() {
$('label[class="mod-list"]').attr('style', '');
});
});
}(jQuery));
Cordialmente,
pedxz.
@pedxz, bom código! Só fiquei na dúvida: qual a necessidade do `setTimeout` na linha 181? Não seria desnecessário adicionar um tempo de espera de 100 milissegundos a mais?
Re: Moderações automáticas
oSantiagoo escreveu:Up!!!!
Atenção!Você não pode postar mensagens consecutivas ou UP's antes de se completarem 24 horas desde a sua última mensagem em um tópico. Por este motivo, pedimos que leia as regras do Setor de Suporte e as regras do Fórum dos Fóruns para não cometer novos erros. |
Volte a colocar o script das TAGS nos tópicos, se faz favor.
Convidado- Convidado
Re: Moderações automáticas
Não tem como adicionar tags automáticas nos tópicos da opção escolhida?
Ex:
Denúncia aceita: prefixo automático ACEITA
Denúncia negada: prefixo automática NEGADA
Denúncia em análise: prefixo automático EM ANÁLISE
Tudo que tiver motivo ACEITA recebe o prefixo ACEITA, tudo que tiver motivo NEGADA recebe o prefixo NEGADA e tudo que tiver motivo EM ANÁLISE recebe o prefixo EM ANÁLISE.
Ex:
Denúncia aceita: prefixo automático ACEITA
Denúncia negada: prefixo automática NEGADA
Denúncia em análise: prefixo automático EM ANÁLISE
Tudo que tiver motivo ACEITA recebe o prefixo ACEITA, tudo que tiver motivo NEGADA recebe o prefixo NEGADA e tudo que tiver motivo EM ANÁLISE recebe o prefixo EM ANÁLISE.
Re: Moderações automáticas
Para fazer com que edite o título do tópico é muito complicado; o senhor pode usar [TUTORIAL] Alterar o ícone do tópico em modo ajax, mas deverá ter [FAQ] Adicionar ícones nas mensagens.oSantiagoo escreveu:Não tem como adicionar tags automáticas nos tópicos da opção escolhida?
Ex:
Denúncia aceita: prefixo automático ACEITA
Denúncia negada: prefixo automática NEGADA
Denúncia em análise: prefixo automático EM ANÁLISE
Tudo que tiver motivo ACEITA recebe o prefixo ACEITA, tudo que tiver motivo NEGADA recebe o prefixo NEGADA e tudo que tiver motivo EM ANÁLISE recebe o prefixo EM ANÁLISE.
tikky- Admineiro
- Membro desde : 13/01/2017
Mensagens : 7964
Pontos : 9219
Re: Moderações automáticas
Não deu, os ícones não vão. Enfim, eu posso até deixar eles editarem a mensagem, mas eu quero que tenha tipo "1" somente quem tem a permissão de moderar aquele fórum tem e "2" somente quem é Administrador.
Código que eu utilizo:
E o que aparece para clicar e ver as opções de prefixo do tópico, a mensagem coisa de cima somente mais bonito, quero que só quem irá moderar aquele fórum tenha permissão de ver e a mesma coisa, dar aquela permissão "1" para mods e "2" para admin.
Código que eu utilizo:
- Código:
/**
*! Criar tags no título dos tópicos com painel de seleção.
*
* @author Luiz~
* @see <a href="http://ajuda.forumeiros.com">Fórum dos Fóruns</a>
* @licence MIT
*/
(function ($) {
'use strict';
var tags = [{
tag: 'Aceita',
background: 'green'
}, {
tag: 'Negada',
background: 'red'
}, {
tag: 'Resolvida',
background: 'lightgreen'
}, {
tag: 'Análise',
background: 'orange'
}, {
tag: 'Finalizado',
background: 'lightgreen'
}, {
tag: 'Aberto',
background: 'green'
}, {
tag: 'Fechado',
background: 'red'
}, {
tag: 'Destaque',
background: 'blue'
}, {
}];
$(function () {
var counter = 1;
/**
* Parte 1.
* Aqui nós criamos o seletor de tags acima do editor:
*/
if (location.pathname === '/post' && $('form input[name="subject"]').length > 0) {
// Criar a zona para colocar-se os inputs:
var $textarea = $('#textarea_content');
var $title = $('form [name="subject"]');
var $zone = $([
'<div class="fa-icon-selector">',
' <div class="fa-icon-selector-inner">',
' </div>',
'</div>',
].join('\n'))
.prependTo($textarea)
;
// Criar-se os inputs dentro da zona criada anteriormente:
var $appendZone = $zone.find('.fa-icon-selector-inner');
$.each(tags, function (index, tag) {
$([
'<div class="fa-tag-form-group">',
' <input type="radio" class="select-tag-input" name="select-tag-radio" id="tag-input-' + counter + '" data-tag="' + tag.tag + '" />',
' <label for="tag-input-' + counter + '" class="fa-tag-label">' + tag.tag + '</label>',
'</div>',
].join('\n'))
.appendTo($appendZone)
;
counter++;
});
// Função para dar focus num input X caso este seja a tag dum tópico X:
if (/^\[.*\]/gi.test($title.val())) {
$title.val().replace(/^\[(.*)\]/gi, function (find, match) {
$('[data-tag="' + match + '"]').prop('checked', true);
});
}
// Trigger para a adição/edição do prefixo no input de título:
$zone
.find('input.select-tag-input')
.on('focus', function () {
setPrefix($(this).attr('data-tag'));
})
;
// Função para setar/editar o prefixo:
var setPrefix = function (prefix) {
if (/^\[.*\]/gi.test($title.val())) {
$title.val($title.val().replace(/^\[.*\]/gi, function () {
return '[' + prefix + ']';
}));
return;
}
$title.val('[' + prefix + '] ' + $title.val().trim());
};
}
/**
* Parte 2.
* Aqui nós iremos substituir a tag entre os colchetes por uma tag real:
*/
var $link = $('a[href^="/t"]');
$link.each(function () {
var $this = $(this);
$.each(tags, function (index, tag) {
var regex = new RegExp ('\\[' + tag.tag + '\\]', 'gim');
var text = $this.text();
if (!regex.test(text)) {
return;
}
$this.addClass('fa-tagged-link');
$this.text(text.trim().replace(regex, ''));
$this.prepend('<span class="fa-topic-tag" style="background-color: ' + tag.background + ';">' + tag.tag + '</span>');
});
});
/**
* Parte 3:
* Estilos.
*/
var styles = [
'.fa-icon-selector-inner strong {',
' display: block;',
' margin-bottom: 4px;',
' font-weight: bold;',
'}',
'',
'.fa-icon-selector .fa-tag-form-group {',
' display: inline-block;',
' margin-right: 15px;',
' margin-top: 4px;',
'}',
'',
'.fa-tagged-link {',
' text-decoration: none !important;',
'}',
'',
'.fa-tagged-link:hover {',
' color: #f73 !important;',
' text-decoration: none !important;',
'}',
'',
'span.fa-topic-tag {',
' color: #fff;',
' background-color: #39c;',
' padding: 1px 5px;',
' border-radius: 3px;',
' margin-right: 4px;',
' display: inline;',
' text-decoration: none!important',
'}'
].join('\n');
$(['<style type="text/css">', styles, '</style>'].join('\n')).appendTo('head');
});
}(jQuery));
E o que aparece para clicar e ver as opções de prefixo do tópico, a mensagem coisa de cima somente mais bonito, quero que só quem irá moderar aquele fórum tenha permissão de ver e a mesma coisa, dar aquela permissão "1" para mods e "2" para admin.
- Código:
function tagprefixo() {
jQuery('input[name=subject]').val(jQuery('select[name=tags4]').val() + jQuery('input[name=subject]').val());
};
jQuery(document).ready(function () {
var sHtmlPrefx =
'<select name="tags4" onchange="tagprefixo()">' +
'<option value="">' +
'Clique aqui para adicionar um prefixo' +
'</option>' +
'<option value="[Aceita]">' +
'Adicionar prefixo ACEITA' +
'</option>' +
'<option value="[Negada]">' +
'Adicionar prefixo NEGADA' +
'</option>' +
'<option value="[Em análise]">' +
'Adicionar prefixo ANÁLISE' +
'</option>' +
'<option value="[Finalizado]">' +
'Adicionar prefixo FINALIZADO' +
'</option>' +
'<option value="[Aberto]">' +
'Deixar tópico como ABERTO' +
'</option>' +
'<option value="[Fechado]">' +
'Deixar tópico como FECHADO' +
'</option>' +
'<option value="[Destaque]">' +
'Destacar tópico' +
'</option>' +
'</option>' +
'</select> <img src="https://2img.net/i/fa/wysiwyg/separator.png" style="vertical-align:middle"> ';
try {
jQuery('input[name=subject]').after(sHtmlPrefx);
var mode = jQuery('input[value=reply]').val();
if (mode == 'reply') {
jQuery('select[name=tags4]').css('display', 'none');
} else if (mode == 'quote') {
jQuery('select[name=tags4]').css('display', 'none');
}
} catch (e) {
if (typeof (console) != 'undefined') {
console.error(e)
}
}
});
Re: Moderações automáticas
Mude os códigos para os seguintes:
- Código:
/**
*! Criar tags no título dos tópicos com painel de seleção.
*
* @author Luiz~
* @see <a href="http://ajuda.forumeiros.com">Fórum dos Fóruns</a>
* @licence MIT
*/
(function ($) {
'use strict';
var tags = [{
tag: 'Aceita',
background: 'green'
}, {
tag: 'Negada',
background: 'red'
}, {
tag: 'Resolvida',
background: 'lightgreen'
}, {
tag: 'Análise',
background: 'orange'
}, {
tag: 'Finalizado',
background: 'lightgreen'
}, {
tag: 'Aberto',
background: 'green'
}, {
tag: 'Fechado',
background: 'red'
}, {
tag: 'Destaque',
background: 'blue'
}, {
}];
$(function () {
var counter = 1;
/**
* Parte 1.
* Aqui nós criamos o seletor de tags acima do editor:
*/
if (location.pathname === '/post' && $('form input[name="subject"]').length > 0) {
if (_userdata.user_level !== 2 && _userdata.user_level !== 1) {
return;
}
// Criar a zona para colocar-se os inputs:
var $textarea = $('#textarea_content');
var $title = $('form [name="subject"]');
var $zone = $([
'<div class="fa-icon-selector">',
' <div class="fa-icon-selector-inner">',
' </div>',
'</div>',
].join('\n'))
.prependTo($textarea)
;
// Criar-se os inputs dentro da zona criada anteriormente:
var $appendZone = $zone.find('.fa-icon-selector-inner');
$.each(tags, function (index, tag) {
$([
'<div class="fa-tag-form-group">',
' <input type="radio" class="select-tag-input" name="select-tag-radio" id="tag-input-' + counter + '" data-tag="' + tag.tag + '" />',
' <label for="tag-input-' + counter + '" class="fa-tag-label">' + tag.tag + '</label>',
'</div>',
].join('\n'))
.appendTo($appendZone)
;
counter++;
});
// Função para dar focus num input X caso este seja a tag dum tópico X:
if (/^\[.*\]/gi.test($title.val())) {
$title.val().replace(/^\[(.*)\]/gi, function (find, match) {
$('[data-tag="' + match + '"]').prop('checked', true);
});
}
// Trigger para a adição/edição do prefixo no input de título:
$zone
.find('input.select-tag-input')
.on('focus', function () {
setPrefix($(this).attr('data-tag'));
})
;
// Função para setar/editar o prefixo:
var setPrefix = function (prefix) {
if (/^\[.*\]/gi.test($title.val())) {
$title.val($title.val().replace(/^\[.*\]/gi, function () {
return '[' + prefix + ']';
}));
return;
}
$title.val('[' + prefix + '] ' + $title.val().trim());
};
}
/**
* Parte 2.
* Aqui nós iremos substituir a tag entre os colchetes por uma tag real:
*/
var $link = $('a[href^="/t"]');
$link.each(function () {
var $this = $(this);
$.each(tags, function (index, tag) {
var regex = new RegExp ('\\[' + tag.tag + '\\]', 'gim');
var text = $this.text();
if (!regex.test(text)) {
return;
}
$this.addClass('fa-tagged-link');
$this.text(text.trim().replace(regex, ''));
$this.prepend('<span class="fa-topic-tag" style="background-color: ' + tag.background + ';">' + tag.tag + '</span>');
});
});
/**
* Parte 3:
* Estilos.
*/
var styles = [
'.fa-icon-selector-inner strong {',
' display: block;',
' margin-bottom: 4px;',
' font-weight: bold;',
'}',
'',
'.fa-icon-selector .fa-tag-form-group {',
' display: inline-block;',
' margin-right: 15px;',
' margin-top: 4px;',
'}',
'',
'.fa-tagged-link {',
' text-decoration: none !important;',
'}',
'',
'.fa-tagged-link:hover {',
' color: #f73 !important;',
' text-decoration: none !important;',
'}',
'',
'span.fa-topic-tag {',
' color: #fff;',
' background-color: #39c;',
' padding: 1px 5px;',
' border-radius: 3px;',
' margin-right: 4px;',
' display: inline;',
' text-decoration: none!important',
'}'
].join('\n');
$(['<style type="text/css">', styles, '</style>'].join('\n')).appendTo('head');
});
}(jQuery));
- Código:
function tagprefixo() {
jQuery('input[name=subject]').val(jQuery('select[name=tags4]').val() + jQuery('input[name=subject]').val());
}
jQuery(document).ready(function () {
if (_userdata.user_level !== 2 && _userdata.user_level !== 1) {
return;
}
var sHtmlPrefx =
'<select name="tags4" onchange="tagprefixo()">' +
'<option value="">' +
'Clique aqui para adicionar um prefixo' +
'</option>' +
'<option value="[Aceita]">' +
'Adicionar prefixo ACEITA' +
'</option>' +
'<option value="[Negada]">' +
'Adicionar prefixo NEGADA' +
'</option>' +
'<option value="[Em análise]">' +
'Adicionar prefixo ANÁLISE' +
'</option>' +
'<option value="[Finalizado]">' +
'Adicionar prefixo FINALIZADO' +
'</option>' +
'<option value="[Aberto]">' +
'Deixar tópico como ABERTO' +
'</option>' +
'<option value="[Fechado]">' +
'Deixar tópico como FECHADO' +
'</option>' +
'<option value="[Destaque]">' +
'Destacar tópico' +
'</option>' +
'</option>' +
'</select> <img src="https://2img.net/i/fa/wysiwyg/separator.png" style="vertical-align:middle"> ';
try {
jQuery('input[name=subject]').after(sHtmlPrefx);
var mode = jQuery('input[value=reply]').val();
if (mode == 'reply') {
jQuery('select[name=tags4]').css('display', 'none');
} else if (mode == 'quote') {
jQuery('select[name=tags4]').css('display', 'none');
}
} catch (e) {
if (typeof (console) != 'undefined') {
console.error(e);
}
}
});
tikky- Admineiro
- Membro desde : 13/01/2017
Mensagens : 7964
Pontos : 9219
Re: Moderações automáticas
Mudei o código e parou de funcionar.
Re: Moderações automáticas
Deu certo, irei criar um outro depois para outro tema, obrigado equipe.
Re: Moderações automáticas
Atenção!Você não pode postar mensagens consecutivas ou UP's antes de se completarem 24 horas desde a sua última mensagem em um tópico. Por este motivo, pedimos que leia as regras do Setor de Suporte e as regras do Fórum dos Fóruns para não cometer novos erros. |
Questão resolvidaEsta questão foi dada como resolvida pelo seu autor, e por esse motivo será marcada como resolvida e movida para o arquivo de questões resolvidas desta área. |
Convidado- Convidado
Tópicos semelhantes
» Código moderações automáticas
» Formatações automáticas
» Mensagens automáticas
» Mensagens Automaticas?
» Mensagens Automaticas
» Formatações automáticas
» Mensagens automáticas
» Mensagens Automaticas?
» Mensagens Automaticas
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