Imagens moderativas

2 participantes

Ir para baixo

Tópico resolvido Imagens moderativas

Mensagem por Alex 08.10.17 18:29

Detalhes da questão


Endereço do fórum: https://www.mundogoph.org/
Versão do fórum: ModernBB

Descrição


Olá!

Então, eu venho com um problema que vi justo agora. Eu possuo um código que coloca imagens moderativas nos fóruns para que os moderadores/administradores não precisem de ficar copiando e colando códigos. O que eu quero é que este botão (aplicado no SCEditor) apareça apenas num tópico para moderadores e administradores.

É claro que se for complicado fazer por tópico, pode se aplicar por fórum.

O código:
Código:
(function ($, css) {
  'use strict';
 
  var buttons = [
    {
      label: 'TAG Aprovada',
      img: 'https://i.imgur.com/5AstTIG.png'
    }, {
      label: 'TAG Recusada',
      img: 'https://i.imgur.com/eiEzBhu.png'
    }
  ];
 
  $(window).on('load', function () {
 
    if (_userdata.user_level !== 1 && _userdata.user_level !== 2) {
      return;
    }
 
    var $textarea = $('#text_editor_textarea');
 
    if (!$textarea) {
      return;
    }
 
    var $sceditor = $textarea.sceditor('instance');
   
    $('<a>', {
      'class': 'sceditor-button sceditor-button-moderacao',
      'unselectable': 'on',
      'title': 'Moderação de TAGs',
      'href': 'javascript:void(0);',
      'html': $('<div>', {
        'unselectable': 'on',
        'text': 'Moderação de TAGs',
        'style': [
          'opacity: initial !important;',
          'filter: none !important;',
          'background-image: url(https://i.imgur.com/LL9WnmW.gif) !important;'
        ].join(' ')
      }).prop('outerHTML')
    })
      .appendTo($('.sceditor-group').last())
        .on('click', function (event) {
 
          event.preventDefault();
          event.stopPropagation();
 
          if ($dropdown.css('display') === 'block') {
            $dropdown.hide();
            return;
          }
 
          var $this = $(this);
 
          $dropdown
            .css({
              display: 'block',
              position: 'absolute',
              top: $this.offset().top + 'px',
              left: $this.offset().left + 'px',
              marginTop: '27px'
            })
          ;
         
        })
    ;
   
    var $dropdown = $('<div>', {
      'class': 'sceditor-dropdown sceditor-dropdown-moderacao',
    })
      .hide()
        .appendTo('body')
          .on('click', function (event) {
            event.stopPropagation();
          })
    ;
   
    $.each(buttons, function () {
      var button = this;
 
      $('<a>', {
        'href': 'javascript:void(0);',
        'text': button.label,
        'data-text': '[hr] [img]' + button.img + '[/img]',
        'class': 'sceditor-dropdown-item'
      })
        .appendTo($dropdown)
          .on('click', function () {
            $sceditor.insertText($(this).attr('data-text'));
            $dropdown.hide();
          })
      ;
    });
 
    $(document).on('click', function () {
      $dropdown.hide();
    });
 
    $('<style>', { 'text': css.join('\n') }).appendTo('head');
  });
}(jQuery, [
  '.sceditor-dropdown-moderacao {',
  '  padding: 0px !important;',
  '  max-height: 123px;',
  '  overflow-y: scroll;',
  '}',
  '',
  '.sceditor-dropdown-moderacao > .sceditor-dropdown-item {',
  '  display: block;',
  '  padding: 10px;',
  '  border-bottom: solid 1px #ddd;',
  '}'
]));

Agradeço a todos.
Até! o/
Alex
Alex
Membro

Membro desde : 09/09/2016
Mensagens : 651
Pontos : 883

https://policiadop.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Luiz 08.10.17 18:32

Qual o ID do tópico?
Luiz
Luiz
Membro Entusiasta

Membro desde : 23/04/2016
Mensagens : 6645
Pontos : 7451

https://luizfelipe.dev

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Alex 08.10.17 18:34

Olá Luiz.

O ID do tópico é o 44.

Obrigado.
Alex
Alex
Membro

Membro desde : 09/09/2016
Mensagens : 651
Pontos : 883

https://policiadop.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Luiz 08.10.17 18:46

Você deseja que o código funcione somente no tópico cujo ID é 44, correto?
Luiz
Luiz
Membro Entusiasta

Membro desde : 23/04/2016
Mensagens : 6645
Pontos : 7451

