Visualizzare il tempo di connessione totale di un utente

Tutorial Visualizzare il tempo di connessione totale di un utente

Messaggio Da Niko Dom 28 Mar 2021 - 17:42

Visualizzare il tempo di connessione totale di un utente


Definizione

Questa risorsa permetterà di visualizzare dove si desidera il tempo totale di connessione di un utente nel forum.


Installazione Javascript

Andiamo verso Pannello di amministrazione ► , assicuriamoci che la gestione dei codici Javascript sia attivata e creiamo un nuovo codice con queste impostazioni:

  • Titolo: a tua scelta
  • Dove: in tutte le pagine
  • Codice:
    Codice:
    $(function () {
        if (!window.localStorage || !window._userdata || _userdata["user_id"] === -1) return;
        var intervalTime = 19000;
        var savingField = 12;
        var updateLastSeen = function () {
            var now = +new Date();
            var lastSeen = parseInt(localStorage.lastSeenCT);
            localStorage.lastSeenCT = now;
            if (!lastSeen || now - intervalTime - 1000 > lastSeen) {
                return;
            }
            localStorage.timeToAddCT = parseInt(localStorage.timeToAddCT || 0) + now - lastSeen;
            if (localStorage.timeToAddCT > 300000) {
                var timeToAdd = parseInt(localStorage.timeToAddCT / 60000);
                $.get('/u'+uid).then(function (profil) {
                    var currentVal = parseInt($('[name="profile_field_10_'+savingField+'"]', profil).val() || 0);
                    localStorage.fullCT = currentVal + timeToAdd;
                    $.post("/ajax_profile.forum?jsoncallback=?", {
                        user: uid, id: savingField,
                        content: '[["profile_field_10_'+savingField+'", "' + (currentVal + timeToAdd) +'"]]', tid: tid, 'active': 1,
                    }, undefined, 'json').then(function () {
                        localStorage.timeToAddCT %= 60000;
                    });
                });
            }
        };
        var tid = $("input[name=tid]:first").val() || ($("a[href*='&tid=']:first").attr("href") || "").replace(/^.*&tid=([a-z0-9]*)?.*$/, "$1");
        var uid = _userdata["user_id"];
        // update connection time
        setInterval(updateLastSeen, intervalTime);
        updateLastSeen();
        // display connection time
        var $el = $('#displayCT');
        if (!$el.length) return;
        var def = $.when();
        if (localStorage.fullCT === undefined) {
            def = $.get('/u'+uid).then(function (profil) {
                var currentVal = parseInt($('[name="'+savingField+'"]', profil).val() || 0);
                localStorage.fullCT = currentVal;
            });
        }
        def.then(function () {
            var connectionTime = parseInt(localStorage.fullCT || 0);
            var minutes = connectionTime % 60;
            var hours = parseInt(connectionTime / 60) % 24;
            var days = parseInt(connectionTime / 1440);
            $el.text((giorni ? giorni + " giorno" + (days > 1 ? "s" : "") : "") + (ore ? ore+ " ora" + (ore> 1 ? "s" : "") : "") + (minuti + " minuto" + (minuti > 1 ? "s" : "")));
        })
    });


Visualizzare l'informazione

Basterà aggiungere questo codice dove vorremo visualizzare il dato.
Codice:
<span id="displayCT"/>

Il codice HTML deve essere supportato dove volete inserire questo codice.

Campo profilo

Dovremo inoltre creare un nuovo campo profilo in Pannello di amministrazione ► Utenti e gruppi ► Utenti ► Profili ► Campi profilo, inserendo questi parametri:
  • Tipo: Numero
  • Display: [V] Profilo
  • Chi può modificare il valore del suo contenuto? [V] L'utente stesso
  • Visualizza questo campo per gli utenti con almeno lo stato: Membri


Una volta creato, devi tornare al campo e nella barra degli indirizzi dovrebbe esserci "id = 12" o un altro numero:

Visualizzare il tempo di connessione totale di un utente 4SXJtHD

Devi sostituire il numero che hai nel tuo caso in questa riga dello script sopra riportato:
Codice:
    var savingField = 12;


Niko
Niko
Moderatore
Moderatore

Sesso : Maschio
Età : 28
Messaggi : 9573
Località : Provincia di Varese

https://www.fmcodes.net/
Niko è stato ringraziato dall'autore di questo topic.

Visualizza l'argomento precedente Visualizza l'argomento successivo Torna in alto

- Argomenti simili

 
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.