Botões de sinalização

2 participantes

Ir para baixo

Tópico resolvido Botões de sinalização

Mensagem por Alex 02.07.17 11:16

Detalhes da questão


Endereço do fórum: https://mundogoph.forumeiros.com
Versão do fórum: ModernBB

Descrição


Bom dia a todos.

Estava observando o tópico de botões "resolvido" (Clique aqui), sendo que no meu caso, seria para outras funções. Bom, eu testei, e tinha uma parte que era para configurar os subfóruns que a gente queria que os botões aparecessem, pela lógica, se eu quisesse em TODOS os subfóruns e tópicos do fórum, não colocaria nada, no entanto, isso não acontece. Os botões simplesmente não aparecem em lado nenhum. Teria como colocar para todos? O código é o mesmo que está no fórum porque só testei, mas aqui vai.

Código:
(function($) {
  'use strict';
 
  var config = {
      icons: [
        {
            name: 'solved',
            id: 2,
            image: 'http://i.imgur.com/EFz6C.gif',
        },
        {
            name: 'rejected',
            id: 6,
            image: 'http://i.imgur.com/ja3Y4hV.png',
        }
      ],
      message: [
        'Administradores, ajude a organizar o fórum. ',
        'Caso a denúncia tenha sido resolvida, clique no botão resolvido.'
      ].join(''),
      message_icon: 'http://i.imgur.com/uPsiC.png',
  };
     
 
  $(function() {
      if (_userdata.user_level < 1) {
        return;
      }
     
      var $form = $('form[name="post"]');
     
      if ($form.length) {
        var submitting = false;
       
        $.each(config.icons, function(index, icon) {
            if ((new RegExp(icon.name + '=true', 'i')).test(location.search)) {
              $('#post_icon_' + icon.id).prop('checked', true);
              $('input[type="submit"]').prop('type', 'hidden');
              $form.submit();
             
              submitting = true;
             
              return false;
            }
        });
       
        if (submitting) {
            return;
        }
      }
 
      var $edit = $('.post:eq(0) .i_icon_edit');
     
      if (!$edit.length) {
        return;
      }
     
      $([
        '<style>',
        '  .fa-solved-message {',
        '      border: 1px solid green;',
        '      padding:5px;',
        '      color:#666666;',
        '      text-align:center;',
        '      font-family:Verdana;',
        '      font-size:11px',
        '  }',
        '  .fa-solved-message img {',
        '      height: 48px;',
        '      vertical-align: middle;',
        '  }',
        '</style>',
      ].join('\n')).appendTo('head');
     
      $([
        '<div class="fa-solved-message">',
        '  <img src="' + config.message_icon + '" /> ',
        '  ' + config.message,
        '</div>',
      ].join('\n')).prependTo('.main-content .message:eq(0)');
     
      $.each(config.icons, function(index, icon) {
        $([
            '<a href="' + $edit.parent().attr('href') + '&' + icon.name + '=true">',
            '  <img src="' + icon.image + '">',
            '</a>',
        ].join('\n')).appendTo('.quick-nav-topics');
      });
  });
}(jQuery));

Agradeço a ajuda!


Última edição por Jefferson105 em 03.07.17 21:21, editado 1 vez(es)
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: Botões de sinalização

Mensagem por Kyo Panda 03.07.17 15:21

A última versão do script no tópico não é a informada. Seria este:

Código:
(function($) {
  'use strict';
 
  var config = {
      icons: [
        {
            name: 'solved',
            id: 2,
            image: 'http://i.imgur.com/EFz6C.gif',
            forums: [1, 2, 3, 30]
        }
      ],
      message: [
        'Administradores, ajude a organizar o fórum. ',
        'Caso a denúncia tenha sido resolvida, clique no botão resolvido.'
      ].join(''),
      message_icon: 'http://i.imgur.com/uPsiC.png',
  };
 
 
  var message = function() {
      $([
        '<style>',
        '  .fa-solved-message {',
        '      border: 1px solid green;',
        '      padding:5px;',
        '      color:#666666;',
        '      text-align:center;',
        '      font-family:Verdana;',
        '      font-size:11px',
        '  }',
        '  .fa-solved-message img {',
        '      height: 48px;',
        '      vertical-align: middle;',
        '  }',
        '</style>',
      ].join('\n')).appendTo('head');
 
      $([
        '<div class="fa-solved-message">',
        '  <img src="' + config.message_icon + '" /> ',
        '  ' + config.message,
        '</div>',
      ].join('\n')).insertBefore('.quick-nav-topics:first');
  };
 
 
  $(function() {
      if (!_userdata.session_logged_in) {
        return;
      }
 
      var $form = $('form[name="post"]');
     
      if ($form.length) {
        var submitting = false;
 
        $.each(config.icons, function(index, icon) {
            if ((new RegExp(icon.name + '=true', 'i')).test(location.search)) {
              $('#post_icon_' + icon.id).prop('checked', true);
              $('input[type="submit"]').prop('type', 'hidden');
              $form.submit();
 
              submitting = true;
 
              return false;
            }
        });
 
        if (submitting) {
            return;
        }
      }
 
      var $edit = $('.post:first .btn-edit');
 
      if (!$edit.length) {
        return;
      }
     
      var fid = ~~$('.sub-header-path .nav:last')
        .attr('href')
        .split('/f')
        .pop()
        .split('-')
        .shift()
      ;
     
      var $container = $('<div class="fa-custom-move"></div>')
        .insertAfter('.quick-nav-topics')
      ;
   
    var built = false;
 
      $.each(config.icons, function(index, icon) {
        if (icon.forums.indexOf(fid) === -1) {
            return;
        }
     
      if (!built) {
        message();
        built = true;
      }
 
        $([
            '<a href="' + $edit.children('a').attr('href') + '&' + icon.name + '=true">',
            '  <img src="' + icon.image + '">',
            '</a>',
        ].join('\n')).appendTo($container);
      });
  });
}(jQuery));

Se quiser que apareça em todos os tópicos, troque essa linha:

Código:
if (icon.forums.indexOf(fid) === -1) {

Por essa:

Código:
if (icon.forums && icon.forums.length && icon.forums.indexOf(fid) === -1) {

o/
Kyo Panda
Kyo Panda
Hiper Membro

Membro desde : 08/01/2012
Mensagens : 4641
Pontos : 5939

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Botões de sinalização

Mensagem por Alex 03.07.17 18:14

Olá, Kyo.

Estive a estudar o script enviado, e é mesmo necessário colocar essa linha de código?
Código:
forums: [1, 2, 3, 30]

Eu copiei o script, mas tirei essa linha que achei desnecessário sendo que seriam todos os tópicos. Não funcionou. Sou obrigado a colocar a linha? Porque eu tenho muitos fóruns e não quero estar a colocar o ID de todos eles.

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: Botões de sinalização

Mensagem por Kyo Panda 03.07.17 18:22

Se o senhor trocar as duas linhas citadas acima, não haverá a necessidade. Feliz
Kyo Panda
Kyo Panda
Hiper Membro

Membro desde : 08/01/2012
Mensagens : 4641
Pontos : 5939

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Botões de sinalização

Mensagem por Alex 03.07.17 18:36

O problema é que troquei e não funcionou kkk Procurei por todos os tópicos do meu fórum e não encontrei nenhum dos botões
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: Botões de sinalização

Mensagem por Kyo Panda 03.07.17 19:02

Mas isso aplicado no código que passei. O que está instalado na seu fórum parece ser o antigo.
Kyo Panda
Kyo Panda
Hiper Membro

Membro desde : 08/01/2012
Mensagens : 4641
Pontos : 5939

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Botões de sinalização

Mensagem por Alex 03.07.17 19:04

O meu código de configuração atual é este:

Código:
  var message = function() {
      $([
        '<style>',
        '  .fa-solved-message {',
        '      border: 1px solid green;',
        '      padding:5px;',
        '      color:#666666;',
        '      text-align:center;',
        '      font-family:Verdana;',
        '      font-size:11px',
        '  }',
        '  .fa-solved-message img {',
        '      height: 48px;',
        '      vertical-align: middle;',
        '  }',
        '</style>',
      ].join('\n')).appendTo('head');
 
      $([
        '<div class="fa-solved-message">',
        '  <img src="' + config.message_icon + '" /> ',
        '  ' + config.message,
        '</div>',
      ].join('\n')).insertBefore('.quick-nav-topics:first');
  };
 
 
  $(function() {
      if (_userdata.user_level < 1) {
        return;
      }
 
      var $form = $('form[name="post"]');
     
      if ($form.length) {
        var submitting = false;
 
        $.each(config.icons, function(index, icon) {
            if ((new RegExp(icon.name + '=true', 'i')).test(location.search)) {
              $('#post_icon_' + icon.id).prop('checked', true);
              $('input[type="submit"]').prop('type', 'hidden');
              $form.submit();
 
              submitting = true;
 
              return false;
            }
        });
 
        if (submitting) {
            return;
        }
      }
 
      var $edit = $('.post:first .btn-edit');
 
      if (!$edit.length) {
        return;
      }
     
      var fid = ~~$('.sub-header-path .nav:last')
        .attr('href')
        .split('/f')
        .pop()
        .split('-')
        .shift()
      ;
     
      var $container = $('<div class="fa-custom-move"></div>')
        .insertAfter('.quick-nav-topics')
      ;
   
    var built = false;
 
      $.each(config.icons, function(index, icon) {
        if (icon.forums && icon.forums.length && icon.forums.indexOf(fid) === -1) {
            return;
        }
     
      if (!built) {
        message();
        built = true;
      }
 
        $([
            '<a href="' + $edit.children('a').attr('href') + '&' + icon.name + '=true">',
            '  <img src="' + icon.image + '">',
            '</a>',
        ].join('\n')).appendTo($container);
      });
  });
}(jQuery));
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: Botões de sinalização

Mensagem por Kyo Panda 03.07.17 19:13

Ele deveria estar ativo apenas para a equipe mesmo?

Código:
(function($) {
  'use strict';
 
  var config = {
      icons: [
        {
            name: 'solved',
            id: 2,
            image: 'http://i.imgur.com/EFz6C.gif'
        }
      ],
      message: [
        'Administradores, ajude a organizar o fórum. ',
        'Caso a denúncia tenha sido resolvida, clique no botão resolvido.'
      ].join(''),
      message_icon: 'http://i.imgur.com/uPsiC.png',
  };
 
 
  var message = function() {
      $([
        '<style>',
        '  .fa-solved-message {',
        '      border: 1px solid green;',
        '      padding:5px;',
        '      color:#666666;',
        '      text-align:center;',
        '      font-family:Verdana;',
        '      font-size:11px',
        '  }',
        '  .fa-solved-message img {',
        '      height: 48px;',
        '      vertical-align: middle;',
        '  }',
        '</style>',
      ].join('\n')).appendTo('head');
 
      $([
        '<div class="fa-solved-message">',
        '  <img src="' + config.message_icon + '" /> ',
        '  ' + config.message,
        '</div>',
      ].join('\n')).insertBefore('.quick-nav-topics:first');
  };
 
 
  $(function() {
      if (!_userdata.session_logged_in) {
        return;
      }
 
      var $form = $('form[name="post"]');
     
      if ($form.length) {
        var submitting = false;
 
        $.each(config.icons, function(index, icon) {
            if ((new RegExp(icon.name + '=true', 'i')).test(location.search)) {
              $('#post_icon_' + icon.id).prop('checked', true);
              $('input[type="submit"]').prop('type', 'hidden');
              $form.submit();
 
              submitting = true;
 
              return false;
            }
        });
 
        if (submitting) {
            return;
        }
      }
 
      var $edit = $('.post:first .btn-edit');
 
      if (!$edit.length) {
        return;
      }
     
      var fid = ~~$('.sub-header-path .nav:last')
        .attr('href')
        .split('/f')
        .pop()
        .split('-')
        .shift()
      ;
     
      var $container = $('<div class="fa-custom-move"></div>')
        .insertAfter('.quick-nav-topics')
      ;
   
    var built = false;
 
      $.each(config.icons, function(index, icon) {
        if (icon.forums && icon.forums.length && icon.forums.indexOf(fid) === -1) {
            return;
        }
     
      if (!built) {
        message();
        built = true;
      }
 
        $([
            '<a href="' + $edit.children('a').attr('href') + '&' + icon.name + '=true">',
            '  <img src="' + icon.image + '">',
            '</a>',
        ].join('\n')).appendTo($container);
      });
  });
}(jQuery));
Kyo Panda
Kyo Panda
Hiper Membro

Membro desde : 08/01/2012
Mensagens : 4641
Pontos : 5939

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Botões de sinalização

Mensagem por Alex 03.07.17 19:45

Sim. Era suposto estar apenas para os administradores. Mas nenhum vê os botões.
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: Botões de sinalização

Mensagem por Kyo Panda 03.07.17 19:53

Executei o código no navegador: https://i.imgur.com/MBQ96uf.png

Aparentemente está a funcionar.

---

Tente abrir o seu fórum, abrir o console do navegador (F12), colar e executar o comando abaixo:

Código:
_userdata.user_level

Qual o valor retornado?
Kyo Panda
Kyo Panda
Hiper Membro

Membro desde : 08/01/2012
Mensagens : 4641
Pontos : 5939

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Botões de sinalização

Mensagem por Alex 03.07.17 20:25

O valor do comando é 1. A mim não sei porque não funciona.
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: Botões de sinalização

Mensagem por Kyo Panda 03.07.17 20:38

Tente trocar o script por esse:

Código:
(function($) {
  'use strict';
 
  var config = {
      icons: [
        {
            name: 'solved',
            id: 2,
            image: 'http://i.imgur.com/EFz6C.gif'
        }
      ],
      message: [
        'Administradores, ajude a organizar o fórum. ',
        'Caso a denúncia tenha sido resolvida, clique no botão resolvido.'
      ].join(''),
      message_icon: 'http://i.imgur.com/uPsiC.png',
  };
 
 
  var message = function() {
      $([
        '<style>',
        '  .fa-solved-message {',
        '      border: 1px solid green;',
        '      padding:5px;',
        '      color:#666666;',
        '      text-align:center;',
        '      font-family:Verdana;',
        '      font-size:11px',
        '  }',
        '  .fa-solved-message img {',
        '      height: 48px;',
        '      vertical-align: middle;',
        '  }',
        '</style>',
      ].join('\n')).appendTo('head');
 
      $([
        '<div class="fa-solved-message">',
        '  <img src="' + config.message_icon + '" /> ',
        '  ' + config.message,
        '</div>',
      ].join('\n')).insertBefore('.quick-nav-topics:first');
  };
 
 
  $(function() {
      if (_userdata.user_level < 1) {
        return;
      }
 
      var $form = $('form[name="post"]');
     
      if ($form.length) {
        var submitting = false;
 
        $.each(config.icons, function(index, icon) {
            if ((new RegExp(icon.name + '=true', 'i')).test(location.search)) {
              $('#post_icon_' + icon.id).prop('checked', true);
              $('input[type="submit"]').prop('type', 'hidden');
              $form.submit();
 
              submitting = true;
 
              return false;
            }
        });
 
        if (submitting) {
            return;
        }
      }
 
      var $edit = $('.post-head:first .btn-edit');
 
      if (!$edit.length) {
        return;
      }
     
      var fid = ~~$('.sub-header-path .nav:last')
        .attr('href')
        .split('/f')
        .pop()
        .split('-')
        .shift()
      ;
     
      var $container = $('<div class="fa-custom-move"></div>')
        .insertAfter('.quick-nav-topics')
      ;
   
    var built = false;
 
      $.each(config.icons, function(index, icon) {
        if (icon.forums && icon.forums.length && icon.forums.indexOf(fid) === -1) {
            return;
        }
     
      if (!built) {
        message();
        built = true;
      }
 
        $([
            '<a href="' + $edit.children('a').attr('href') + '&' + icon.name + '=true">',
            '  <img src="' + icon.image + '">',
            '</a>',
        ].join('\n')).appendTo($container);
      });
  });
}(jQuery));

É bem estranho o porquê de não estar funcionando.
Kyo Panda
Kyo Panda
Hiper Membro

Membro desde : 08/01/2012
Mensagens : 4641
Pontos : 5939

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Botões de sinalização

Mensagem por Alex 03.07.17 21:17

Resultou. Muito obrigado! Ficou maravilhoso.
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: Botões de sinalização

Mensagem por Kyo Panda 03.07.17 21:52

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.
Kyo Panda
Kyo Panda
Hiper Membro

Membro desde : 08/01/2012
Mensagens : 4641
Pontos : 5939

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Ir para o topo


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