https://luizfelipe.dev

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Alex 08.10.17 19:15

Isso mesmo!

Se for possível, claro.

Obrigado.
Alex
Alex
Membro

Membro desde : 09/09/2016
Mensagens : 651
Pontos : 883

https://policiadop.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Luiz 08.10.17 19:26

Tente trocar o código por este:
Código:
(function ($, css) {
  'use strict';

  var exclude = 44;
 
  var buttons = [
    {
      label: 'TAG Aprovada',
      img: 'https://i.imgur.com/5AstTIG.png'
    }, {
      label: 'TAG Recusada',
      img: 'https://i.imgur.com/eiEzBhu.png'
    }
  ];
 
  $(window).on('load', function () {

    if (location.pathname.indexOf('?t' + exclude) === -1 && location.pathname.indexOf('/t' + exclude) === -1) {
      return false;
    }
 
    if (_userdata.user_level !== 1 && _userdata.user_level !== 2) {
      return;
    }
 
    var $textarea = $('#text_editor_textarea');
 
    if (!$textarea) {
      return;
    }
 
    var $sceditor = $textarea.sceditor('instance');
   
    $('<a>', {
      'class': 'sceditor-button sceditor-button-moderacao',
      'unselectable': 'on',
      'title': 'Moderação de TAGs',
      'href': 'javascript:void(0);',
      'html': $('<div>', {
        'unselectable': 'on',
        'text': 'Moderação de TAGs',
        'style': [
          'opacity: initial !important;',
          'filter: none !important;',
          'background-image: url(https://i.imgur.com/LL9WnmW.gif) !important;'
        ].join(' ')
      }).prop('outerHTML')
    })
      .appendTo($('.sceditor-group').last())
        .on('click', function (event) {
 
          event.preventDefault();
          event.stopPropagation();
 
          if ($dropdown.css('display') === 'block') {
            $dropdown.hide();
            return;
          }
 
          var $this = $(this);
 
          $dropdown
            .css({
              display: 'block',
              position: 'absolute',
              top: $this.offset().top + 'px',
              left: $this.offset().left + 'px',
              marginTop: '27px'
            })
          ;
         
        })
    ;
   
    var $dropdown = $('<div>', {
      'class': 'sceditor-dropdown sceditor-dropdown-moderacao',
    })
      .hide()
        .appendTo('body')
          .on('click', function (event) {
            event.stopPropagation();
          })
    ;
   
    $.each(buttons, function () {
      var button = this;
 
      $('<a>', {
        'href': 'javascript:void(0);',
        'text': button.label,
        'data-text': '[hr] [img]' + button.img + '[/img]',
        'class': 'sceditor-dropdown-item'
      })
        .appendTo($dropdown)
          .on('click', function () {
            $sceditor.insertText($(this).attr('data-text'));
            $dropdown.hide();
          })
      ;
    });
 
    $(document).on('click', function () {
      $dropdown.hide();
    });
 
    $('<style>', { 'text': css.join('\n') }).appendTo('head');
  });
}(jQuery, [
  '.sceditor-dropdown-moderacao {',
  '  padding: 0px !important;',
  '  max-height: 123px;',
  '  overflow-y: scroll;',
  '}',
  '',
  '.sceditor-dropdown-moderacao > .sceditor-dropdown-item {',
  '  display: block;',
  '  padding: 10px;',
  '  border-bottom: solid 1px #ddd;',
  '}'
]));

o/
Luiz
Luiz
Membro Entusiasta

Membro desde : 23/04/2016
Mensagens : 6645
Pontos : 7451

https://luizfelipe.dev

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Alex 08.10.17 19:36

Olá Luiz.

Infelizmente o botão desapareceu em todos os tópicos, incluindo o tópico 44. Pensativo

Até
Alex
Alex
Membro

Membro desde : 09/09/2016
Mensagens : 651
Pontos : 883

https://policiadop.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Luiz 08.10.17 19:38

