Fórum dos Fóruns

Fórum dos Fóruns Forumeiros

Welcome FdF Bem-vindo ao fórum de suporte Forumeiros  Muito feliz


Para aproveitar tudo o que o nosso fórum lhe oferece, agradecemos que se identifique, se já é nosso membro, ou que se junte à nossa comunidade, fazendo o seu registo.
Acesso rápido

Fóruns de suporte oficiais
Conectar-se

Esqueci minha senha

Últimos assuntos
» Imagem em determinada área
Hoje à(s) 03:27 pm por Harleen

» Melhorar a aparência desta caixa
Hoje à(s) 03:18 pm por Harleen

» #10422 Forumeiros desativa e reenvia a url para este site
Hoje à(s) 01:35 pm por Shek

» Efeito no avatar em mensagens no tópico
Hoje à(s) 12:35 pm por Harleen

» Remover permissão
Hoje à(s) 11:22 am por Harleen

» Imagem do topico
Hoje à(s) 11:07 am por Harleen

» Template tópicos recentes
Hoje à(s) 10:45 am por Harleen

Perdi minha senha!
Você precisa recuperar sua senha?
Clique aqui
Parceiros Forumeiros
Os membros mais ativos da semana
Kyo Panda
 
Harleen
 
Fatalisss
 
JulioPais
 
Holkis
 
Shek
 
APOllO
 
Forumpw
 
MtX
 
Roger_Crazzy
 

Quem está conectado
236 usuários online :: 5 usuários cadastrados, Nenhum Invisível e 231 Visitantes :: 1 Motor de busca

Angeloid, Connor R., Dark Hunter, Lincoln, Roger_Crazzy

[ Ver toda a lista ]


O recorde de usuários online foi de 3131 em 24/12/09, 01:05 pm

Como colocar um contador de tempo online

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

Resolvido Como colocar um contador de tempo online

Mensagem por Sr.ConnoR em 26/07/16, 04:12 pm

Detalhes da questão


Endereço do fórum: http://fastwhells.forumeiros.com
Versão do fórum: PhpBB3

Descrição


Como faço para colocar um contador de tempo online no meu forum e top 5.. de acordo com esta imagem:
avatar

Sr.ConnoR
Nível 8

Masculino
Inscrito dia : 23/07/2016
Mensagens : 144
Pontos Ativos : 223

http://fastwhells.forumeiros.com
  • 0

Resolvido Re: Como colocar um contador de tempo online

Mensagem por while em 26/07/16, 04:18 pm

Olá autor, quanto ao tempo online, crie um novo javascript com esse código:
Código:

