Widget de Atualizar Status

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

Resolvido Widget de Atualizar Status

Mensagem por Connor R. em 31/08/14, 10:56 am

Tenho  oseguinte código abaixo:

Código:

<div class="module main">
         
   <div class="main-head">
                
      <div id="statusTitle" class="h3">
                     <span id="statusAtual">Carregando status atual...</span>          
      </div>
            
   </div>
         
   <div class="main-content clearfix">
                
      <div id="statusUpdateBody">
                       
         <center>
                            <input style="width: 100px;" type="text" id="statusUpdate" />                <input type="submit" style=" margin-top: -3px; " value="OK" id="statusUpdateButton" />                <br />Atualize seu status aqui. Coloque coisas pequenas e não ofensivas.             
         </center>
                   
      </div>
              <script>
            jQuery(function () {
                jQuery('#statusUpdateButton').click(function () {
                    var USER_ID = _userdata["user_id"];
                    var statusText = jQuery('#statusUpdate').val();
                    var TID = jQuery('input[name="tid"]').val() + '';
                    jQuery.post("/ajax_profile.forum?jsoncallback=?", {
                        id: "1",
                        user: USER_ID,
                        active: "1",
                        content: '[["profile_field_13_-8", "' + statusText + '"]]',
                        tid: TID
                    }, function (data) {
                        jQuery('#statusUpdate').val('');
                        jQuery('#statusTitle').html('Carregando novo estado...<span id="statusNovoAtual" style="display:none;"></span>');
                        jQuery('#statusNovoAtual').load('profile?mode=editprofile&page_profil=informations #', function () {
                            jQuery('#statusNovoAtual').hide();
                            var statusTextAtual = jQuery('#statusNovoAtual #profile_field_13_-8').val();
                            jQuery('#statusTitle').html('Status atual: <span id="statusAtualText">"' + statusTextAtual + '"</span>');
                            var statusTextChat = jQuery('#statusAtualText').text();
                        });
                        console.log("OK: ajax_profile, userID = " + USER_ID);
                    }, "json").fail(function () {
                        alert("Houve um erro a atualizar o status! Se este problema persistir, contate os administradores.")
                        console.log("error: ajax_profile, userID = " + USER_ID);
                    });
                });
            });
            jQuery(function () {
                jQuery('#statusAtual').load('profile?mode=editprofile&page_profil=informations #profile_field_13_-8', function () {
                    jQuery('#statusAtual').hide();
                    var statusText = jQuery('#statusAtual #profile_field_13_-8').val();
                    jQuery('#statusTitle').html('Status atual: <br/><span id="statusAtualText">"' + statusText + '"</span>');
                });
            });
        </script>     
   </div>
</div>

<style>#statusTitle br {
   display: none;
}
#statusTitle {
   white-space:nowrap;
  width: 100%;                   
  overflow:hidden;
  text-overflow:ellipsis;
}</style>

O mesmo funciona para atualizar o status, mais não está funcionando pelo fato de eu usar o perfil ipb, como pode ria ajusta-lo?


Última edição por Connor R. em 05/09/14, 09:34 am, editado 1 vez(es)
avatar

Connor R.
Usuário destaque

Masculino
Inscrito dia : 06/08/2012
Mensagens : 978
Pontos Ativos : 1594

Ver perfil do usuário http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

Resolvido Re: Widget de Atualizar Status

Mensagem por Hancki em 31/08/14, 05:22 pm

Olá!

Como autor desse código, posso garantir que ele funciona de qualquer forma, em qualquer perfil!
Temos é que tratar de uns detalhes, desde o processo de criação de um campo de perfil até saber o ID desse mesmo campo!
Veja como é a estrutura do campo de perfil: http://prntscr.com/4ievb9
E veja como descobrimos o ID desse campo: http://prntscr.com/4iew7p
O valor que obtermos no ID, temos que coloca-lo aqui: http://prntscr.com/4iex36

Certo?

Hancki
avatar

Hancki
Principal contribuidor
Principal contribuidor

Masculino
Inscrito dia : 03/10/2009
Mensagens : 8047
Pontos Ativos : 12032

Ver perfil do usuário http://programacaoweb.forumeiros.com/ https://www.facebook.com/djtomoficial https://www.facebook.com/djtomoficial

Resolvido Re: Widget de Atualizar Status

Mensagem por Connor R. em 31/08/14, 05:57 pm

Humrum fiz o que mandou veja abaixo:

Código:

