Widget Membro do mês

3 participantes

Ver o tópico anterior Ver o tópico seguinte Ir para baixo

Tópico resolvido Widget Membro do mês

Mensagem por Marshmello. 31.01.18 11:00

Detalhes da questão


Endereço do fórum: http://gmtsystem.forumeiros.com/forum
Versão do fórum: ModernBB

Descrição


Olá, eu preciso de um membro do mês ou alguém que possa fazer este funcionar:
https://imgur.com/kC2cypG
Mas ele não para de carregar o avatar, e não chega nenhum usuário, já ativei o Membro mais ativo do mês
https://imgur.com/2D3gIXv

se alguém poder me ajudar, ficarei grato.
Marshmello.

Marshmello.
Novo Membro

Membro desde : 19/12/2017
Mensagens : 18
Pontos : 36

https://drphabblet.forumeiros.com/

Ir para o topo Ir para baixo

Admineiro

Tópico resolvido Re: Widget Membro do mês

Mensagem por tikky 31.01.18 11:07

Olá,
para esse sistema dar você têm que ativar o widget OS MEMBROS MAIS ATIVOS DO MÊS, e nesse widget terá que haver pelo menos um usuário do ranking.
Poderia passar o JS do sistema?

obrigado
tikky

tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7820
Pontos : 9063

Ir para o topo Ir para baixo

Tópico resolvido Re: Widget Membro do mês

Mensagem por Marshmello. 31.01.18 11:09

O JS é este:
Código:
jQuery(document).ready(function(){jQuery.get(jQuery('.module table[summary="Os membros mais ativos do mês"] td[width="30%"] a:eq(0)').attr('href'),function(b){jQuery('#id').html(jQuery('.module table[summary="Os membros mais ativos do mês"] td[width="30%"] a:eq(0)').text());jQuery('#avat').html(jQuery('#profile-advanced-right .module div[style="text-align:center;"]',b).html())})});

OBs: quero remover anúncios do fórum e deixar os widgets na linha dos tópicos
Marshmello.

Marshmello.
Novo Membro

Membro desde : 19/12/2017
Mensagens : 18
Pontos : 36

https://drphabblet.forumeiros.com/

Ir para o topo Ir para baixo

Membro Entusiasta

Tópico resolvido Re: Widget Membro do mês

Mensagem por Luiz 31.01.18 13:10

Seja bem-vindo ao nosso fórum de Suporte! Como acabou de se inscrever, veja aqui alguns links importantes a saber:

Olá,

Remova o seu widget atual. Depois, siga as instruções:

Vá em:
Painel de Controle Seta Módulos Seta Gestão dos códigos JavaScript.

01) Ative a gestão dos códigos JavaScript.

02) Crie um novo JavaScript, investido em todas as páginas, com o código:
Código:
(function ($) {
  'use strict';

  $(function () {
    $('.module > .h3').each(function () {
      var $this  = $(this);
      var $widget = $this.parent();
      var $top    = $widget.clone();

      if (!/Os membros mais ativos do mês/i.test($this.text())) {
        return;
      }

      $widget
        .hide()
        .before($top)
      ;

      /** Alterar o título. */
      $top
        .find('.h3')
        .html([
          '<i class="ion-trophy"></i>',
          'Membro do mês'
        ].join(' '))
      ;

      /** Alterar o conteúdo. */
      $top
        .find('.mod-top')
        .replaceWith([
          '<div class="fa-best-user">',
          '  <div class="top-zone">',
          '    <img src="//i46.servimg.com/u/f46/12/16/42/40/trophy10.gif" />',
          '    <span>Destaque do fórum</span>',
          '  </div>',
          '  <div class="avatar-zone">',
          '    <span class="avatar-fallback">Carregando avatar...</span>',
          '    <span class="avatar-username"></span>',
          '    <span class="avatar-wrapper"></span>',
          '  </div>',
          '  <div class="text-zone">',
          '    <span>Obrigado pelo seus serviços prestados!</span>',
          '  </div>',
          '</div>',
        ].join('\n'))
      ;

      var $username = $widget
        .find('.mod-top-row:first')
        .find('div > a')
      ;

      $top
        .find('.avatar-username')
        .text($username.prop('outerHTML'))
      ;

      $.get('/profile.forum', {
        mode: 'viewprofile',
        u  : $username.attr('title')
      })
        .done(function (context) {
          var $img = $('.mod-login-avatar > img', context);

          $top
            .find('.avatar-wrapper')
            .html($img)
          ;

          $top
            .find('.avatar-fallback')
            .hide()
          ;
        })
        .fail(function () {
          alert([
            'Erro :: Widget últimos assuntos.',
            'Contate o suporte técnico.'
          ].join('\n'))
        })
      ;

      $('<style>', { 'text': [
        '.fa-best-user {',
        '  text-align: center;',
        '}',
        '',
        '.fa-best-user > .top-zone {',
        '  margin-bottom: 10px;',
        '}',
        '',
        '.fa-best-user > .avatar-zone > span {',
        '  display: block;',
        '  padding: 3px 0;',
        '}',
        '',
        '.fa-best-user > .text-zone {',
        '  margin-top: 10px;',
        '}'
      ].join('\n') }).appendTo('head');
    });
  });
})(jQuery);

Desejo sorte com a polícia.

E:
Não se esqueça de votar nos seus candidatos favoritos!


o/
Luiz

Luiz
Membro Entusiasta
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: Widget Membro do mês

Mensagem por Marshmello. 31.01.18 13:27

Eu coloquei ele no JS, mas depois disto onde vou?
Marshmello.

Marshmello.
Novo Membro

Membro desde : 19/12/2017
Mensagens : 18
Pontos : 36

https://drphabblet.forumeiros.com/

Ir para o topo Ir para baixo

Membro Entusiasta

Tópico resolvido Re: Widget Membro do mês

Mensagem por Luiz 31.01.18 13:32

Você provavelmente têm um JavaScript que está causando erros (o que acaba por parar a execução dos demais scripts).

Tente desativar os outros JavaScripts e ver se o problema resolve.

PS: Eu me esqueci de colocar um ponto-e-virgula. Veja se é isso:
Código:
(function ($) {
  'use strict';
 
  $(function () {
    $('.module > .h3').each(function () {
      var $this  = $(this);
      var $widget = $this.parent();
      var $top    = $widget.clone();
 
      if (!/Os membros mais ativos do mês/i.test($this.text())) {
        return;
      }
 
      $widget
        .hide()
        .before($top)
      ;
 
      /** Alterar o título. */
      $top
        .find('.h3')
        .html([
          '<i class="ion-trophy"></i>',
          'Membro do mês'
        ].join(' '))
      ;
 
      /** Alterar o conteúdo. */
      $top
        .find('.mod-top')
        .replaceWith([
          '<div class="fa-best-user">',
          '  <div class="top-zone">',
          '    <img src="//i46.servimg.com/u/f46/12/16/42/40/trophy10.gif" />',
          '    <span>Destaque do fórum</span>',
          '  </div>',
          '  <div class="avatar-zone">',
          '    <span class="avatar-fallback">Carregando avatar...</span>',
          '    <span class="avatar-username"></span>',
          '    <span class="avatar-wrapper"></span>',
          '  </div>',
          '  <div class="text-zone">',
          '    <span>Obrigado pelo seus serviços prestados!</span>',
          '  </div>',
          '</div>',
        ].join('\n'))
      ;
 
      var $username = $widget
        .find('.mod-top-row:first')
        .find('div > a')
      ;
 
      $top
        .find('.avatar-username')
        .text($username.prop('outerHTML'))
      ;
 
      $.get('/profile.forum', {
        mode: 'viewprofile',
        u  : $username.attr('title')
      })
        .done(function (context) {
          var $img = $('.mod-login-avatar > img', context);
 
          $top
            .find('.avatar-wrapper')
            .html($img)
          ;
 
          $top
            .find('.avatar-fallback')
            .hide()
          ;
        })
        .fail(function () {
          alert([
            'Erro :: Widget últimos assuntos.',
            'Contate o suporte técnico.'
          ].join('\n'));
        })
      ;
 
      $('<style>', { 'text': [
        '.fa-best-user {',
        '  text-align: center;',
        '}',
        '',
        '.fa-best-user > .top-zone {',
        '  margin-bottom: 10px;',
        '}',
        '',
        '.fa-best-user > .avatar-zone > span {',
        '  display: block;',
        '  padding: 3px 0;',
        '}',
        '',
        '.fa-best-user > .text-zone {',
        '  margin-top: 10px;',
        '}'
      ].join('\n') }).appendTo('head');
    });
  });
})(jQuery);
Se não for, faça o que disse acima (mas mantendo este código): desative todos os demais códigos até resolver o erro (e encontrar aquele que está causando problemas).

o/
Luiz

Luiz
Membro Entusiasta
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: Widget Membro do mês

Mensagem por Marshmello. 31.01.18 14:05

Os JS que tenho em meu fórum são estes:
https://imgur.com/2c3sM86

OBs: ainda não apareceu.
E outra tenho que por o Widget antigo?
Marshmello.

Marshmello.
Novo Membro

Membro desde : 19/12/2017
Mensagens : 18
Pontos : 36

https://drphabblet.forumeiros.com/

Ir para o topo Ir para baixo

Membro Entusiasta

Tópico resolvido Re: Widget Membro do mês

Mensagem por Luiz 31.01.18 14:11

Não.

O que o senhor deve fazer é desativar todos os JavaScripts (exceto o que passei acima), a fim de saber qual está causando o erro.

O senhor fez isso?
Luiz

Luiz
Membro Entusiasta
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: Widget Membro do mês

Mensagem por Marshmello. 31.01.18 14:13

Ainda não, como desativo eles sem ter que excluir?
Marshmello.

Marshmello.
Novo Membro

Membro desde : 19/12/2017
Mensagens : 18
Pontos : 36

https://drphabblet.forumeiros.com/

Ir para o topo Ir para baixo

Membro Entusiasta

Tópico resolvido Re: Widget Membro do mês

Mensagem por Luiz 31.01.18 14:15

Basta não marcar nenhuma caixa, na opção do investimento:

Widget Membro do mês 1CpBm0f

Faça isso um por vez, e verifique se o código funciona.
Caso você descubra o causador do erro, basta excluí-lo. Feliz

Aguardo uma resposta. o/
Luiz

Luiz
Membro Entusiasta
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: Widget Membro do mês

Mensagem por Marshmello. 31.01.18 14:17

Eu achei o que estava causando o erro, era um dos ant owner, mas aconteceu isto:
https://imgur.com/1MiOIQC
Marshmello.

Marshmello.
Novo Membro

Membro desde : 19/12/2017
Mensagens : 18
Pontos : 36

https://drphabblet.forumeiros.com/

Ir para o topo Ir para baixo

Membro Entusiasta

Tópico resolvido Re: Widget Membro do mês

Mensagem por Luiz 31.01.18 14:20

Erro meu.
Troque por este:
Código:
(function ($) {
  'use strict';
 
  $(function () {
    $('.module > .h3').each(function () {
      var $this  = $(this);
      var $widget = $this.parent();
      var $top    = $widget.clone();
 
      if (!/Os membros mais ativos do mês/i.test($this.text())) {
        return;
      }
 
      $widget
        .hide()
        .before($top)
      ;
 
      /** Alterar o título. */
      $top
        .find('.h3')
        .html([
          '<i class="ion-trophy"></i>',
          'Membro do mês'
        ].join(' '))
      ;
 
      /** Alterar o conteúdo. */
      $top
        .find('.mod-top')
        .replaceWith([
          '<div class="fa-best-user">',
          '  <div class="top-zone">',
          '    <img src="//i46.servimg.com/u/f46/12/16/42/40/trophy10.gif" />',
          '    <span>Destaque do fórum</span>',
          '  </div>',
          '  <div class="avatar-zone">',
          '    <span class="avatar-fallback">Carregando avatar...</span>',
          '    <span class="avatar-username"></span>',
          '    <span class="avatar-wrapper"></span>',
          '  </div>',
          '  <div class="text-zone">',
          '    <span>Obrigado pelo seus serviços prestados!</span>',
          '  </div>',
          '</div>',
        ].join('\n'))
      ;
 
      var $username = $widget
        .find('.mod-top-row:first')
        .find('div > a')
      ;
 
      $top
        .find('.avatar-username')
        .html($username.prop('outerHTML'))
      ;
 
      $.get('/profile.forum', {
        mode: 'viewprofile',
        u  : $username.attr('title')
      })
        .done(function (context) {
          var $img = $('.mod-login-avatar > img', context);
 
          $top
            .find('.avatar-wrapper')
            .html($img)
          ;
 
          $top
            .find('.avatar-fallback')
            .hide()
          ;
        })
        .fail(function () {
          alert([
            'Erro :: Widget últimos assuntos.',
            'Contate o suporte técnico.'
          ].join('\n'));
        })
      ;
 
      $('<style>', { 'text': [
        '.fa-best-user {',
        '  text-align: center;',
        '}',
        '',
        '.fa-best-user > .top-zone {',
        '  margin-bottom: 10px;',
        '}',
        '',
        '.fa-best-user > .avatar-zone > span {',
        '  display: block;',
        '  padding: 3px 0;',
        '}',
        '',
        '.fa-best-user > .text-zone {',
        '  margin-top: 10px;',
        '}'
      ].join('\n') }).appendTo('head');
    });
  });
})(jQuery);

Nota: o senhor pode remover todos os seus script's de anti-owner, trocando-os por este:
-> https://ajuda.forumeiros.com/t110558-tutorial-protecao-contra-owner-e-xss-nas-mensagens-e-chat

o/
Luiz

Luiz
Membro Entusiasta
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: Widget Membro do mês

Mensagem por Marshmello. 31.01.18 14:24

Agora funcionou, pode me tirar outra dúvida?

Tem como eu remover estes anúncios?
https://imgur.com/ijPKVtZ

E fazer com que esses widgets fiquem próximo aos tópicos
https://imgur.com/TdBQyRP
Eles estão muito em cima
Marshmello.

Marshmello.
Novo Membro

Membro desde : 19/12/2017
Mensagens : 18
Pontos : 36

https://drphabblet.forumeiros.com/

Ir para o topo Ir para baixo

Membro Entusiasta

Tópico resolvido Re: Widget Membro do mês

Mensagem por Luiz 31.01.18 14:31

E fazer com que esses widgets fiquem próximo aos tópicos
https://imgur.com/TdBQyRP
Eles estão muito em cima
Para isso o senhor terá de abrir outro tópico.

Tem como eu remover estes anúncios?
https://imgur.com/ijPKVtZ
Não, os anúncios são a razão pela qual o seu fórum é grátis.
O único meio de removê-los é através da compra de créditos.

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

o/
Luiz

Luiz
Membro Entusiasta
Membro Entusiasta

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

https://luizfelipe.dev

Ir para o topo Ir para baixo

Ver o tópico anterior Ver o tópico seguinte Ir para o topo


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