Page 1 of 1

Anzeige der Benutzer, die gerade online sind

PostPosted: 18.02.2014, 21:31
by felixpfeiffer
Hallo,

erst mal Respekt für dieses tolle Tool.

Ich möchte es unter anderem nutzen, um meinen Kunden einen einfachen Weg zu liefern, im Projektablauf mit mir zusammen zu arbeiten.
Nun ist es scheinbar so, dass in der Liste mit den Benutzern, die gerade online sind, alle Benutzer des Systems angezeigt werden.
Das bedeutet, dass jeder Kunde die Namen der anderen Kunden sieht, solange diese online sind, auch wenn beide unterschiedlichen Projekten zugewiesen wurden.

Ich denke es wäre sinnvoll, wenn diese Liste nur die Benutzer anzeigt, die dem/den Projekten des gerade angemeldeten Nutzers zugeordnet wurden.

Danke für das offene Ohr :-)

Re: Anzeige der Benutzer, die gerade online sind

PostPosted: 23.03.2014, 15:04
by joec8l
Hallo Felix, hast du schon eine Lösung? Ich wäre auch daran interessiert.

Re: Anzeige der Benutzer, die gerade online sind

PostPosted: 23.03.2014, 17:57
by felixpfeiffer
joec8l wrote:Hallo Felix, hast du schon eine Lösung? Ich wäre auch daran interessiert.


Leider noch nicht. Ich finde auch nach wie vor keine EInstellungsmöglichkeit, die dies unterbindet.

Es ist sogar so, dass die Benutzer sich, wenn die Chat-Funktion für die Gruppe eingeschaltet ist, gegenseitig anschreiben können.

Re: Anzeige der Benutzer, die gerade online sind

PostPosted: 24.03.2014, 23:26
by StephanK
felixpfeiffer wrote:Ich denke es wäre sinnvoll, wenn diese Liste nur die Benutzer anzeigt, die dem/den Projekten des gerade angemeldeten Nutzers zugeordnet wurden.

Ja, das sollte so sein, finde ich auch.

Man könnte das so lösen:

in der Datei class.user.php diese Zeile suchen:

Code: Select all
function getOnlinelist($offset = 200)

von dort aus diese Zeile suchen:

Code: Select all
$sel = $conn->query("SELECT * FROM user WHERE lastlogin >= $now");

und die auskommentieren oder löschen und statt dessen dieses einfügen:

Code: Select all
        if  (!isset($_SESSION["userid"]))
            return false;
           
        $userid = $_SESSION["userid"];
        $sql = "SELECT * FROM user " .
               "INNER JOIN " .
               "(SELECT DISTINCT t2.user " .
               "FROM projekte_assigned AS t1 " .
               "INNER JOIN projekte_assigned AS t2 " .
               "ON t1.projekt = t2.projekt " .
               "WHERE t1.user = $userid) AS t3 " .
               "ON t3.user = user.id " .
               "WHERE user.lastlogin >= $now " .
               "Order by user.name";
        $sel = $conn->query($sql);