/*******************************************************************************************************
 * Application: elapsedTime (Total Time Spent On Forums)
 * Description: Will show how much time each member spends logged into the site.
 * Version: RC1 - Beta tester only!
 * Made and Optimizations by JScript - 2015/02/18
 * Copyright (c) 2015 JScript <jscriptbrasil at live dot com>
 * This work is free. You can redistribute it and/or modify it
 * under the terms of the WTFPL, Version 2
********************************************************************************************************
-
Variables that can be changed by the user:
1- tTimeOut
2- checkTime
3- fieldName
Note: For those variables "tTimeout" and "checkTime" ->
      - to avoid the "Request Limit" the lowest value should be 10 seconds and 30 seconds respectively!
*/
var elapsedTime = {
  autor:      'JScript',
  version:  '1.02202015-jq1.9.1',
  codename:  'Narmer (Sheikh Muftah)',

  /**
    * Related to database.
    **/
  fieldName:      'Time Online',
  field_id:      0,
  fd_description:  'Will show how much time each member spends logged into the site.',
  db_field:      0,
  db_content:      '',
  db_description:  'Database to store the data of the module elapsedTime!',
  db_url:        '/admin/index.forum?part=users_groups&sub=users&mode=avatar_profil2&extended_admin=1&tid=',
  response:      '',
  evalTextarea:  'jQuery(\'label:contains("elapsedTime_DB"), span:contains("elapsedTime_DB"), dt:contains("elapsedTime_DB")\', response).closest("dl, tr").find("textarea")',

  db_default: {
      appInfo: {
        module:      'elapsedTime_DB',
        description: 'Database to store the data of the module elapsedTime!',
        author:      'JScript',
        version:    'RC1 b',
        release:    '2015/02/18'
      },
      userInfo: {
        isOnline:  1,
        dateOld:  Number(new Date()),
        dateNow:  Number(new Date()),
        dateSpent:  ''
      }
  },

  /**
    * Related to intervals.
    **/
  lInterval:  10,
  tTimeOut:  10000,
  checkTime:  30000,
  setLoop:  0,

  // other variables...
  evalTID:  'jQuery(\'a[href*="tid="]\').attr("href").split("tid=")[1].split("&")[0]',
  TID:      0,

  /**
    * JavaScript/jQuery functions
    */
  initialize: function() {
      $(function() {
        return (!_userdata.session_logged_in) ? false : elapsedTime.setup();
      });
  },

  setup: function() {
      elapsedTime.TID = eval(elapsedTime.evalTID);
      /**
      * First checks if the database exists!
      **/
      jQuery.get('/profile?mode=editprofile', function(response) {
        elapsedTime.response = eval(elapsedTime.evalTextarea);

        // If the database does not exist, then an administrator will create it now!
        if ((!elapsedTime.response.length) && (_userdata.user_level == 1)) {
            elapsedTime.async(false);
            jQuery.post(elapsedTime.db_url + elapsedTime.TID, { /* <- Parameters! */
              /* Post action */
              action:                  'add_field',
              id:                    0,
              type:                  0,
              action:                  'configuration_final',
              list_type_field:        2,
              field_name:              'elapsedTime_DB',
              field_desc:              elapsedTime.db_description + ' - Made by JScript, 2015/02/18',
              field_oblig:            0,
              field_display_profil:      1,
              list_field_type_view:      0,
              list_auth_field_himself:  1,
              list_field_view:        0,
              list_separator:            0,
              field_type_2_lng_max:      15000,
              submit:                  1,
              field_type_11_max_before:  14,
              field_type_11_max_after:  6
            }).done(function() {
              jQuery.get('/profile?mode=editprofile', function(response) {
                  elapsedTime.response = eval(elapsedTime.evalTextarea);
              });
            });
            jQuery.post(elapsedTime.db_url + elapsedTime.TID, { /* <- Parameters! */
              /* Post action */
              action:                  'add_field',
              id:                    0,
              type:                  0,
              action:                  'configuration_final',
              list_type_field:        13,
              field_name:              elapsedTime.fieldName,
              field_desc:              elapsedTime.fd_description + ' - Made by JScript, 2015/02/18',
              field_oblig:            0,
              field_display_message:      1,
              field_display_profil:      1,
              list_field_type_view:      0,
              list_auth_field_himself:  1,
              list_field_view:        -1,
              list_separator:            1,
              field_type_2_lng_max:      15000,
              submit:                  1,
              field_type_11_max_before:  14,
              field_type_11_max_after:  6
            }).done(function(e) {
              // console.log(e)
            });
            elapsedTime.async(true);
        }

        if (!elapsedTime.response.length) {
            return false;
        }

        elapsedTime.db_field = elapsedTime.response.attr('id');

        if (elapsedTime.response.val().length) {
            elapsedTime.db_content = JSON.parse(elapsedTime.response.val().replace(/'/g, '"'));
        }

        if ((!elapsedTime.response.val().length) || (!elapsedTime.db_content.userInfo.isOnline)) {
            elapsedTime.db_content = elapsedTime.db_default;

            elapsedTime.async(false);
              elapsedTime.dataSave(elapsedTime.db_field, JSON.stringify(elapsedTime.db_content).replace(/"/g, "'"));
            elapsedTime.async(true);

            elapsedTime.updateTime();
        }

        if (document.getElementById('fa_welcome') !== null) {
            jQuery('a[href$="logout=1"]').attr('href', jQuery('#logout').attr('href'));
        }
        jQuery('a[href*="logout=1"]').click(function(event) {
            elapsedTime.TID = eval(elapsedTime.evalTID);
            elapsedTime.db_content.userInfo.isOnline = 0;

            elapsedTime.async(false);
              elapsedTime.dataSave(elapsedTime.db_field, JSON.stringify(elapsedTime.db_content).replace(/"/g, "'"));
            elapsedTime.async(true);
        });
        /**
        * Writes the current time in the profile field...
        **/
        setTimeout(function() {
            setInterval(function() {
              elapsedTime.updateTime();
            }, elapsedTime.checkTime);
        }, elapsedTime.tTimeOut);

      }).fail(function(e) {
        console.log(e);
      });
  },

  async: function(mode) {
      jQuery.ajaxSetup({
        async: mode
      });
  },

  dataSave: function(field, content) {
      jQuery.post("/ajax_profile.forum?jsoncallback=?", {
        id: field.split("_")[3],
        user: _userdata.user_id,
        active: "1",
        content: '[["' + field + '", "' + content + '"]]',
        tid: elapsedTime.TID
      }, function(data) {
        // OK!
      }, "json").fail(function(e) {
        console.log(e);
      });
  },

  updateTime: function() {
      elapsedTime.TID = eval(elapsedTime.evalTID);

      jQuery.get('/profile?mode=editprofile', function(response) {
        elapsedTime.response = jQuery('label:contains("' + elapsedTime.fieldName + '"), span:contains("' + elapsedTime.fieldName + '"), dt:contains("' + elapsedTime.fieldName + '")', response).closest('dl, tr').find('input');
        elapsedTime.field_id = elapsedTime.response.attr('id');

        if (elapsedTime.response.length) {
            elapsedTime.response = eval(elapsedTime.evalTextarea);
            elapsedTime.db_content = JSON.parse(elapsedTime.response.val().replace(/'/g, '"'));

            elapsedTime.dataSave(elapsedTime.field_id, elapsedTime.getTime(elapsedTime.db_content.userInfo.dateOld));
        }
      }).fail(function(e) {
        console.log(e);
      });
  },

  getTime: function(date_old, date_now) {
      date_old = date_old || new Date(); //.toLocaleString('en-US', { hour12: false });
      date_now = date_now || new Date(); //.toLocaleString('en-US', { hour12: false });
      //date_old = date_old.split("/").swap(0, 1).join("/");
      //date_now = date_now.split("/").swap(0, 1).join("/");
      date_old = new Date(date_old);
      date_now = new Date(date_now);

      var seconds = Math.floor((date_now - (date_old)) / 1000),
        minutes = Math.floor(seconds / 60),
        hours = Math.floor(minutes / 60),
        days = Math.floor(hours / 24);

      hours = hours - (days * 24);
      minutes = minutes - (days * 24 * 60) - (hours * 60);
      seconds = seconds - (days * 24 * 60 * 60) - (hours * 60 * 60) - (minutes * 60);
      http://console.log(days + "d " + hours + "h " + minutes + "m " + seconds + "s ");
      return ((days) ? days + "d " : "") + ((hours) ? hours + "h " : "") + ((minutes) ? minutes + "m " : "") + ((seconds) ? seconds + "s " : "");
  }
};

elapsedTime.initialize();

Mas, quanto ao top 5 online, requer uso do banco de dados... entende? que no caso a forumeiros não tem... Talvez até seja possível fazer isto com jquery, mas daria um trabalho danado pra fazer e sinceramente, eu não estou nesse nível, chego nem perto.

Espero que compreenda.
Até mais.
avatar

while
Hiperativo

Masculino
Inscrito dia : 24/04/2016
Mensagens : 3105
Pontos Ativos : 4499

http://www.ajuda.forumeiros.com https://www.facebook.com/https://www.facebook.com/profile.php?id=100012157981279

Resolvido Re: Como colocar um contador de tempo online

Mensagem por Sr.ConnoR em 26/07/16, 05:03 pm

OK, Pode fechar
avatar

Sr.ConnoR
Nível 8

Masculino
Inscrito dia : 23/07/2016
Mensagens : 144
Pontos Ativos : 223

http://fastwhells.forumeiros.com

Resolvido Re: Como colocar um contador de tempo online

Mensagem por while em 26/07/16, 05:04 pm

Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada.
Tópico marcado como Resolvido e movido para Questões resolvidas.
avatar

while
Hiperativo

Masculino
Inscrito dia : 24/04/2016
Mensagens : 3105
Pontos Ativos : 4499

http://www.ajuda.forumeiros.com https://www.facebook.com/https://www.facebook.com/profile.php?id=100012157981279

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