<div class="module main">
                
   <div class="main-head">
                             
      <div id="statusTitle" class="h3">
                               <span id="statusAtual">Carregando status atual...</span>               
      </div>
                       
   </div>
                
   <div class="main-content clearfix">
                             
      <div id="statusUpdateBody">
                                          
         <center>
                                        <input style="width: 100px;" type="text" id="statusUpdate" />                <input type="submit" style=" margin-top: -3px; " value="OK" id="statusUpdateButton" />                <br />Atualize seu status aqui. Coloque coisas pequenas e não ofensivas.                     
         </center>
                                    
      </div>
                    <script>
            jQuery(function () {
                jQuery('#statusUpdateButton').click(function () {
                    var USER_ID = _userdata["user_id"];
                    var statusText = jQuery('#statusUpdate').val();
                    var TID = jQuery('input[name="tid"]').val() + '';
                    jQuery.post("/ajax_profile.forum?jsoncallback=?", {
                        id: "1",
                        user: USER_ID,
                        active: "1",
                        content: '[["profile_field_13_19", "' + statusText + '"]]',
                        tid: TID
                    }, function (data) {
                        jQuery('#statusUpdate').val('');
                        jQuery('#statusTitle').html('Carregando novo estado...<span id="statusNovoAtual" style="display:none;"></span>');
                        jQuery('#statusNovoAtual').load('profile?mode=editprofile&page_profil=informations #', function () {
                            jQuery('#statusNovoAtual').hide();
                            var statusTextAtual = jQuery('#statusNovoAtual #profile_field_13_19').val();
                            jQuery('#statusTitle').html('Status atual: <span id="statusAtualText">"' + statusTextAtual + '"</span>');
                            var statusTextChat = jQuery('#statusAtualText').text();
                        });
                        console.log("OK: ajax_profile, userID = " + USER_ID);
                    }, "json").fail(function () {
                        alert("Houve um erro a atualizar o status! Se este problema persistir, contate os administradores.")
                        console.log("error: ajax_profile, userID = " + USER_ID);
                    });
                });
            });
            jQuery(function () {
                jQuery('#statusAtual').load('profile?mode=editprofile&page_profil=informations #profile_field_13_19', function () {
                    jQuery('#statusAtual').hide();
                    var statusText = jQuery('#statusAtual #profile_field_13_19').val();
                    jQuery('#statusTitle').html('Status atual: <br/><span id="statusAtualText">"' + statusText + '"</span>');
                });
            });
        </script>       
   </div>
</div>
 <style>#statusTitle br {
  display: none;
}
#statusTitle {
  white-space:nowrap;
  width: 100%;                 
  overflow:hidden;
  text-overflow:ellipsis;
}</style>

Substitui o ID do campo mais note como ficou:

De inicio aparece o campo atual do perfil como pode ver abaixo.



mas tento alterar e quando clico em Ok veja o que acontece.



o mesmo fica atualizando infinitamente e quando atualizo a página, retorna o status que tentei alterar...

qual seria o problema?
avatar

Connor R.
Usuário destaque

Masculino
Inscrito dia : 06/08/2012
Mensagens : 978
Pontos Ativos : 1594

Ver perfil do usuário http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

Resolvido Re: Widget de Atualizar Status

Mensagem por Hancki em 01/09/14, 06:34 am

Não sei se vai funcionar agora, mas devia... mas tente este código no widget:
Código:
<div class="module main">
      
   <div class="main-head">
             
      <div id="statusTitle" class="h3">
                     <span id="statusAtual">Carregando status atual...</span>       
      </div>
         
   </div>
      
   <div class="main-content clearfix">
             
      <div id="statusUpdateBody">
                    
         <center>
                            <input style="width: 100px;" type="text" id="statusUpdate" />               
            <button style=" margin-top: -3px; " class="button2" id="statusUpdateButton">
               OK
            </button>
                            <br />Atualize seu status aqui. Coloque coisas pequenas e não ofensivas.           
         </center>
                
      </div>
              <script>
            jQuery(function() {
    jQuery('#statusUpdateButton').click(function() {
        var USER_ID = _userdata["user_id"];
        var statusText = jQuery('#statusUpdate').val();
        var TID = jQuery('input[name="tid"]').val() + '';
        jQuery.post("/ajax_profile.forum?jsoncallback=?", {
            id: "1",
            user: USER_ID,
            active: "1",
            content: '[["profile_field_13_19", "' + statusText + '"]]',
            tid: TID
        }, function(data) {
            jQuery('#statusUpdate').val('');
            jQuery('#statusTitle').html('Carregando novo estado...<span id="statusNovoAtual" style="display:none;"></span>');
            jQuery('#statusNovoAtual').load('profile?mode=editprofile&page_profil=informations #profile_field_13_19', function() {
                jQuery('#statusNovoAtual').hide();
                var statusTextAtual = jQuery('#statusNovoAtual #profile_field_13_19').val();
                jQuery('#statusTitle').html('Status atual: <br/><span id="statusAtualText">"' + statusTextAtual + '"</span>');
                var statusTextChat = jQuery('#statusAtualText').text();
            });
            console.log("OK: ajax_profile, userID = " + USER_ID);
        }, "json").fail(function() {
            alert("Houve um erro a atualizar o status! Se este problema persistir, contate os administradores.")
            console.log("error: ajax_profile, userID = " + USER_ID);
        });
    });
 });
 jQuery(function() {
    jQuery('#statusAtual').load('profile?mode=editprofile&page_profil=informations #profile_field_13_19', function() {
        jQuery('#statusAtual').hide();
        var statusText = jQuery('#statusAtual #profile_field_13_19').val();
        jQuery('#statusTitle').html('Status atual: <br/><span id="statusAtualText">"' + statusText + '"</span>');
    });
 });
        </script>   
   </div>
</div><style>
    #statusTitle {
        margin-top: -0px;
    }
</style>
Remova o anterior.
avatar

Hancki
Principal contribuidor
Principal contribuidor

Masculino
Inscrito dia : 03/10/2009
Mensagens : 8047
Pontos Ativos : 12032

Ver perfil do usuário http://programacaoweb.forumeiros.com/ https://www.facebook.com/djtomoficial https://www.facebook.com/djtomoficial

Resolvido Re: Widget de Atualizar Status

Mensagem por Connor R. em 01/09/14, 08:42 am

Troquei cara...

aparece ainda o status atual, quando tento atualizar, o mesmo não atualiza mantendo o status antigo...
avatar

Connor R.
Usuário destaque

Masculino
Inscrito dia : 06/08/2012
Mensagens : 978
Pontos Ativos : 1594

Ver perfil do usuário http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

Resolvido Re: Widget de Atualizar Status

Mensagem por sant0ro em 01/09/14, 12:23 pm

Código:

jQuery('#statusNovoAtual').load('profile?mode=editprofile&page_profil=informations #profile_field_13_19', function() {
                 jQuery('#statusNovoAtual').hide();
Esta Parte do Código está errada

Código:
#profile_field_13_19

Você deverá Colocar a ID do Campo de Editar Status do Editar PERFIL, e não o ID do Campo de Visualizar Perfil..


Espero ter Ajudado.
avatar

sant0ro
Nível 2

Masculino
Inscrito dia : 30/08/2014
Mensagens : 12
Pontos Ativos : 20

Ver perfil do usuário http://www.m0va.ga https://www.facebook.com/sant0ros https://twitter.com/m0vame

Resolvido Re: Widget de Atualizar Status

Mensagem por Connor R. em 02/09/14, 06:17 am

Este já e a id do campo em editar o perfil...

#profile_field_13_19

o código não teria outro problema?
avatar

Connor R.
Usuário destaque

Masculino
Inscrito dia : 06/08/2012
Mensagens : 978
Pontos Ativos : 1594

Ver perfil do usuário http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

Resolvido Re: Widget de Atualizar Status

Mensagem por sant0ro em 03/09/14, 12:03 pm

Não só poderia ter sido Isso.
avatar

sant0ro
Nível 2

Masculino
Inscrito dia : 30/08/2014
Mensagens : 12
Pontos Ativos : 20

Ver perfil do usuário http://www.m0va.ga https://www.facebook.com/sant0ros https://twitter.com/m0vame

Resolvido Re: Widget de Atualizar Status

Mensagem por Connor R. em 04/09/14, 12:39 pm

Humrum estarei no aguardo de mais opiniões...
avatar

Connor R.
Usuário destaque

Masculino
Inscrito dia : 06/08/2012
Mensagens : 978
Pontos Ativos : 1594

Ver perfil do usuário http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

Resolvido Re: Widget de Atualizar Status

Mensagem por Hancki em 05/09/14, 06:10 am

Vamos lá de novo...
Apague o campo de perfil que tem atualmente!
Depois disso, crie um novo, exatamente como este: http://prntscr.com/4jufmj
Depois disso, me mande o ID do campo, sei que sabe fazer isso. (tire um printscreen)

Depois eu edito o código e vejo isso.

Hancki
avatar

Hancki
Principal contribuidor
Principal contribuidor

Masculino
Inscrito dia : 03/10/2009
Mensagens : 8047
Pontos Ativos : 12032

Ver perfil do usuário http://programacaoweb.forumeiros.com/ https://www.facebook.com/djtomoficial https://www.facebook.com/djtomoficial

Resolvido Re: Widget de Atualizar Status

Mensagem por Connor R. em 05/09/14, 08:23 am

aqui está meu caro..

o print do id do campo criado.



e aqui está o print de como criei o campo.

avatar

Connor R.
Usuário destaque

Masculino
Inscrito dia : 06/08/2012
Mensagens : 978
Pontos Ativos : 1594

Ver perfil do usuário http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

Resolvido Re: Widget de Atualizar Status

Mensagem por Hancki em 05/09/14, 09:26 am

Já fiz vários testes e sinceramente não consigo! Nos meus fóruns de testes dá tudo OK!
O problema só pode ser no seu fórum, outro código que não nos deixa fazer bem as coisas... não sei :/
avatar

Hancki
Principal contribuidor
Principal contribuidor

Masculino
Inscrito dia : 03/10/2009
Mensagens : 8047
Pontos Ativos : 12032

Ver perfil do usuário http://programacaoweb.forumeiros.com/ https://www.facebook.com/djtomoficial https://www.facebook.com/djtomoficial

Resolvido Re: Widget de Atualizar Status

Mensagem por Connor R. em 05/09/14, 09:33 am

Humrum meu caro.. também testei em outros fóruns e funciona normalmente...

mesmo assim o código é funcional e um dia descubro o problema, valeu por tentar resolver...

pode encerrar o tópico.
avatar

Connor R.
Usuário destaque

Masculino
Inscrito dia : 06/08/2012
Mensagens : 978
Pontos Ativos : 1594

Ver perfil do usuário http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

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