WidGet Status

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

Resolvido WidGet Status

Mensagem por xBullet_Storm em 02/02/16, 02:11 pm

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 04/02/16, 10:58 pm, editado 1 vez(es)
avatar

xBullet_Storm
Nível 9

Masculino
Inscrito dia : 25/01/2015
Mensagens : 187
Pontos Ativos : 296

Ver perfil do usuário http://forum.brasilperfectgames.com.br/forum

Resolvido Re: WidGet Status

Mensagem por Daemon em 03/02/16, 02:45 pm

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>
avatar

Daemon
Membro do Fórum

Masculino
Inscrito dia : 01/03/2012
Mensagens : 1096
Pontos Ativos : 1688

Ver perfil do usuário http://bestskins.forumeiros.com/

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum