Topic Active Users v 1.1
Página 1 de 1
Topic Active Users v 1.1
Topic Active Users v 1.7 |
Créditos: JScript Nota: Versão beta, fase de implementação. O código foi feito para quem tem /portal ou usa uma página html como página principal! |
1º - Campos do Perfil
Aceda em:
Painel de Controle
Usuários e Grupos -> Usuários -> Perfis
Clique em para adicionar um novo campo de perfil, deixe-o exatamente como mostra as figuras abaixo:
Respeitando as letras maiúsculas e minúsculas!
Não esqueça de salvá-lo!
Atenção: Vá em um perfil de um membro e anote o nome do campo, exemplo: Se usa o Firefox, basta selecionar com o botão direito do mouse em cima do campo que foi criado e clique em [Inspecionar elemento], no caso desse tutorial o nome do campo que uso aqui é field_id3 e profile_field_13_3
Imagem de exemplo:
2º - Editando Templates
Aceda em:
Painel de Controle
Visualização -> Templates -> Geral
Selecione o template viewtopic_body, substitua o seguinte código:
- Código:
<div id="pun-info" class="main">
<div id="stats">
{ L_TABS_PERMISSIONS } <br />{ S_AUTH_LIST }</p>
{ LOGGED_IN_USER_LIST }
</div>
</div>
- Código:
<!-- ACTIVE USERS -->
<div class="statistics clear2 clearfix" id="topic_stats">
<div class="active_users" id="topic_active_users">
<h4 class="statistics_head"><span id="topic_total_users">0</span> usuário(s) está(ão) lendo este tópico</h4>
<p class="statistics_brief desc">
<span id="topic_total_members">0</span> membro(s),
<span id="topic_total_visit">0</span> visitante(s) e
<span id="topic_total_anoni">0</span> membros anônimo(s)
</p>
<br>
<ul id="topic_list_users" class="ipsList_inline"></ul>
<!-- BEGIN switch_user_logged_in -->
<br/>
<h4 class="statistics_head">Este tópico já foi visualizado por <span id="topic_total_views">0</span> usuário(s)</h4>
<br/>
<ul id="topic_list_views" class="ipsList_inline"></ul>
<!-- END switch_user_logged_in -->
</div>
</div>
<script type="text/javascript">
//<![CDATA[
$(window).load(function() {
var total_users = 0, last_views = '';
var WereIam = '', target = 0;
var pathname = location.pathname;
var storListViews = pathname;
var storTotalView = pathname + '_views';
$.get('/forum', function (data) {
target = $('#logged_in_user_list', data).find('a');
if (target.length == 0) {
target = $('#onlinelist').find('p:eq(1)').find('a');
}
}).always(function() {
var len = target.length, last_views = '';
if (len == 0) {return false}
searchActiveUsers(target, 0, len, 0);
});
function searchActiveUsers(target, start, len, index){
if (index == len) {
<!-- BEGIN switch_user_logged_in -->
last_views = localStorage.getItem(storListViews);
if (last_views) {
$('#topic_list_views').html(last_views);
$('#topic_total_views').text(localStorage.getItem(storTotalView));
}
<!-- END switch_user_logged_in -->
return false
}
var oThis = $(target[index]);
var USER_ID = oThis.attr('href');
var USERNAME = '<a href="' + USER_ID + '">' + oThis.html() + '</a>';
if (USER_ID.length !== 0) {
$.get(USER_ID, function (data) {
WereIam = $('#field_id3', data).find('div.field_uneditable').text();
}).always(function() {
if (WereIam == pathname) {
if (total_users == 0) {
$('#topic_list_users').append(USERNAME);
} else {
$('#topic_list_users').append(', ' + USERNAME);
}
total_users++;
$('#topic_total_users').text(total_users);
$('#topic_total_members').text(total_users);
<!-- BEGIN switch_user_logged_in -->
last_views = localStorage.getItem(pathname);
if (last_views) {
if (last_views.indexOf(USER_ID) == -1) {
localStorage.setItem(storListViews, last_views + ', ' + USERNAME);
var storValue = localStorage.getItem(storTotalView);
if (storValue == null) storValue = 0;
localStorage.setItem(storTotalView, parseInt(storValue) + 1);
}
} else {
localStorage.setItem(storListViews, USERNAME);
localStorage.setItem(storTotalView, 1);
}
<!-- END switch_user_logged_in -->
}
index++;
try {
searchActiveUsers(target, start, len, index);
} catch (e) {
console.log(index);
}
});
}
}
});
//]]>
</script>
<style type="text/css">
<!--
.clearfix:after {
clear: both;
content: ".";
display: block;
height: 0;
visibility: hidden;
}
.statistics {
border-top: 3px solid #D8D8D8;
line-height: 1.3;
margin: 20px 0 0;
overflow: hidden;
padding: 10px 0;
}
.clear2 {
clear: both;
}
.statistics_head {
font-size: 14px;
font-weight: bold;
}
.desc, .desc.blend_links a, p.posted_info {
color: #777777;
font-size: 12px;
}
-->
</style>
<div id="pun-info" class="main" style="display: none;">
<div id="stats">
<!-- Backup <p>{L_TABS_PERMISSIONS} <br />{S_AUTH_LIST}</p> -->
{LOGGED_IN_USER_LIST}
</div>
</div>
Nota: Substitua no código acima o nome do campo field_id3 pelo nome que anotou no passo anterior!
Selecione o template profile_add_body e adicione no final do arquivo o seguinte código:
- Código:
<script type="text/javascript">
$(function(){
$('.main-content .frm-set dl:contains("_Log")').hide();
});
</script>
E por fim, selecione o template overall_header e adicione o código abaixo dentro da tag < head >:
- Código:
<script type="text/javascript">
//<![CDATA[
<!-- BEGIN switch_user_logged_in -->
/* Where I am? */
$(function () { /* Get the var {TID} */
var TID = $('input[name="tid"]').val() + ''; /* Get the var USER_ID */
var USER_ID = '';
$.get('/profile?mode=editprofile&page_profil=avatars', function (data) {
USER_ID = $('input[name="user_id"]', data).val() + '';
}).always(function () {
/* UPF in: http://jscript.forumeiros.com/t78-atualizar-campos-do-perfil */
$.post("/ajax_profile.forum?jsoncallback=?", {
id: "3",
user: USER_ID,
active: "1",
content: '[["profile_field_13_3", "' + location.pathname + '"]]',
tid: TID
}, function (data) {
console.log("OK: ajax_profile, userID = " + USER_ID);
}, "json").fail(function () {
console.log("error: ajax_profile, userID = " + USER_ID);
});
});
});
<!-- END switch_user_logged_in -->
//]]>
</script>
Nota: Substitua no código acima o nome do campo profile_field_13_3 pelo nome que anotou no passo anterior!
No código acima, procure por {id:"3", e substitua o 3 pelo final do número do campo!
3º - Resultado
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: Topic Active Users v 1.1 |
Última edição por JScript em Ter 20 Ago 2013, 4:40 pm, editado 6 vez(es) (Motivo da edição : Otimizações no código!)
Re: Topic Active Users v 1.1
Olá,
muito bom o recurso, parabéns por desenvolvê-lo e obrigado por compartilhar .
Até mais .
muito bom o recurso, parabéns por desenvolvê-lo e obrigado por compartilhar .
Até mais .
Convidado- Convidado
Re: Topic Active Users v 1.1
@Edit by Mazeko;
Obrigado por compartilhar o código! Realmente ótimo!
Apesar de que encontrei alguns 'problemas' com ele no qual não funciona em meu forum. Estarei criando um tópico para maior esclarecimento!
Att.
Obrigado por compartilhar o código! Realmente ótimo!
Apesar de que encontrei alguns 'problemas' com ele no qual não funciona em meu forum. Estarei criando um tópico para maior esclarecimento!
Att.
Convidado- Convidado
Re: Topic Active Users v 1.1
Realmente na PunBB forumeiros existem códigos e possibilidades as quais eu nunca tinha imaginado.
Este código seria possível em PhpBB3? Talvez substituindo a parte de templates por códigos em JavaScript?
Ps: Parabéns.
Este código seria possível em PhpBB3? Talvez substituindo a parte de templates por códigos em JavaScript?
Ps: Parabéns.
Convidado- Convidado
Re: Topic Active Users v 1.1
Com certeza que sim amigo!
Apesar de aqui só tratarmos de códigos dentro dos templates (isso evita erros!!!), abrirei uma exceção a você e lhe enviarei em breve por MP o necessário pra rodar em seu fórum ok?
Fico bastante feliz que tenha gostado!
Abraços,
JS
Apesar de aqui só tratarmos de códigos dentro dos templates (isso evita erros!!!), abrirei uma exceção a você e lhe enviarei em breve por MP o necessário pra rodar em seu fórum ok?
Fico bastante feliz que tenha gostado!
Abraços,
JS
Re: Topic Active Users v 1.1
Sim, é especificamente para meu fórum: http://staffergroupbr.stuning.net/
Convidado- Convidado
Re: Topic Active Users v 1.1
Olá tentei fazer passo a passo este tutorial mas não encontro o profile_field_13_3. Queria saber se é sempre o mesmo ou muda pra cada fórum.
Obrigado.
Obrigado.
Convidado- Convidado
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|