+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Who is online und Session

  1. #1
    Kommt häufiger vorbei Avatar von dietmar930
    Registriert seit
    14.04.2009
    Ort
    weit, weit weg
    Alter
    55
    Beiträge
    291
    Bedankte sich
    22
    Erhielt 47 Danksagungen
    in 46 Beiträgen

    Standard Who is online und Session

    Hallo zusammen,
    ich möchte im Modul Who is online die Real Namen der eingeloggten User anzeigen lassen. Aber jetzt habe ich mich festgebissen. Ich habe in der Datenbank und im Modul recherchiert, und bin momentan der Meinung, das de Daten zur Anzeige im Modul Who is online, aus der Tabelle "jos_Session" geliefert werden.

    Wenn das so ist, bin ich jetzt an dem Punkt, das ich nicht weis, welches Script die Übertragung der Daten aus der Tabelle"jos_users" in die Tabelle "jos_session" steuert.
    wenn meine Vermutungen richtig sind, sollte es doch möglich sein, anstelle des Feldes Username, das Feld Name in die Tabelle "jos_sessions" zu übertragen.

    Vieleicht kann mir jemand auf die Sprünge helfen.

    unter der Rubrik gelöste Threads habe ich einen Beitrag gefunden, der zwar Codeschnipsel für eine Lösung enthält, aber keinerlei Verweise auf irgendein Script.
    Geändert von dietmar930 (29.11.2010 um 08:47 Uhr)
    schöne Grüsse aus der Eifel_ Dietmar
    Bewundernswert sind diejenigen, die erwachsen und fehlerfrei zur Welt kamen __www.Ferienwohnung-Langner.de und mein Hobby
    Wurde Dir geholfen ??? ein Danke find ich immer klasse

  2. #2
    Wohnt hier Avatar von cylance
    Registriert seit
    10.11.2010
    Beiträge
    2.313
    Bedankte sich
    189
    Erhielt 592 Danksagungen
    in 562 Beiträgen

    Standard

    Hattest Du schon mal beim Modul nachgesehen?
    Da müsste die Möglichkeit zum Umstellen sein.

    Edit:
    Stop, hatte ich bei einem Template Override mal gemacht für eine Intranetlösung

    Im Prinzip muss nur das andere Feld aus der Datenbank ausgelesen werden. Wenn jemand zufälligerweise dieses zur Hand hat...
    ...sonst muss ich morgen mal nachsehen.
    Geändert von cylance (24.11.2010 um 18:54 Uhr)
    Meine Kristallkugel hat einen Sprung und die Tarotkarten hat's vom Tisch geweht. Detailierte Informationen sind hilfreich.
    We offer three kinds of service: good - chea p - fast. u can pick 2 of them
    FAQ vorn im Forum gelesen?

  3. #3
    Kommt häufiger vorbei Avatar von dietmar930
    Registriert seit
    14.04.2009
    Ort
    weit, weit weg
    Alter
    55
    Beiträge
    291
    Bedankte sich
    22
    Erhielt 47 Danksagungen
    in 46 Beiträgen

    Standard

    Zitat Zitat von cylance Beitrag anzeigen

    Im Prinzip muss nur das andere Feld aus der Datenbank ausgelesen werden. Wenn jemand zufälligerweise dieses zur Hand hat...
    ...sonst muss ich morgen mal nachsehen.
    Das denke ich auch, und m.E. muß dann das Feld "Name" in der Tabelle "jos_Users" in das Feld "username" der Tabelle "jos_sessions" übertragen werden. Natürlich vorausgesetzt, das Modul "who is online" bezieht die Daten zur Anzeige aus dieser Tabelle.
    schöne Grüsse aus der Eifel_ Dietmar
    Bewundernswert sind diejenigen, die erwachsen und fehlerfrei zur Welt kamen __www.Ferienwohnung-Langner.de und mein Hobby
    Wurde Dir geholfen ??? ein Danke find ich immer klasse

  4. #4
    Wohnt hier Avatar von cylance
    Registriert seit
    10.11.2010
    Beiträge
    2.313
    Bedankte sich
    189
    Erhielt 592 Danksagungen
    in 562 Beiträgen

    Standard

    Zitat Zitat von dietmar930 Beitrag anzeigen
    Das denke ich auch, und m.E. muß dann das Feld "Name" in der Tabelle "jos_Users" in das Feld "username" der Tabelle "jos_sessions" übertragen werden. Natürlich vorausgesetzt, das Modul "who is online" bezieht die Daten zur Anzeige aus dieser Tabelle.
    Also um nochmal auf die Aufgabenstellung zurückzukommen:

    Bei mod_whoisonline siehst Du in der helper.php, dass nur die jos_session abgefragt wird. Ein Lösungsansatz den ich damals gewählt habe ist die jos_session mit der jos_users über die ID des users in der SQL-Abfrage zu verknüpfen.

    Der Nachteil an der Sache ist, dass es ein Core-Hack ist der beim nächsten Update überschrieben werden kann.

    Hilft Dir das weiter?
    Meine Kristallkugel hat einen Sprung und die Tarotkarten hat's vom Tisch geweht. Detailierte Informationen sind hilfreich.
    We offer three kinds of service: good - chea p - fast. u can pick 2 of them
    FAQ vorn im Forum gelesen?

  5. Erhielt Danksagungen von:


  6. #5
    Kommt häufiger vorbei Avatar von dietmar930
    Registriert seit
    14.04.2009
    Ort
    weit, weit weg
    Alter
    55
    Beiträge
    291
    Bedankte sich
    22
    Erhielt 47 Danksagungen
    in 46 Beiträgen

    Standard

    Danke für die Antworten, werde mich wohl in den nächsten Wochen intensiver mit PHP beschäftigen, und dann schaun wir mal..

    ..die Sache ist kein "muß", aber es würde mir gefallen wenn es denn funktioniert.
    schöne Grüsse aus der Eifel_ Dietmar
    Bewundernswert sind diejenigen, die erwachsen und fehlerfrei zur Welt kamen __www.Ferienwohnung-Langner.de und mein Hobby
    Wurde Dir geholfen ??? ein Danke find ich immer klasse

  7. #6
    Wohnt hier Avatar von cylance
    Registriert seit
    10.11.2010
    Beiträge
    2.313
    Bedankte sich
    189
    Erhielt 592 Danksagungen
    in 562 Beiträgen

    Standard Nachtrag

    So nachdem ich die letzten Tage etwas mit dem "Weihnachtsrummel" beschäftigt war greife ich nochmal die Anregung von Orpheus auf und erkläre das Vorgehen

    in der helper.php steht suche die usernamen aus der tabelle session, Dubletten nimmst Du nur einmal
    Code:
    		$query = 'SELECT DISTINCT a.username' .
    				 ' FROM #__session AS a' .
    				 ' WHERE client_id = 0' .
    				 ' AND a.guest = 0';
    wir ändern das ab in name aus der Tabelle users, damit die Weiterverarbeitung passt, wird die Ausgabe von name in username umbenannt. Die Verknüpfung erfolgt über users.id und session.userid
    Code:
           $query = 'SELECT DISTINCT name AS username FROM #__users '
                     . ' INNER JOIN #__session ON #__users.id = #__session.userid'
                     . ' WHERE #__session.client_id = 0 AND #__session.guest = 0';
    und damit das ganze eleganter aussieht führen wir noch einen Alias ein und erhalten
    PHP-Code:
           $query 'SELECT DISTINCT a.name AS username FROM #__users AS a '
                      
    ' INNER JOIN #__session AS b ON a.id = b.userid'
                      
    ' WHERE b.client_id = 0 AND b.guest = 0'
    Wer sich etwas näher mit SQL beschäftigen möchte und MS-Access Erfahrung hat kann sich den dort generierten Code auch gerne mal ansehen. Allerdings ist der dort generierte Code mit Einschränkung zu geniessen.
    Man kann sich auch über die ODBC-Schnittstelle mit einem Testserver verbinden (den passenden SQL-Treiber nicht vergessen) und dann dort in Abfragen austoben.
    Meine Kristallkugel hat einen Sprung und die Tarotkarten hat's vom Tisch geweht. Detailierte Informationen sind hilfreich.
    We offer three kinds of service: good - chea p - fast. u can pick 2 of them
    FAQ vorn im Forum gelesen?

  8. Erhielt Danksagungen von:


  9. #7
    Kommt häufiger vorbei Avatar von dietmar930
    Registriert seit
    14.04.2009
    Ort
    weit, weit weg
    Alter
    55
    Beiträge
    291
    Bedankte sich
    22
    Erhielt 47 Danksagungen
    in 46 Beiträgen

    Standard

    Zitat Zitat von cylance Beitrag anzeigen
    So nachdem ich die letzten Tage etwas mit dem "Weihnachtsrummel" beschäftigt war greife ich nochmal die Anregung von Orpheus auf und erkläre das Vorgehen

    in der helper.php steht suche die usernamen aus der tabelle session, Dubletten nimmst Du nur einmal
    Code:
    		$query = 'SELECT DISTINCT a.username' .
    				 ' FROM #__session AS a' .
    				 ' WHERE client_id = 0' .
    				 ' AND a.guest = 0';
    wir ändern das ab in name aus der Tabelle users, damit die Weiterverarbeitung passt, wird die Ausgabe von name in username umbenannt. Die Verknüpfung erfolgt über users.id und session.userid
    Code:
           $query = 'SELECT DISTINCT name AS username FROM #__users '
                     . ' INNER JOIN #__session ON #__users.id = #__session.userid'
                     . ' WHERE #__session.client_id = 0 AND #__session.guest = 0';
    und damit das ganze eleganter aussieht führen wir noch einen Alias ein und erhalten
    PHP-Code:
           $query 'SELECT DISTINCT a.name AS username FROM #__users AS a '
                      
    ' INNER JOIN #__session AS b ON a.id = b.userid'
                      
    ' WHERE b.client_id = 0 AND b.guest = 0'
    Wer sich etwas näher mit SQL beschäftigen möchte und MS-Access Erfahrung hat kann sich den dort generierten Code auch gerne mal ansehen. Allerdings ist der dort generierte Code mit Einschränkung zu geniessen.
    Man kann sich auch über die ODBC-Schnittstelle mit einem Testserver verbinden (den passenden SQL-Treiber nicht vergessen) und dann dort in Abfragen austoben.
    Vielen Dank, hat super geklappt
    schöne Grüsse aus der Eifel_ Dietmar
    Bewundernswert sind diejenigen, die erwachsen und fehlerfrei zur Welt kamen __www.Ferienwohnung-Langner.de und mein Hobby
    Wurde Dir geholfen ??? ein Danke find ich immer klasse

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein