Modul mod_whosonline nur bestimmte Namen zeigen
- aldra13
-
Autor
- Neues Mitglied
-
Weniger
Mehr
16 März 2010 20:57 #25245
von aldra13
Modul mod_whosonline nur bestimmte Namen zeigen wurde erstellt von aldra13
Hallo, zusammen!
Ich habe folgendes Problem:
Ich benutze auf meiner Seite das Standardmodul von Joomla mod_whosonline, um die Anzahl der Gäste / Besucher und die Namen angemeldeter User anzuzeigen. Da ich auf meiner Seite ein Forum betreibe und es adann vorkommen kann, dass sehr viele Besucher gleichzeitig angemeldet sind, möchte ich die Anzeige der Namen auf die von Admins und Moderatoren des Forums beschränken. So sieht jeder Seitenbesucher sofort, ob Moderatoren für das Forum online sind.
Das ist mir wichtig, da es das Forum einer Selbsthilfegruppe ist, wo einige User froh sind, einen Ansprechpartner zu finden.
Kann man diese Beschränkung auf bestimmte Benutzer (Superadministratorer und Administratoren) irgendwie erreichen, indem man die function getOnlineMemberNames() in der helper.php ändert?
Vielleicht weiß ja jemand was dazu?!
Gruß, Alex
Meine Joomla-Version: 1.5.15
Hier der Code der Funktion in der helper.php, der vermutlich umgemodelt werden muss:
Ich habe folgendes Problem:
Ich benutze auf meiner Seite das Standardmodul von Joomla mod_whosonline, um die Anzahl der Gäste / Besucher und die Namen angemeldeter User anzuzeigen. Da ich auf meiner Seite ein Forum betreibe und es adann vorkommen kann, dass sehr viele Besucher gleichzeitig angemeldet sind, möchte ich die Anzeige der Namen auf die von Admins und Moderatoren des Forums beschränken. So sieht jeder Seitenbesucher sofort, ob Moderatoren für das Forum online sind.
Das ist mir wichtig, da es das Forum einer Selbsthilfegruppe ist, wo einige User froh sind, einen Ansprechpartner zu finden.
Kann man diese Beschränkung auf bestimmte Benutzer (Superadministratorer und Administratoren) irgendwie erreichen, indem man die function getOnlineMemberNames() in der helper.php ändert?
Vielleicht weiß ja jemand was dazu?!
Gruß, Alex
Meine Joomla-Version: 1.5.15
Hier der Code der Funktion in der helper.php, der vermutlich umgemodelt werden muss:
Code:
function getOnlineMemberNames() {
$db =& JFactory::getDBO();
$result = null;
$query = 'SELECT DISTINCT a.username' .
' FROM #__session AS a' .
' WHERE client_id = 0' .
' AND a.guest = 0';
$db->setQuery($query);
$result = $db->loadObjectList();
if ($db->getErrorNum()) {
JError::raiseWarning( 500, $db->stderr() );
}
return $result;
}
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Tribal6
-
- Offline
-
16 März 2010 23:03 #25246
von Tribal6
Tue das, was du kannst, mit dem was du hast, da wo du bist.
Tribal6 antwortete auf Re: Modul mod_whosonline nur bestimmte Namen zeigen
Hi Alex
Das geht schon, du müsstest aber in der besagten Query zusätzlich noch die Tabelle mit den Admins und Moderatoren des Forums mit einem Join referenzieren. Kommt halt drauf an, welches Forum du benutzt, und wie die Tabellenstruktur der Forums-Benutzerverwaltung aussieht.
Das mod_whosonline fragt "nur" die Joomla-Session-Tabelle ab, und da kannst du höchstens nach Joomla-Usertypen filtern, etwa so:
Aber auf dem richtigen Weg bist du immerhin schon
Cheers
Roger
Das geht schon, du müsstest aber in der besagten Query zusätzlich noch die Tabelle mit den Admins und Moderatoren des Forums mit einem Join referenzieren. Kommt halt drauf an, welches Forum du benutzt, und wie die Tabellenstruktur der Forums-Benutzerverwaltung aussieht.
Das mod_whosonline fragt "nur" die Joomla-Session-Tabelle ab, und da kannst du höchstens nach Joomla-Usertypen filtern, etwa so:
Code:
function getOnlineMemberNames() {
$db =& JFactory::getDBO();
$result = null;
$query = 'SELECT DISTINCT a.username' .
' FROM #__session AS a' .
' WHERE a.client_id = 0' .
' AND a.guest = 0' .
' AND (a.usertype = 'Super Administrator' OR a.usertype = 'Administrator');
$db->setQuery($query);
$result = $db->loadObjectList();
if ($db->getErrorNum()) {
JError::raiseWarning( 500, $db->stderr() );
}
return $result;
}
Aber auf dem richtigen Weg bist du immerhin schon
Cheers
Roger
Tue das, was du kannst, mit dem was du hast, da wo du bist.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- aldra13
-
Autor
- Neues Mitglied
-
Weniger
Mehr
16 März 2010 23:35 #25247
von aldra13
aldra13 antwortete auf Re: Modul mod_whosonline nur bestimmte Namen zeigen
Hi, Roger!
Ich habs mir rel. einfach gemacht: Alle Admins und Superadmins sind gleichzeitig Forumsmoderatoren. Daher kann ich das ganze nur auf die Abfrage reduzieren ob einer Administrator oder Superadministrator ist.
Bin php-Anfänger! Kannst du mir noch mal auf die Sprünge helfen?
Reicht deine Ergänzung in dem Code-Schnipsel dafür aus?
Es soll die korrekte Anzahl aller Gäste und Benutzer der Seite, aber nur die Namen der angemeldeten Admins und Superadmins angezeigt werden. Andere registrierte und angemeldete User sollen aber als Benutzer gezählt werden:
z.B.:
Auf der Seite sind 10 Gäste, 4 angemeldete User, moderator1=Administrator (angemeldet), moderator2=Superadministrator (angemeldet)
gewünschte Modul-Anzeige im Frontend:
Wir haben 10 Gäste und 6 Benutzer online
-> moderator1
-> moderator2
Wäre wirklich dankbar für deine Hilfe!
Gruß, Alex
Ich habs mir rel. einfach gemacht: Alle Admins und Superadmins sind gleichzeitig Forumsmoderatoren. Daher kann ich das ganze nur auf die Abfrage reduzieren ob einer Administrator oder Superadministrator ist.
Bin php-Anfänger! Kannst du mir noch mal auf die Sprünge helfen?
Reicht deine Ergänzung in dem Code-Schnipsel dafür aus?
Es soll die korrekte Anzahl aller Gäste und Benutzer der Seite, aber nur die Namen der angemeldeten Admins und Superadmins angezeigt werden. Andere registrierte und angemeldete User sollen aber als Benutzer gezählt werden:
z.B.:
Auf der Seite sind 10 Gäste, 4 angemeldete User, moderator1=Administrator (angemeldet), moderator2=Superadministrator (angemeldet)
gewünschte Modul-Anzeige im Frontend:
Wir haben 10 Gäste und 6 Benutzer online
-> moderator1
-> moderator2
Wäre wirklich dankbar für deine Hilfe!
Gruß, Alex
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Tribal6
-
- Offline
-
17 März 2010 08:15 #25249
von Tribal6
Tue das, was du kannst, mit dem was du hast, da wo du bist.
Tribal6 antwortete auf Re: Modul mod_whosonline nur bestimmte Namen zeigen
Wenn dem so ist, dann müsste meine geänderte Query für deine Zwecke schon ausreichen:
Die liest in diesem Beispiel nur die Benutzernamen der Usertypen 'Super Administrator' und 'Administrator' aus.
Einfach mal ausprobieren
Die liest in diesem Beispiel nur die Benutzernamen der Usertypen 'Super Administrator' und 'Administrator' aus.
Einfach mal ausprobieren
Tue das, was du kannst, mit dem was du hast, da wo du bist.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- aldra13
-
Autor
- Neues Mitglied
-
Weniger
Mehr
17 März 2010 15:34 #25253
von aldra13
aldra13 antwortete auf Re: Modul mod_whosonline nur bestimmte Namen zeigen
Hi, Roger!
Funktioniert leider nicht:
Frontend wird nicht mehr angezeigt (weiße Seite).
Dafür Fehlermeldung:
"Parse error: syntax error, unexpected T_STRING in [...] \modules\mod_whosonline\helper.php on line 66"
Zeile 66 enthält:
Hier noch mal der komplette Code der (geänderten) helper.php:
Ist nicht ganz der gewünschte Effekt, wenn die Seite gar nicht mehr angezeigt wird.
Gruß, Alex
Funktioniert leider nicht:
Frontend wird nicht mehr angezeigt (weiße Seite).
Dafür Fehlermeldung:
"Parse error: syntax error, unexpected T_STRING in [...] \modules\mod_whosonline\helper.php on line 66"
Zeile 66 enthält:
Code:
' AND (a.usertype = 'Super Administrator' OR a.usertype = 'Administrator');
Hier noch mal der komplette Code der (geänderten) helper.php:
Code:
<?php
/**
* @version $Id: helper.php 10381 2008-06-01 03:35:53Z pasamio $
* @package Joomla
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/
// no direct access
defined('_JEXEC') or die('Restricted access');
class modWhosonlineHelper {
// show online count
function getOnlineCount() {
$db =& JFactory::getDBO();
$sessions = null;
// calculate number of guests and members
$result = array();
$user_array = 0;
$guest_array = 0;
$query = 'SELECT guest, usertype, client_id' .
' FROM #__session' .
' WHERE client_id = 0';
$db->setQuery($query);
$sessions = $db->loadObjectList();
if ($db->getErrorNum()) {
JError::raiseWarning( 500, $db->stderr() );
}
if (count($sessions)) {
foreach ($sessions as $session) {
// if guest increase guest count by 1
if ($session->guest == 1 && !$session->usertype) {
$guest_array ++;
}
// if member increase member count by 1
if ($session->guest == 0) {
$user_array ++;
}
}
}
$result['user'] = $user_array;
$result['guest'] = $guest_array;
return $result;
}
// show online member names
function getOnlineMemberNames() {
$db =& JFactory::getDBO();
$result = null;
$query = 'SELECT DISTINCT a.username' .
' FROM #__session AS a' .
' WHERE a.client_id = 0' .
' AND a.guest = 0' .
' AND (a.usertype = 'Super Administrator' OR a.usertype = 'Administrator');
$db->setQuery($query);
$result = $db->loadObjectList();
if ($db->getErrorNum()) {
JError::raiseWarning( 500, $db->stderr() );
}
return $result;
}
}
Ist nicht ganz der gewünschte Effekt, wenn die Seite gar nicht mehr angezeigt wird.
Gruß, Alex
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Tribal6
-
- Offline
-
17 März 2010 15:47 #25254
von Tribal6
Tue das, was du kannst, mit dem was du hast, da wo du bist.
Tribal6 antwortete auf Re: Modul mod_whosonline nur bestimmte Namen zeigen
...das denke ich auch, ich hab die Query nur im phpMyAdmin ausprobiert, nicht im File. Und da sind die Hochkommas "schief".
Ersetz mal das da
mit dem da
Bei mir läuft's jetzt so.
Ersetz mal das da
Code:
' AND (a.usertype = 'Super Administrator' OR a.usertype = 'Administrator');
mit dem da
Code:
' AND (a.usertype = \'Super Administrator\' OR a.usertype = \'Administrator\')';
Bei mir läuft's jetzt so.
Tue das, was du kannst, mit dem was du hast, da wo du bist.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- aldra13
-
Autor
- Neues Mitglied
-
Weniger
Mehr
17 März 2010 16:05 #25255
von aldra13
aldra13 antwortete auf Re: Modul mod_whosonline nur bestimmte Namen zeigen
Das war's auch bei mir!
Funktioniert jetzt genau wie gewollt.
Vielen Dank für die schnelle und perfekte Hilfe! G_O_O_D O_O_D
Gruß, Alex
Funktioniert jetzt genau wie gewollt.

Vielen Dank für die schnelle und perfekte Hilfe! G_O_O_D O_O_D
Gruß, Alex
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Tribal6
-
- Offline
-
17 März 2010 21:07 #25259
von Tribal6
Tue das, was du kannst, mit dem was du hast, da wo du bist.
Tribal6 antwortete auf Re: Modul mod_whosonline nur bestimmte Namen zeigen
Yo, gerngeschehn....
....dafür ist das Forum ja schliesslich da
....dafür ist das Forum ja schliesslich da
Tue das, was du kannst, mit dem was du hast, da wo du bist.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Buffyison
-
- Neues Mitglied
-
Weniger
Mehr
15 Sep. 2010 23:45 #27052
von Buffyison
Buffyison antwortete auf Re: Modul mod_whosonline nur bestimmte Namen zeigen
Hallo Zusammen
Ich schleich mich mal in diesem Thread ein.
Weil ich denke hier bin ich meiner Frage etwas näher,also ich suche/versuche in der mod_whosonline
folgendes zu ändern "Wir haben 14 Gäste online
1 Mitglied liest --ALTER LINK WURDE ENTFERNT-- "
Aber komme leider auf den Funken wie ich das umsetzten könnte man hat mir in 2 Foren gesagt ich sollte besser auf schon bestehnde Module zurück greifen aber für das Joomla 1.5 gibt es ja nur das mod_whosonline Modul.
nach einigem suchen habe ich das gefunden
Ich weiss nicht ob ich das einsetzten kann,weil wenn würde ich es ja so dann schreiben
Hoffe das Ihr einen Tip für mich habt.
Gruss ANdrea
Ich schleich mich mal in diesem Thread ein.
Weil ich denke hier bin ich meiner Frage etwas näher,also ich suche/versuche in der mod_whosonline
folgendes zu ändern "Wir haben 14 Gäste online
1 Mitglied liest --ALTER LINK WURDE ENTFERNT-- "
Aber komme leider auf den Funken wie ich das umsetzten könnte man hat mir in 2 Foren gesagt ich sollte besser auf schon bestehnde Module zurück greifen aber für das Joomla 1.5 gibt es ja nur das mod_whosonline Modul.
nach einigem suchen habe ich das gefunden
Code:
echo $row['ip']." liest gerade ".$row['where'];
Ich weiss nicht ob ich das einsetzten kann,weil wenn würde ich es ja so dann schreiben
Code:
echo $row['user]." liest gerade ".$row['where'];
Hoffe das Ihr einen Tip für mich habt.
Gruss ANdrea
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Buffyison
-
- Neues Mitglied
-
Weniger
Mehr
16 Sep. 2010 20:17 #27061
von Buffyison
Buffyison antwortete auf Re: Modul mod_whosonline nur bestimmte Namen zeigen
Hallo
Schade ich werd noch verrückt das muss doch ürgentwie gehen HILFE *Heul
Schade ich werd noch verrückt das muss doch ürgentwie gehen HILFE *Heul
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Moderatoren: Tribal6, RePao, Dragonlord, Chris Hoefliger, pascale, adiheutschi.ch