Seite 1 von 2
ERLEDIGT: Verstecke User komplett verstecken?
Verfasst: 30.05.2005 19:32
von Skamander
Moin Forum,
wenn man auf der Startseite auf
"Wer ist online" klickt,
bekommt man unter Umständen folgende Anzeige:
Es sind 2 registrierte und ein versteckter Benutzer online.
Nun hätte ich gern, daß dort nur noch die sichtbaren User und die Gäste
gezählt werden, also die versteckten User dort auch nicht mehr auftauchen
(außer für die Admins).
Also quasi sowas:
Es sind 2 registrierte Benutzer und 2 Gäste online.
Läßt sich das realisieren? Wenn ja, wo muß ich was ändern?
Gruß
Sven
Verfasst: 30.05.2005 22:42
von PhilippK
Auf die Schnelle: in der page_header.tpl:
Suchen:
und ersetzen durch:
Code: Alles auswählen
if ( $logged_hidden_online == 0 || $userdata['user_level'] != ADMIN )
Gruß, Philipp
Verfasst: 31.05.2005 07:57
von Skamander
Ich vermute mal, Du meintest die page_header.php? Eine page_header.tpl kann ich nämlich nicht finden
Leider scheint der Code nicht zu funktionieren, denn es hat sich nichts geändert. Danke trotzdem für Deine Mühe.
Verfasst: 31.05.2005 10:30
von PhilippK
Ich meinte die .php
Bist du sicher, dass du den Test ohne Admin-Rechte gemacht hast?
Gruß, Philipp
Verfasst: 31.05.2005 10:49
von Skamander
Jep, hab einen Testuser, der hat normalen Userlevel.
Als Admin habe ich mich im Firefox ausgeloggt und im IE den Testuser eingeloggt. Der verschwindet dann zwar, wenn ich ih auf unsichtbar schalte, aber der Text "Es sind kein registrierter und ein versteckter Benutzer online." bleibt mir erhalten
ein versteckter Benutzer soll aber auch noch verschwinden
Verfasst: 31.05.2005 12:43
von PhilippK
Ich hab jetzt gerade keinen Zugriff auf den Code. Aber nach der Zeile sollte einge schweifte Klammer
folgen. Füge bitte danach
ein, dann sollte es gehen.
Gruß, Philipp
Verfasst: 31.05.2005 19:25
von Skamander
So, hier haben wir eine vorläufige Lösung des Problems:
Code: Alles auswählen
open: viewonline.php
finde:
if( $hidden_users == 0 )
{
$l_h_user_s = $lang['Hidden_users_zero_online'];
}
else if( $hidden_users == 1 )
{
$l_h_user_s = $lang['Hidden_user_online'];
}
else
{
$l_h_user_s = $lang['Hidden_users_online'];
}
ersetze mit:
if( $hidden_users == 0 AND $userdata['user_level'] == ADMIN )
{
$l_h_user_s = $lang['Hidden_users_zero_online'];
}
else if( $hidden_users == 1 AND $userdata['user_level'] == ADMIN )
{
$l_h_user_s = $lang['Hidden_user_online'];
}
else
{
if ( $userdata['user_level'] == ADMIN )
{
$l_h_user_s = $lang['Hidden_users_online'];
}
}
Das Ganze hat nur noch einen kleinen Schönheitsfehler:
Iin der Ausgabe der
viewonline.php steht jetzt folgendes:
Es sind kein registrierter und
Ich denke, daß diese Tabelle aus der viewonline_body.tpl kommt und an folgender Stelle
(Line15) generiert wird:
Code: Alles auswählen
<tr>
<td class="catSides" colspan="3" height="28"><span class="cattitle"><b>{TOTAL_REGISTERED_USERS_ONLINE}</b></span></td>
</tr>
Die Frage ist nun, wo wird dieser Bandwurm erzeugt:
{TOTAL_REGISTERED_USERS_ONLINE}, leider hat meine Textsuche im gesamten Verzeichnis keinen Eintrag zu Tage gefördert. Was muß ich wo ändern, damit aus dem obigen Text ein ordentlicher Satz wird?
Verfasst: 31.05.2005 19:55
von S2B
schau mal in die language/lang_german/lang_main.php. Da müssten mehrere Sprachvariablen für die Ausgabe dieses Strings sein. Ich kann gerade nur leider nicht nachschauen, wie sie genau heißen, weil ich hier keinen Zugriff auf ein phpBB habe.

Verfasst: 31.05.2005 20:23
von Skamander
Danke für Deinen Tip!
Seltsam, das die Suche das nicht gefunden hat, ich hab das komplette Forum local auf der Platte.
Damit ist das Problem dann erschlagen, DANKE an euch beide!
Verfasst: 31.05.2005 23:10
von PhilippK
Dein Skript führt unter Umständen zu 'ner uninitialisierten Variable und damit zu einem evtl. Sicherheitsrisiko. Du solltest auch im letzten Teil den Else-Teil abfangen.
Gruß, Philipp