Widget status sem efeito

2 participantes

Ir para baixo

Tópico resolvido Widget status sem efeito

Mensagem por Luqui 08.09.18 7:37

Detalhes da questão


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

Descrição


Bom o atual código que estou utilizando não está funcionando corretamente, quando vou enviar um status não surge efeito.

Código:
<div id="recent_status">
   Carregando...
</div><script type="text/javascript">
jQuery(function() {
    var el = jQuery('#recent_status');
    var session = _userdata.session_logged_in;
    var content = '';
    if(session > 0) {
      content = '<a href="javascript:void(0)" onclick="atualizarStatus()" class="atualiza_status">Atualizar Status</a>';
    } else {
      content = '<a href="/login" class="atualiza_status">Fazer login</a>';
    }
    jQuery.ajax({
          url: '/u1wall',
          type: 'GET',
          success: function(responseHtml)
          {
          var status = jQuery('li.clearfix:contains("status_update")', responseHtml).wrapAll('<div>').parent().html();
          if(status) {
              content = '<ul>' + status + '</ul>' + content;
              el.html(content).each(function() {
                jQuery(this).html(
                  jQuery(this).html()
                  .replace(/\ - status_update/g,'')
                ).find('ul.message-footer, .message-header img, .message-header em').remove();
              });return false;
          }
          content = 'Não há status atualizado recentemente' + content;
          el.html(content);
          },
          error: function(err)
          {
          console.log("AJAX error in request (Recent status update: Loading messages)");
          }
    });
});
function atualizarStatus() {
    var novoStatus = prompt("Digite o seu novo status:");
    if(novoStatus === '') {
      alert("Vazio");
    } else if(novoStatus === null) {
      return false;
    } else {
      var TID = jQuery('a[href*="tid="]').attr('href').split('tid=')[1].split('&')[0];
      jQuery.post("/ajax_profile.forum?jsoncallback=?", {
              id: -20,
              user: _userdata.user_id,
              active: "1",
              content: '[["profile_field_2_-20", "' + novoStatus + '"]]',
              tid: TID
      }, function(data){/*Only for calback reasons!*/},
      "json"
      ).done(function() {
      jQuery.ajax({
              url: '/u1wall',
              type: 'GET',
              success: function(responseHtml)
              {
              var matches = responseHtml.match(/\- (.*?)<\/title\>/);
              var user = matches[1];
              jQuery.post('/privmsg?mode=post_profile', {
                    message: novoStatus,
                    post: '1',
                    subject: 'status_update',
                    folder: 'profile',
                    username: user
              }).done(function() {
                alert("Status atualizado & salvo com sucesso!");
                location.reload();
              });
              },
              error: function(err)
              {
              console.log("AJAX error in request (Recent status update: Save in profile)");
              }
        });
        }).fail(function() {
          console.log("AJAX error in request (ajax_profile)");
        });
        // To fast return!!!
        return false;
    }
}
</script><style type="text/css">
.atualiza_status {
  display: block;
  margin-top: 8px;
  text-align: center;
  background-color: #f0f0f0;
  padding: 6px;
  border: 1px solid #e0e0e0;
}
#recent_status > ul {padding-left: 0 !important;}
#recent_status ul li.clearfix {list-style-type: none;padding: 5px 0;}
#recent_status .avatar {
  float: left;
  -moz-border-radius: 0;
  -moz-box-shadow: 0 2px 2px rgba(0,0,0,0.1);
  -webkit-border-radius: 0;
  -webkit-box-shadow: 0 2px 2px rgba(0,0,0,0.1);
  background: #fff;
  border: 1px solid #d5d5d5;
  border-radius: 0;
  box-shadow: 0 2px 2px rgba(0,0,0,0.1);
  padding: 1px;
}
#recent_status .avatar, #recent_status .avatar img {
  height: 30px;
  width: 30px;
}
#recent_status .message-date {float: right;}
#recent_status .message-block {margin-left: 40px;}
</style>
Luqui
Luqui
***

Membro desde : 14/03/2018
Mensagens : 186
Pontos : 262

http://lostscavenge.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Widget status sem efeito

Mensagem por tikky 08.09.18 15:44

Olá @Luqui,
Mude o seu código para:
Código:
<div id="recent_status">
           Carregando...     
</div><script type="text/javascript">
jQuery(function() {
    var el = jQuery('#recent_status');
    var session = _userdata.session_logged_in;
    var content = '';
    if(session > 0) {
      content = '<a href="javascript:void(0)" onclick="atualizarStatus()" class="atualiza_status">Atualizar Status</a>';
    } else {
      content = '<a href="/login" class="atualiza_status">Fazer login</a>';
    }
    jQuery.ajax({
          url: '/u1wall',
          type: 'GET',
          success: function(responseHtml)
          {
          var status = jQuery('.message-block:contains("status_update")', responseHtml).wrapAll('<div>').parent().html();
          if(status) {
              content = '<div>' + status + '</div>' + content;
              el.html(content).each(function() {
                jQuery(this).html(
                  jQuery(this).html()
                  .replace(/\ - status_update/g,'')
                ).find('ul.message-footer, .message-header img, .message-header em, i').remove();
              });return false;
          }
          content = 'Não há status atualizado recentemente' + content;
          el.html(content);
          },
          error: function(err)
          {
          console.log("AJAX error in request (Recent status update: Loading messages)");
          }
    });
});
function atualizarStatus() {
    var novoStatus = prompt("Digite o seu novo status:");
    if(novoStatus === '') {
      alert("Vazio");
    } else if(novoStatus === null) {
      return false;
    } else {
      var TID = jQuery('a[href*="tid="]').attr('href').split('tid=')[1].split('&')[0];
      jQuery.post("/ajax_profile.forum?jsoncallback=?", {
              id: -20,
              user: _userdata.user_id,
              active: "1",
              content: '[["profile_field_2_-20", "' + novoStatus + '"]]',
              tid: TID
      }, function(data){/*Only for calback reasons!*/},
      "json"
      ).done(function() {
      jQuery.ajax({
              url: '/u1wall',
              type: 'GET',
              success: function(responseHtml)
              {
              var matches = responseHtml.match(/\- (.*?)<\/title\>/);
              var user = matches[1];
              jQuery.post('/privmsg?mode=post_profile', {
                    message: novoStatus,
                    post: '1',
                    subject: 'status_update',
                    folder: 'profile',
                    username: user
              }).done(function() {
                alert("Status atualizado & salvo com sucesso!");
                location.reload();
              });
              },
              error: function(err)
              {
              console.log("AJAX error in request (Recent status update: Save in profile)");
              }
        });
        }).fail(function() {
          console.log("AJAX error in request (ajax_profile)");
        });
        // To fast return!!!
        return false;
    }
}
</script><style type="text/css">
.atualiza_status {
  display: block;
  margin-top: 8px;
  text-align: center;
  background-color: #f0f0f0;
  padding: 6px;
  border: 1px solid #e0e0e0;
}
#recent_status .message-block {margin-left: 0 !important;}
#recent_status .message-block {padding: 5px 0;}
#recent_status .avatar {
  float: left;
  -moz-border-radius: 0;
  -moz-box-shadow: 0 2px 2px rgba(0,0,0,0.1);
  -webkit-border-radius: 0;
  -webkit-box-shadow: 0 2px 2px rgba(0,0,0,0.1);
  background: #fff;
  border: 1px solid #d5d5d5;
  border-radius: 0;
  box-shadow: 0 2px 2px rgba(0,0,0,0.1);
  padding: 1px;
}
#recent_status .avatar, #recent_status .avatar img {
  height: 30px;
  width: 30px;
}
#recent_status .message-date {float: right;}
#recent_status .message-block {margin-left: 40px;}
</style>


Cordialmente,
pedxz.
tikky
tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7962
Pontos : 9217

Ir para o topo Ir para baixo

Tópico resolvido Re: Widget status sem efeito

Mensagem por Luqui 08.09.18 20:04

Funcionou, teria como adicionar um código onde apenas moderadores e administradores do fórum pudessem apagar algum status?
Luqui
Luqui
***

Membro desde : 14/03/2018
Mensagens : 186
Pontos : 262

http://lostscavenge.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Widget status sem efeito

Mensagem por tikky 09.09.18 10:17

Mude para:
Código:
<div id="recent_status">
                       Carregando...                 
</div><script type="text/javascript">
jQuery(function() {
    var el = jQuery('#recent_status');
    var session = _userdata.session_logged_in;
    var content = '';
    if(session > 0) {
      content = '<a href="javascript:void(0)" onclick="atualizarStatus()" class="atualiza_status">Atualizar Status</a>';
    } else {
      content = '<a href="/login" class="atualiza_status">Fazer login</a>';
    }
    jQuery.ajax({
          url: '/u1wall',
          type: 'GET',
          success: function(responseHtml)
          {
          var status = jQuery('.message-block:contains("status_update")', responseHtml).wrapAll('<div>').parent().html();
          if(status) {
              content = '<div>' + status + '</div>' + content;
              el.html(content).each(function() {
                jQuery(this).html(
                  jQuery(this).html()
                  .replace(/\ - status_update/g,'')
                ).find('.message-header img, .message-header em, i').remove().find('.message-footer .last').show();
              });return false;
          }
          content = 'Não há status atualizado recentemente' + content;
          el.html(content);
          },
          error: function(err)
          {
          console.log("AJAX error in request (Recent status update: Loading messages)");
          }
    });
});
function atualizarStatus() {
    var novoStatus = prompt("Digite o seu novo status:");
    if(novoStatus === '') {
      alert("Vazio");
    } else if(novoStatus === null) {
      return false;
    } else {
      var TID = jQuery('a[href*="tid="]').attr('href').split('tid=')[1].split('&')[0];
      jQuery.post("/ajax_profile.forum?jsoncallback=?", {
              id: -20,
              user: _userdata.user_id,
              active: "1",
              content: '[["profile_field_2_-20", "' + novoStatus + '"]]',
              tid: TID
      }, function(data){/*Only for calback reasons!*/},
      "json"
      ).done(function() {
      jQuery.ajax({
              url: '/u1wall',
              type: 'GET',
              success: function(responseHtml)
              {
              var matches = responseHtml.match(/\- (.*?)<\/title\>/);
              var user = matches[1];
              jQuery.post('/privmsg?mode=post_profile', {
                    message: novoStatus,
                    post: '1',
                    subject: 'status_update',
                    folder: 'profile',
                    username: user
              }).done(function() {
                alert("Status atualizado & salvo com sucesso!");
                location.reload();
              });
              },
              error: function(err)
              {
              console.log("AJAX error in request (Recent status update: Save in profile)");
              }
        });
        }).fail(function() {
          console.log("AJAX error in request (ajax_profile)");
        });
        // To fast return!!!
        return false;
    }
}
</script><style type="text/css">
.atualiza_status {
  display: block;
  margin-top: 8px;
  text-align: center;
  background-color: #f0f0f0;
  padding: 6px;
  border: 1px solid #e0e0e0;
}
#recent_status .message-block {margin-left: 0 !important;}
#recent_status .message-block {padding: 5px 0;}
#recent_status .avatar {
  float: left;
  -moz-border-radius: 0;
  -moz-box-shadow: 0 2px 2px rgba(0,0,0,0.1);
  -webkit-border-radius: 0;
  -webkit-box-shadow: 0 2px 2px rgba(0,0,0,0.1);
  background: #fff;
  border: 1px solid #d5d5d5;
  border-radius: 0;
  box-shadow: 0 2px 2px rgba(0,0,0,0.1);
  padding: 1px;
}
#recent_status .message-footer li {
  list-style-type: none!important;
  display: inline-block;
  padding-right: 5px;
}
#recent_status .avatar, #recent_status .avatar img {
  height: 30px;
  width: 30px;
}
#recent_status .message-date {float: right;}
#recent_status .message-block {margin-left: 40px;}
</style>
tikky
tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7962
Pontos : 9217

Ir para o topo Ir para baixo

Tópico resolvido Re: Widget status sem efeito

Mensagem por Luqui 09.09.18 14:51

Deu certo, mas os membros não conseguem adicionar um status
Luqui
Luqui
***

Membro desde : 14/03/2018
Mensagens : 186
Pontos : 262

http://lostscavenge.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Widget status sem efeito

Mensagem por tikky 09.09.18 15:00

Poderia passa-me uma conta teste, sem poderes, para testar o mesmo?
tikky
tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7962
Pontos : 9217

Ir para o topo Ir para baixo

Tópico resolvido Re: Widget status sem efeito

Mensagem por tikky 10.09.18 9:36

Após entrar na conta de testes passada pelo @Luqui.


Entre nas Preferências da conta /u1, e na opção Autorizar as mensagens de visitantes no meu perfil marque Todos os usuários.
tikky
tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7962
Pontos : 9217

Ir para o topo Ir para baixo

Tópico resolvido Re: Widget status sem efeito

Mensagem por Luqui 10.09.18 18:03

Obrigado
Luqui
Luqui
***

Membro desde : 14/03/2018
Mensagens : 186
Pontos : 262

http://lostscavenge.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Widget status sem efeito

Mensagem por tikky 10.09.18 18:10

Tópico resolvido


Movido para "Questões resolvidas".
tikky
tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7962
Pontos : 9217

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