User ID

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
retaster

User ID

Beitrag von retaster »

Guten Morgen,

Trotz Suche hier bin ich leider nicht so richtig fündig geworden.
Ist nicht unbedingt ein MOD Problem, deshalb poste ich mal hier.
Ich habe den wer-war-da mod installiert, habe aber noch eine allgemeine Frage.
Hier die Änderungen in der index.php

Code: Alles auswählen

$user_today_text['count_user'] = 'Heute waren bisher <b>{COUNT_USER_TODAY}</b> registrierte User online.';
$user_today_text['zuletzt_um'] = 'zuletzt um';
$user_today_text['no_user'] = 'Heute war bisher kein registrierter User online.';

$mitternacht = mktime(0,0,0,date('m'),date('d'),date('Y'));
$result = $db->sql_query('Select `user_id`, `username`, `user_session_time`, `user_level` FROM '.USERS_TABLE." WHERE `user_session_time` > $mitternacht ORDER BY `user_session_time` DESC");
while( $row = $db->sql_fetchrow($result))
   {
   $user_today .= ($count_user_today > 0) ? ', ' : '';
   $user_today .= '<a href="'.append_sid('profile.php?mode=viewprofile&u='.$row['user_id']).'"';
   $user_today .= ($row['user_level'] == 2) ? ' style="color: #006699'.$theme['fontcolor2'].'"><b>'.$row['username'].'</b></a>' : '';
   $user_today .= ($row['user_level'] != 1 && $row['user_level'] != 2) ? '">'.$row['username'].'</a>' : '';
   $user_today .= ' ('.$user_today_text['zuletzt_um'].' '.date('H:i', $row['user_session_time']).')';
   $count_user_today++;
   }
$user_today_text['count_user'] = ($count_user_today > 0) ? str_replace('{COUNT_USER_TODAY}', $count_user_today, $user_today_text['count_user']) : $user_today_text['no_user'];
$db->sql_freeresult($result);
Jetzt habe ich ausser dem Admin noch einen normalen user mit adminrechten. Dieser wird allerdings bei den besuchern jetzt auch nicht angezeigt. Wo muss ich die user id eintragen, damit nur der admin nicht angezeigt wird.

Danke schon mal

Gruss


Ich habs dann doch hingekriegt, man wächst ja mit seinen Aufgaben. :-)
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Zu Deiner Mod habe ich einige Fragen.
  • Wieso verwendest Du 1 und 2 anstelle von den Konstanten ADMIN und MOD?
  • Ist Dir an dieser Stelle

    Code: Alles auswählen

    $user_today .= ($row['user_level'] != 1 && $row['user_level'] != 2) ? '">'.$row['username'].'</a>' : '';
    aufgefallen dass Du den a-Tag, den Du 2 Zeilen weiter oben öffnest, bei Admins und Mods nicht schliesst?
  • Zwischenbemerkung: Du solltest die Variable $count_user_today vor der Schleife mit 0 initialisieren.
  • Wieso erzeugst Du für Admins und Mods überhaupt einen a-Tag wenn diese doch gar nicht an gezeigt werden sollen?
Also Du willst das alle User mit ihrer letzten Onlinezeit angezeigt werden sollen, nur der Hauptadmin (der mit der userid 2) nicht. Oder sollen sämtliche Admins nicht angezeigt werden? Wenn dann wieso nicht? Wegen der letzten Onlinezeit?

Beantworte mir bitte meine Fragen und ich versuche Dir zu helfen. :)

Grüße,
Tekin
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
retaster

User ID

Beitrag von retaster »

Hallo und Danke zunächst einmal.

Also das hier ist die Anleitung zum MOD. Die hab ich so übernommen, (auch das mit 1 und 2, da ich leider php technisch völliger Laie bin)
FORUM INDEX ÄNDERN
index.php
-----------------------------------------------------------------------

### Suche nach:
init_userprefs($userdata);
### darunter einfügen: (kann so ziemlich an jede Stelle der Seite eingefügt werden)
/*----------WER WAR HEUTE DA HACK----------*/
$user_today_text['count_user'] = 'Heute waren bisher <b>{COUNT_USER_TODAY}</b> registrierte User online.';
$user_today_text['zuletzt_um'] = 'zuletzt um';
$user_today_text['no_user'] = 'Heute war bisher kein registrierter User online.';