Tente agora:
Código:
(function ($, css) {
  'use strict';
 
  var exclude = /\/t44.*|\/post\?t=44/gi;
 
  var buttons = [
    {
      label: 'TAG Aprovada',
      img: 'https://i.imgur.com/5AstTIG.png'
    }, {
      label: 'TAG Recusada',
      img: 'https://i.imgur.com/eiEzBhu.png'
    }
  ];
 
  $(window).on('load', function () {
 
    if (!exclude.test(location.pathname)) {
      return false;
    }
 
    if (_userdata.user_level !== 1 && _userdata.user_level !== 2) {
      return;
    }
 
    var $textarea = $('#text_editor_textarea');
 
    if (!$textarea) {
      return;
    }
 
    var $sceditor = $textarea.sceditor('instance');
   
    $('<a>', {
      'class': 'sceditor-button sceditor-button-moderacao',
      'unselectable': 'on',
      'title': 'Moderação de TAGs',
      'href': 'javascript:void(0);',
      'html': $('<div>', {
        'unselectable': 'on',
        'text': 'Moderação de TAGs',
        'style': [
          'opacity: initial !important;',
          'filter: none !important;',
          'background-image: url(https://i.imgur.com/LL9WnmW.gif) !important;'
        ].join(' ')
      }).prop('outerHTML')
    })
      .appendTo($('.sceditor-group').last())
        .on('click', function (event) {
 
          event.preventDefault();
          event.stopPropagation();
 
          if ($dropdown.css('display') === 'block') {
            $dropdown.hide();
            return;
          }
 
          var $this = $(this);
 
          $dropdown
            .css({
              display: 'block',
              position: 'absolute',
              top: $this.offset().top + 'px',
              left: $this.offset().left + 'px',
              marginTop: '27px'
            })
          ;
         
        })
    ;
   
    var $dropdown = $('<div>', {
      'class': 'sceditor-dropdown sceditor-dropdown-moderacao',
    })
      .hide()
        .appendTo('body')
          .on('click', function (event) {
            event.stopPropagation();
          })
    ;
   
    $.each(buttons, function () {
      var button = this;
 
      $('<a>', {
        'href': 'javascript:void(0);',
        'text': button.label,
        'data-text': '[hr] [img]' + button.img + '[/img]',
        'class': 'sceditor-dropdown-item'
      })
        .appendTo($dropdown)
          .on('click', function () {
            $sceditor.insertText($(this).attr('data-text'));
            $dropdown.hide();
          })
      ;
    });
 
    $(document).on('click', function () {
      $dropdown.hide();
    });
 
    $('<style>', { 'text': css.join('\n') }).appendTo('head');
  });
}(jQuery, [
  '.sceditor-dropdown-moderacao {',
  '  padding: 0px !important;',
  '  max-height: 123px;',
  '  overflow-y: scroll;',
  '}',
  '',
  '.sceditor-dropdown-moderacao > .sceditor-dropdown-item {',
  '  display: block;',
  '  padding: 10px;',
  '  border-bottom: solid 1px #ddd;',
  '}'
]));
Luiz
Luiz
Membro Entusiasta

Membro desde : 23/04/2016
Mensagens : 6645
Pontos : 7451

https://luizfelipe.dev

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Alex 08.10.17 19:40

Olá Luiz.

Continua igual, infelizmente.

Até.
Alex
Alex
Membro

Membro desde : 09/09/2016
Mensagens : 651
Pontos : 883

https://policiadop.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Luiz 08.10.17 19:56

