JScript

Programação & Desenvolvimento


Você não está conectado. Conecte-se ou registre-se

Membro mais novo!

4 participantes

Ir para baixo  Mensagem [Página 1 de 1]

1Membro mais novo! Empty Membro mais novo! Sáb 24 Ago 2013, 5:36 pm

JScript

JScript
Administradores
Administradores



Membro mais novo
Membro mais novo semelhante ao do IPB

Créditos: JScript
Nota: Versão beta, fase de implementação.
Precisa que você esteja usando o perfil IPBoard do tutorial http://jscript.forumeiros.com/t15-perfil-ipb-v14-20b


- Editando Templates
Aceda em: Painel de Controle -> Visualização -> Templates -> Geral

Selecione o template Overall_header e coloque o código abaixo dentro da tag <head>:
Código:
<link type="text/css" rel="stylesheet" href="https://googledrive.com/host/0BywKunb3ieyDVjg1Y0ljUHFwWEk/profile_view_body.css" />
Selecione o template index_box, procure pela tag <!-- END catrow --> e cole abaixo dela o seguinte código:
Código:

    <div class="main-head">
        <div class="page-title">
            <h2>Membro mais novo</h2>
        </div>
    </div>
    <div class="main-content">
        <table cellspacing="0" class="table">
            <tbody class="statused">
                <!-- / CAT HEADER -->
                <tr class="">
                    <td class="col_c" id="recent_member" style="height: 171px;">
                        <!--/ Code here! -->
                    </td>
                </tr>           
            </tbody>
        </table>
    </div>
No mesmo template, adicione o código abaixo no final do arquivo:
Código:

<script type="text/javascript">
    //<![CDATA[
    /***
    * Shows the newest member!
    * Only one request per session to read member profile to get info!
    * Only show the element if is visible in browser window (view port)!!!
    * Made and Optimizations by JScript - 2013/07/12
    */   
    /* Fire event for 'scroll' to show the newest Member... */
    jQuery(window).on('scroll.newestMember', newestMember(document.getElementById("recent_member")));

    /* Function to check if an element is visible in view port */
    function isInViewPort(elem) {
        var rect = elem.getBoundingClientRect();

        return (
        rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /*or $(window).height() */
        rect.right <= (window.innerWidth || document.documentElement.clientWidth) /*or $(window).width() */ );
    }
    /* Start function to show the newest Member... */
    function newestMember(elem) {
        return function() {
            /* Chech if the element is visible in view port! */
            if (isInViewPort(elem)) {
                /* If visible, stop event!!! */
                jQuery(window).off('scroll.newestMember');
               
                if ($("#statistics").length) {
                    var UserURL = $('#statistics').find('li.lastUser strong a').attr('href');
                } else {
                    var UserURL = $('#stats p:eq(2) a').attr('href');
                }
                var recmb = $('#recent_member');
                /*
                var storeData = sessionStorage.getItem('recent_member');
                if (storeData) {
                    $('#recent_member').html(storeData);
                    return false
                }*/
                recmb.load(UserURL + ' #profile_background .ipsVerticalTabbed', function() {
                    var prof = $('#recent_member #profile_content_main');
                    recmb.find('ul.clear2').hide();
                    var panes = recmb.find('#profile_panes_wrap');
                    panes.hide();
                    prof.css('margin-bottom', '0');
                    prof.find('#user_status_cell').hide();
                    prof.find('#user_utility_links').css('float', 'right');
                    recmb.find('#profile_photo').css({ 'max-height' : '138px', 'max-width' : '138px' });
                    recmb.find('.ipsVerticalTabbed_content').css({ 'min-height' : '100px', 'max-height' : '238px' });
                    recmb.find('div.warn_panel').remove();
                    $('#profile_tabs').append('<p style="text-align: center;"><strong>Seja bem vindo!</strong></p>');
                    /*sets default user image*/
                    var $Sel = $('#profile_tabs').find('p.short.photo_holder');
                    if($.trim($Sel.find('img').attr('src')) =='') {
                        $Sel.append('<img alt="- foto" src="http://2img.net/i/fa/invision/pp-blank-thumb.png" id="profile_photo" class="ipsUserPhoto">');
                        $('#photo_popup_inner #ips_currentPhoto').append('<img alt="- foto" src="http://2img.net/i/fa/invision/pp-blank-thumb.png" id="profile_photo" class="ipsUserPhoto">');
                    } else {
                        $Sel.find('img').attr('id','profile_photo').addClass('ipsUserPhoto');
                    }
                    /*sets joined in*/
                    $('#user_info_cell').find('span.joined_in').html($('#field_id-4').find('div.field_uneditable').text()); /*id-4 => "Data de inscrição"*/   
                    /*sets state*/
                    if($.trim($('#user_status').text()) == 'conectado') {
                        $('#user_info_cell #user_connected').html('online').addClass('ipsBadge_green').removeClass('ipsBadge_lightgrey');
                    } else {
                        $('#user_info_cell #user_connected').html('offline').addClass('ipsBadge_lightgrey').removeClass('ipsBadge_green');
                    };
                    var inter = $.trim(panes.find('#field_id6 div.field_uneditable').text());
                    var magic = $.trim(panes.find('#field_id9 div.field_uneditable').text());
                    if (inter == '-'){inter = "Sem informações";}
                    if (magic == '-'){magic = "Sem informações";}
                    prof.append(
                        '<br><div class="general_box clearfix" style="margin-top: 25px; margin-bottom: 5px;"><h3 style="padding: 2px;"></h3></div>',
                        '<p><strong>Interests: </strong>' + inter + '</p><p><strong>Magic Answer: </strong>' + magic + '</p>'
                    );
                    /*sessionStorage.setItem('recent_member', $('#recent_member').html());*/
                });
            }
        }
    } 
    //]]>
</script>
Tem que ser colocado no final do template Index_box!

- Resultado
Membro mais novo! Newmem10

Link para visualização: http://jscript.forumeiros.com/





PunBB Forumeiros


Se tiver alguma dúvida relacionada com este tópico crie um tópico com o seguinte título:
Membro mais novo!

http://autoitbrasil.com

2Membro mais novo! Empty Re: Membro mais novo! Qua 29 Jan 2014, 8:39 pm

waghcwb

waghcwb
Desenvolvedores
Desenvolvedores

Muito bom, só não tive a oportunidade de testar ainda...

http://wagneraugusto.com.br/

3Membro mais novo! Empty Re: Membro mais novo! Sex 06 Mar 2015, 7:42 pm

Dark-Avenger

Dark-Avenger
Membro
Membro

Olá @JScript,
É possível atualizar este código para trabalhar com perfil avançado?

4Membro mais novo! Empty Re: Membro mais novo! Sex 06 Mar 2015, 8:02 pm

JScript

JScript
Administradores
Administradores

@Dark-Avenger

Tem sim, mas infelizmente alguns itens não irão aparecer pois a aparência desse código foi baseada em um perfil IPBoard!

JS

http://autoitbrasil.com

5Membro mais novo! Empty Re: Membro mais novo! Sex 06 Mar 2015, 8:15 pm

Dark-Avenger

Dark-Avenger
Membro
Membro

@JScript,
Eu tenho alguns outros códigos que estão trabalhando com perfil avançado, você pode adaptá-lo para o perfil avançado sem exibir os campos que não são compatíveis com o perfil simples?

6Membro mais novo! Empty Re: Membro mais novo! Sex 06 Mar 2015, 9:40 pm

JScript

JScript
Administradores
Administradores

@Dark-Avenger

Ok, então posta ai para que nós possamos avaliar!

JS

http://autoitbrasil.com

7Membro mais novo! Empty Re: Membro mais novo! Sáb 07 Mar 2015, 5:07 am

Dark-Avenger

Dark-Avenger
Membro
Membro

@JScript,
Eu acho que mais fácil simplesmente atualizar o código Membro mais novo para trabalhar com perfil avançado, em vez de alterar o código perfil IPB.

8Membro mais novo! Empty Re: Membro mais novo! Sáb 07 Mar 2015, 9:25 am

DiogoR.

DiogoR.
Membro
Membro

Dark-Avenger escreveu:@JScript,
Eu acho que mais fácil simplesmente atualizar o código Membro mais novo para trabalhar com perfil avançado, em vez de alterar o código perfil IPB.

Olá,
Depende, se todos os seus códigos do Perfil Avançado der para trocar para funcionar no Perfil IPB é muito melhor uma vez que depois o efeito seria o mesmo, enquanto que o "Membro mais novo" for trocado para funcionar em Perfil Avançado como disse o nosso grande amigo @jScript algumas partes não iram funcionar e isso não seria bom.

Além do mais o Perfil IPB é muito mais bonito e organizado que o Perfil Avançado.

Até Mais...

9Membro mais novo! Empty Re: Membro mais novo! Sáb 07 Mar 2015, 6:58 pm

Dark-Avenger

Dark-Avenger
Membro
Membro

Olá,
Concordo @Diogo o perfil IPB é mais bonita do que perfil avançado, mas nós temos um monte de códigos que estão trabalhando com perfil avançado e precisamos voltar a escrevê-los desde o início para trabalhar com perfil IPB. Eu acho que nós devemos encontrar um formato universal para trabalhar todos os códigos com perfil IPB ou re-escrever apenas o perfil IPB para trabalhar com todo o perfil avançado. Por este caminho, temos que re-escrever apenas o perfil IPB e não re-escrever todos os outros códigos para trabalhar com perfil simples.

Cumprimentos,
Dark-Avenger

Conteúdo patrocinado



Ir para o topo  Mensagem [Página 1 de 1]

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