$mitternacht = mktime(0,0,0,date('m'),date('d'),date('Y'));
$result = $db->sql_query('Select `user_id`, `username`, `user_session_time`, `user_level` FROM '.USERS_TABLE." WHERE `user_session_time` > $mitternacht ORDER BY `user_session_time` DESC");
while( $row = $db->sql_fetchrow($result))
{
$user_today .= ($count_user_today > 0) ? ', ' : '';
$user_today .= '<a href="'.append_sid('profile.php?mode=viewprofile&u='.$row['user_id']).'"';
$user_today .= ($row['user_level'] == 1) ? ' style="color: #'.$theme['fontcolor3'].'"><b>'.$row['username'].'</b></a>' : '';
$user_today .= ($row['user_level'] == 2) ? ' style="color: #'.$theme['fontcolor2'].'"><b>'.$row['username'].'</b></a>' : '';
$user_today .= ($row['user_level'] != 1 && $row['user_level'] != 2) ? '">'.$row['username'].'</a>' : '';
$user_today .= ' ('.$user_today_text['zuletzt_um'].' '.date('H:i', $row['user_session_time']).')';
$count_user_today++;
}
$user_today_text['count_user'] = ($count_user_today > 0) ? str_replace('{COUNT_USER_TODAY}', $count_user_today, $user_today_text['count_user']) : $user_today_text['no_user'];
$db->sql_freeresult($result);
/*----------WER WAR HEUTE DA HACK----------*/

### Suche nach:
'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),
'TOTAL_USERS' => sprintf($l_total_user_s, $total_users),
'NEWEST_USER' => sprintf($lang['Newest_user'], '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$newest_uid") . '">', $newest_user, '</a>'),
### darunter einfügen:
'COUNT_USER_TODAY' => $user_today_text['count_user'],
'USER_TODAY' => $user_today,




########################################################################
TEMPLATE ÄNDERN
Beispiel: templates/subSilver/index_body.tpl
-----------------------------------------------------------------------
### Suche nach:
<td class="row1" align="center" valign="middle" rowspan="2"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>
### Ersetzen durch:
<td class="row1" align="center" valign="middle" rowspan="3"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>

### Suche nach:
<tr>
<td class="row1" align="left"><span class="gensmall">{TOTAL_USERS_ONLINE} &nbsp; [ {L_WHOSONLINE_ADMIN} ] &nbsp; [ {L_WHOSONLINE_MOD} ]<br />{RECORD_USERS}<br />{LOGGED_IN_USER_LIST}</span></td>
</tr>
### Dahinter einfügen:
<tr><td class="row1" align="left"><span class="gensmall">{COUNT_USER_TODAY}<br />{USER_TODAY}</span></td> </tr>
Aber das Problem hab ich dann doch irgendwie hinbekommen, aber evtl kannst Du mir bei was anderem helfen:
Ich möchte das der admin nicht bei den angemeldeten usern mitgezählt wird. Ich hab zwar schon mal hier im Forum gestöbert, aber die Anleitung dort ist von 2005 und älter und die entsprechenden Code Stellen gibt es z.B in meiner index.php gar nicht. Vielleicht hast Du eine Idee.
Also beim Satz: "Heute waren x registrierte Benutzer online" soll der Admin nicht mitgezählt werden.
Wenn das ohne grösseren Aufwand machbar ist.

Danke schon mal

Gruss
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Da wäre es nützlich sich einen Blick in Deine Scripte index.php und /includes/functions.php zu werfen. Erstelle von denen mal eine Kopie und verlinke dazu.

KB:datei
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
retaster

User ID

Beitrag von retaster »

Hallo,


hier sind die beiden Dateien:
index.txt
functions.txt

Gruss
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Danke.. jetzt seh ich wie diese Mod genau arbeitet. Wir gehen den simpelsten Weg und passen die SQL leicht an.

Ändere

Code: Alles auswählen

$result = $db->sql_query('Select `user_id`, `username`, `user_session_time`, `user_level` FROM '.USERS_TABLE." WHERE `user_session_time`> $mitternacht ORDER BY `user_session_time` DESC" );
in

Code: Alles auswählen

$result = $db->sql_query('Select `user_id`, `username`, `user_session_time`, `user_level` FROM '.USERS_TABLE." WHERE `user_session_time`> $mitternacht AND `user_id` <> 2 ORDER BY `user_session_time` DESC" );
Damit wird der Hauptadmin aus der Zählung und Erkennung ausgeschlossen.
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
retaster

User ID

Beitrag von retaster »

Ja super, Danke,

ich hatte zwar auch schon mit ...
AND user_id
rumgespielt, hatte aber, mangels Kenntnis die Klammern
<>
nichtgesetzt.

Zwischenzeitlich hatte ich mir hiermit beholfen:
$user_today_text['count_user'] = 'Heute waren bisher <b>{COUNT_USER_TODAY}</b> registrierte User online.';
hab ich ausgetauscht in:
// $user_today_text['count_user'] = 'Heute waren folgende User online:';
Zwar nicht die elegante Art..... 8)

Jedenfalls nochmal Danke für die schnelle Hilfe.
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“