Perdão, tinha deixado passar um errinho. Envergonhado
Troque por:
Código:
(function ($, css) {
  'use strict';

  var exclude = 44;
 
  var buttons = [
    {
      label: 'TAG Aprovada',
      img: 'https://i.imgur.com/5AstTIG.png'
    }, {
      label: 'TAG Recusada',
      img: 'https://i.imgur.com/eiEzBhu.png'
    }
  ];
 
  $(window).on('load', function () {
 
    if (
      location.href.indexOf('/t' + exclude) === -1 &&
      location.href.indexOf('/post?t=' + exclude) === -1
    ) {
      return;
    }
 
    if (_userdata.user_level !== 1 && _userdata.user_level !== 2) {
      return;
    }
 
    var $textarea = $('#text_editor_textarea');
 
    if (!$textarea) {
      return;
    }
 
    var $sceditor = $textarea.sceditor('instance');
   
    $('<a>', {
      'class': 'sceditor-button sceditor-button-moderacao',
      'unselectable': 'on',
      'title': 'Moderação de TAGs',
      'href': 'javascript:void(0);',
      'html': $('<div>', {
        'unselectable': 'on',
        'text': 'Moderação de TAGs',
        'style': [
          'opacity: initial !important;',
          'filter: none !important;',
          'background-image: url(https://i.imgur.com/LL9WnmW.gif) !important;'
        ].join(' ')
      }).prop('outerHTML')
    })
      .appendTo($('.sceditor-group').last())
        .on('click', function (event) {
 
          event.preventDefault();
          event.stopPropagation();
 
          if ($dropdown.css('display') === 'block') {
            $dropdown.hide();
            return;
          }
 
          var $this = $(this);
 
          $dropdown
            .css({
              display: 'block',
              position: 'absolute',
              top: $this.offset().top + 'px',
              left: $this.offset().left + 'px',
              marginTop: '27px'
            })
          ;
         
        })
    ;
   
    var $dropdown = $('<div>', {
      'class': 'sceditor-dropdown sceditor-dropdown-moderacao',
    })
      .hide()
        .appendTo('body')
          .on('click', function (event) {
            event.stopPropagation();
          })
    ;
   
    $.each(buttons, function () {
      var button = this;
 
      $('<a>', {
        'href': 'javascript:void(0);',
        'text': button.label,
        'data-text': '[hr] [img]' + button.img + '[/img]',
        'class': 'sceditor-dropdown-item'
      })
        .appendTo($dropdown)
          .on('click', function () {
            $sceditor.insertText($(this).attr('data-text'));
            $dropdown.hide();
          })
      ;
    });
 
    $(document).on('click', function () {
      $dropdown.hide();
    });
 
    $('<style>', { 'text': css.join('\n') }).appendTo('head');
  });
}(jQuery, [
  '.sceditor-dropdown-moderacao {',
  '  padding: 0px !important;',
  '  max-height: 123px;',
  '  overflow-y: scroll;',
  '}',
  '',
  '.sceditor-dropdown-moderacao > .sceditor-dropdown-item {',
  '  display: block;',
  '  padding: 10px;',
  '  border-bottom: solid 1px #ddd;',
  '}'
]));

o/
Luiz
Luiz
Membro Entusiasta

Membro desde : 23/04/2016
Mensagens : 6645
Pontos : 7451

https://luizfelipe.dev

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Alex 08.10.17 20:01

Oi novamente.

Infelizmente continua sem aparecer. Louco

Até Eu amo você
Alex
Alex
Membro

Membro desde : 09/09/2016
Mensagens : 651
Pontos : 883

https://policiadop.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Luiz 08.10.17 20:08

Eu testei em meu fórum e funcionou perfeitamente.
Precisarei de uma conta de testes em seu fórum. o/
Luiz
Luiz
Membro Entusiasta

Membro desde : 23/04/2016
Mensagens : 6645
Pontos : 7451

https://luizfelipe.dev

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Alex 08.10.17 20:09

Olá.

Com certeza. Irei passar tudo por MP.

Obrigado.
Alex
Alex
Membro

Membro desde : 09/09/2016
Mensagens : 651
Pontos : 883

https://policiadop.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Luiz 08.10.17 20:16

Eu fui no tópico cujo ID é 44 mas:

  • Não achei a caixa de resposta rápida;
  • Ao clicar em responder, sou redirecionado para um formulário de postagens.
O ID do tópico é 44 mesmo? o/
Luiz
Luiz
Membro Entusiasta

Membro desde : 23/04/2016
Mensagens : 6645
Pontos : 7451

https://luizfelipe.dev

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Alex 08.10.17 20:21

Ah kkkk
É suposto isso mesmo, você deve editar uma mensagem do tópico mesmo. É desta forma que fazemos.

Deveria ter avisado. Sorry Irritado
Alex
Alex
Membro

Membro desde : 09/09/2016
Mensagens : 651
Pontos : 883

https://policiadop.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Luiz 08.10.17 20:25

Nesse caso não é possível, tendo em vista que não temos nenhum parâmetro de tópico:

  1. Nem na URL (veja);
  2. Nem como input's (veja).
Poderíamos fazer com cookies, mas o resultado não ficaria tão bom, além de ser complicado de fazê-lo. Triste
Luiz
Luiz
Membro Entusiasta

Membro desde : 23/04/2016
Mensagens : 6645
Pontos : 7451

https://luizfelipe.dev

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Alex 08.10.17 20:48

Ah. Que pena.

Deixa estar então kkkk obrigado por teres me tirado esse dilema Rosa

Podes fechar hehe
Alex
Alex
Membro

Membro desde : 09/09/2016
Mensagens : 651
Pontos : 883

https://policiadop.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Imagens moderativas

Mensagem por Luiz 08.10.17 20:49

o/

Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada.
Tópico marcado como Resolvido e movido para Questões resolvidas.
Luiz
Luiz
Membro Entusiasta

Membro desde : 23/04/2016
Mensagens : 6645
Pontos : 7451

https://luizfelipe.dev

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos