WidGet Status

2 participantes

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

Tópico resolvido WidGet Status

Mensagem por xBullet_Storm 02.02.16 16:11

Detalhes da questão


Endereço do fórum: perfectshot-rpg.forumeiros.com
Versão do fórum: PunBB

Descrição


estou com esse widget no meu forum
http://prntscr.com/9y3xf4
e só eu posso atualizar status nele!! nao teria como configurar ele para que qualquer pessoa possa usar ele!!?

Código:
<ul id="recent_status">
 Carregando...
</ul><a href="javascript:void(0)" onclick="atualizarStatus()" class="atualiza_status">Atualizar Status</a><script type="text/javascript">
jQuery(function() {
    jQuery.ajax({
          url: '/u1wall',
          type: 'GET',
          success: function(responseHtml)
          {
          var status = jQuery('li.clearfix:contains("status_update")', responseHtml).wrapAll('<div>').parent().html();
          if(status) {
              jQuery('#recent_status').each(function() {
                jQuery(this).html(status);
                jQuery(this).html(
                jQuery(this).html()
                .replace(/\ - status_update/g,'')
                ).find('ul.message-footer, .message-header img, .message-header em').remove();
              });
          } else {
              jQuery('#recent_status').html('Não há status atualizado recentemente');
          }
          },
          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 {padding-left: 0 !important;}
#recent_status 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>


Última edição por xBullet_Storm em 05.02.16 0:58, editado 1 vez(es)
xBullet_Storm

xBullet_Storm
****

Membro desde : 25/01/2015
Mensagens : 230
Pontos : 363

http://sigabemsamp.forumeiros.com https://www.facebook.com/www.facebook.com/wilsoncqjunior

Ir para o topo Ir para baixo

Tópico resolvido Re: WidGet Status

Mensagem por Daemon 03.02.16 16:45

Qualquer pessoa pode utilizar este widget... o problema é que em seu perfil está sem permissão para postagens de mensagens de perfil, impossibilitando assim, de serem gravadas os status que são atualizados! Piscada
Isto você irá configurar no seu próprio perfil, na aba "Preferências"!

@Edit:
Dei uma pequena alterada no código (Não interfere em nada do que eu digitei acima... faça tudo que foi dito):
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>
Daemon

Daemon
Super Membro

Membro desde : 02/03/2012
Mensagens : 1132
Pontos : 1825

http://bestskins.forumeiros.com/

Ir para o topo Ir para baixo

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

- Tópicos semelhantes

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