2016-07-29 7 views
0

Wie der Titel sagt, suche ich nach einer Lösung zum Abrufen einer Liste von Offline-Benutzern einer bestimmten Benutzergruppe. Gibt es eine Problemumgehung?Wie bekomme ich eine Liste von Offline-Benutzern in Joomla 3?

Eigentlich bin ich ein Modul anpassen und offline Benutzer am Front-End anzeigen müssen. Ich würde es sehr schätzen, wenn mir jemand ein Licht gibt.

Vielen Dank im Voraus

+1

Du bist eher um Hilfe zu erhalten, wenn Sie zeigen, was Sie bereits versucht haben (Code-Schnipsel oder Probe von dem, was Sie versucht haben,). –

Antwort

0

Dies ist eine ausgezeichnete Frage. Sie können die folgende Abfrage ausführen:

SELECT * FROM `#__users` WHERE `lastVisitDate` < NOW() - INTERVAL 1 HOUR 

Die obige Abfrage wird davon ausgegangen, dass ein Benutzer, der vor mehr als eine Stunde angemeldet ist nun abgemeldet. Die Sache ist, Sie können nicht 100% Genauigkeit hier haben, weil ein Benutzer sich für 5 Minuten anmelden und dann verlassen kann und ein Benutzer für 16 Stunden non-stop angemeldet werden kann. Die obige Abfrage wird jedoch gute, ungefähre Ergebnisse liefern. Sie können die Intervallzeit immer ändern (z. B. indem Sie sie in INTERVAL 2 HOUR ändern), um Ihren Anforderungen zu entsprechen.

0

Vielen Dank für Ihre Aufmerksamkeit itoctopus.

ich es endlich geschafft, dies durch die folgende Funktion zu erledigen:

public static function getOfflineUserNames($params) 
{ 
    $db  = JFactory::getDbo(); 
    $query = $db->getQuery(true) 
     ->select ($db->quoteName('a.username')) 
     ->from('#__users AS a'); 

    $user = JFactory::getUser(); 
    $query->join('LEFT', '#__session AS m ON m.username = a.username') 
      ->where('m.username IS NULL'); 
    $db->setQuery($query); 
    return (array) $db->loadObjectList(); 
} 
Verwandte Themen