Seite 2 von 2
Verfasst: 23.04.2007 13:18
von easygo
4seven hat geschrieben:Noch Ansätze für die viewonline.php vorhanden? Hab schon einiges gecheckt. Bis jetzt ohne Erfolg
Ok dann hier noch paar Changes für die viewonline (weil schon nen Tick anders)
Code: Alles auswählen
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'];
}
Kann weg (wie gehabt), nur dann sollte man auch diese Zeile ändern
1 x suchen / ersetzen
Code: Alles auswählen
'TOTAL_REGISTERED_USERS_ONLINE' => sprintf($l_r_user_s, $registered_users) . sprintf($l_h_user_s, $hidden_users),
durch
Code: Alles auswählen
'TOTAL_REGISTERED_USERS_ONLINE' => sprintf($l_r_user_s, $registered_users),
und aus der Zeile
kann das + $hidden_users raus (muss aber nicht)
Ab hier gehts erst richtig los -->
1 x suchen / ersetzen
Code: Alles auswählen
if ( !$row['user_allow_viewonline'] )
{
$view_online = ( $userdata['user_level'] == ADMIN ) ? true : false;
$hidden_users++;
$username = '<i>' . $username . '</i>';
}
else
{
$view_online = true;
$registered_users++;
}
$which_counter = 'reg_counter';
$which_row = 'reg_user_row';
durch
Code: Alles auswählen
if ( !$row['user_allow_viewonline'] )
{
if($userdata['user_level'] == ADMIN)
{
$registered_users++;
$username = '<i>' . $username . '</i>';
$which_counter = 'reg_counter';
$which_row = 'reg_user_row';
}
else
{
$guest_users++;
$username = $lang['Guest'];
$which_counter = 'guest_counter';
$which_row = 'guest_user_row';
}
}
else
{
$registered_users++;
$which_counter = 'reg_counter';
$which_row = 'reg_user_row';
}
$view_online = true;
Viel Spass beim Rausfinden, ob das auch wirklich so passt -->
Versteckte sind a) wie Gäste, werden aber b) den Admins als kursiv
Registrierte gezeigt / easy
Verfasst: 23.04.2007 15:27
von 4seven
Hallo easygo
Hab mir den halben Vormittag und die halbe Nacht

um die Ohren geschlagen und hab jetzt die Lösung. Hab nochmal intensive mad_mannes Ansatz studiert und auf ein paar Boards hin und her probiert. Hier das Ergebnis in
Pos 2. Es scheint alles tadellos zu funktionieren. Allerdings werde ich versuchen, nochmals deine Ansätze zu überprüfen , so das man vielleicht sogar 3 kleine Mods daraus basteln kann, die die Userwünsche variabler bedienen. Doch erstmal die ersten beiden. Testen und Kritik erwünscht. Getestet wurden beide Mods(!) von mir ausreichend auf mehreren Boards. Aber man weiß ja nie
1. Show_No_Hidden_Users
(Versteckte Benutzer werden niemals angezeigt, auch nicht als Gäste. Admins sehen versteckte Benutzer in der User-Anzeige auf der Hauptseite)
Siehe Datei:
Show_No_Hidden_Users.txt
2. Count_Hidden_Users_@_Guests
Inspiriert von mad_manne
(Versteckte Benutzer werden als Gäste gezählt /angezeigt, wobei sie auf der Indexseite verweilen, wenn man als Gast in der "Wer ist Online" - Anzeige nachschaut. Der Admin sieht dort in einem seperatem Row, wer sich tatsächlich wo befindet.)
Zu Pos 2.
Code: Alles auswählen
----------------------------------------------
Count_Hidden_Users_@_Guests - 07/ die 1te
-----------------------------------------------------
--------------------------------------------
Öffne
--------------------------------------------
/includes/page_header.php
----------------------------------------------
Finde
----------------------------------------------
if ( $total_online_users == 0 )
{
$l_t_user_s = $lang['Online_users_zero_total'];
}
--------------------------------------------
Davor füge ein
--------------------------------------------
$guests_online = $guests_online + $logged_hidden_online;
----------------------------------------------
Öffne ----------------------------------------
----------------------------------------------
/language/lang_german/lang_main.php
---------------------------------------------------
Finde und kommentiere markierte $lang - Zeilen aus
---------------------------------------------------
//
// Global Header strings
//
$lang['Registered_users'] = 'Registrierte Benutzer:';
$lang['Browsing_forum'] = 'Benutzer in diesem Forum:';
$lang['Online_users_zero_total'] = 'Insgesamt sind <b>0</b> Benutzer online: ';
$lang['Online_users_total'] = 'Insgesamt sind <b>%d</b> Benutzer online: ';
$lang['Online_user_total'] = 'Insgesamt ist <b>ein</b> Benutzer online: ';
$lang['Reg_users_zero_total'] = 'Kein registrierter, ';
$lang['Reg_users_total'] = '%d registrierte, ';
$lang['Reg_user_total'] = 'Ein registrierter, ';
// $lang['Hidden_users_zero_total'] = 'kein versteckter und ';
// $lang['Hidden_users_total'] = '%d versteckte und ';
// $lang['Hidden_user_total'] = 'ein versteckter und ';
$lang['Guest_users_zero_total'] = 'kein Gast.';
$lang['Guest_users_total'] = '%d Gste.';
$lang['Guest_user_total'] = 'ein Gast.';
$lang['Record_online_users'] = 'Der Rekord liegt bei <b>%s</b> Benutzern am %s.'; // first %s = number of users, second %s is the date.
..weiter unten dasselbe:
//
// Viewonline
//
$lang['Reg_users_zero_online'] = 'Es sind kein registrierter und '; // There are 5 Registered and
$lang['Reg_users_online'] = 'Es sind %d registrierte und ';
$lang['Reg_user_online'] = 'Es ist ein registrierter und '; // There are 5 Registered and
// $lang['Hidden_users_zero_online'] = 'kein versteckter Benutzer online.'; // 6 Hidden users online
// $lang['Hidden_users_online'] = '%d versteckte Benutzer online.'; // 6 Hidden users online
// $lang['Hidden_user_online'] = 'ein versteckter Benutzer online.'; // 6 Hidden users online
$lang['Guest_users_online'] = 'Es sind %d Gste online.';
$lang['Guest_users_zero_online'] = 'Es sind keine Gste online.'; // There are 10 Guest users online
$lang['Guest_user_online'] = 'Es ist ein Gast online.';
$lang['No_users_browsing'] = 'Im Moment sind keine Benutzer im Forum.';
--------------------------------------------
(Bei Bedarf - thx an easygo) Suche
--------------------------------------------
$lang['Reg_users_zero_total'] = 'Kein registrierter, ';
$lang['Reg_users_total'] = '%d registrierte, ';
$lang['Reg_user_total'] = 'Ein registrierter, ';
--------------------------------------------
Ersetze mit
--------------------------------------------
$lang['Reg_users_zero_total'] = 'Kein Registrierter und ';
$lang['Reg_users_total'] = '%d Registrierte und ';
$lang['Reg_user_total'] = 'Ein Registrierter und ';
---------------------------------------------
Finde
----------------------------------------------
//
// That's all Folks!
// -------------------------------------------------
----------------------------------------------
Davor Füge ein
----------------------------------------------
//
// Show_no_Hidden_Users - Anfang
//
$lang['VISIBLE_FOR_ADMINS_ONLY'] = 'Nur für Admins sichtbar';
----------------------------------------------
Öffne ----------------------------------------
----------------------------------------------
/viewonline.php
----------------------------------------------
Finde
----------------------------------------------
$template->assign_vars(array(
'L_WHOSONLINE' => $lang['Who_is_Online'],
'L_ONLINE_EXPLAIN' => $lang['Online_explain'],
----------------------------------------------
Danach Füge ein
----------------------------------------------
'L_VISIBLE_FOR_ADMINS_ONLY' => $lang['VISIBLE_FOR_ADMINS_ONLY'],
---------------------------------------------
Finde
----------------------------------------------
//
// Get auth data
//
$is_auth_ary = array();
$is_auth_ary = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata);
----------------------------------------------
Danach Füge ein
----------------------------------------------
$hidden_as_guest = FALSE;
----------------------------------------------
Finde
----------------------------------------------
$view_online = ( $userdata['user_level'] == ADMIN ) ? true : false;
$hidden_users++;
$username = '<i>' . $username . '</i>';
}
else
{
$view_online = true;
$registered_users++;
}
$which_counter = 'reg_counter';
$which_row = 'reg_user_row';
$prev_user = $user_id;
}
}
else
{
if ( $row['session_ip'] != $prev_ip )
{
$username = $lang['Guest'];
$view_online = true;
$guest_users++;
$which_counter = 'guest_counter';
$which_row = 'guest_user_row';
}
}
$prev_ip = $row['session_ip'];
----------------------------------------------
Ersetze mit
----------------------------------------------
if ( $userdata['user_level'] == ADMIN )
{
$username = '<i>' . $username . '</i>';
$hidden_as_guest = FALSE;
$which_counter = 'hidden_counter';
$which_row = 'hidden_user_row';
$hidden_users++;
}
else
{
$username = $lang['Guest'];
$hidden_as_guest = TRUE;
$which_counter = 'guest_counter';
$which_row = 'guest_user_row';
$guest_users++;
}
$view_online = true;
$prev_user = $user_id;
}
else
{
$view_online = true;
$registered_users++;
$which_counter = 'reg_counter';
$which_row = 'reg_user_row';
$prev_user = $user_id;
}
}
}
else
{
if ( $row['session_ip'] != $prev_ip )
{
$username = $lang['Guest'];
$view_online = true;
$guest_users++;
$which_counter = 'guest_counter';
$which_row = 'guest_user_row';
}
}
$prev_ip = $row['session_ip'];
----------------------------------------------
Finde
----------------------------------------------
else
{
$location_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $row['session_page']);
$location = $forum_data[$row['session_page']];
}
----------------------------------------------
Danach Füge ein
----------------------------------------------
if ( $hidden_as_guest )
{
$location = $lang['Forum_index'];
$location_url = "index.$phpEx";
}
----------------------------------------------
Finde
----------------------------------------------
$template->assign_vars(array(
'TOTAL_REGISTERED_USERS_ONLINE' => sprintf($l_r_user_s, $registered_users) . sprintf($l_h_user_s, $hidden_users),
'TOTAL_GUEST_USERS_ONLINE' => sprintf($l_g_user_s, $guest_users))
);
---------------------------------------------
Danach Füge ein
----------------------------------------------
if ( $userdata['user_level'] == ADMIN )
{
$template->assign_block_vars('switch_admin_viewing', array());
}
----------------------------------------------
Öffne ----------------------------------------
----------------------------------------------
/templates/Euer_Template/viewonline_body.tpl
----------------------------------------------
Finde
----------------------------------------------
<!-- END reg_user_row -->
----------------------------------------------
Danach Füge ein
----------------------------------------------
<!-- Count_Hidden_Users_@_Guests - Anfang -->
<!-- BEGIN switch_admin_viewing -->
<tr>
<td class="catSides" colspan="3" height="28"><span class="cattitle"><b>{TOTAL_HIDDEN_USERS_ONLINE}</b></span><span class="gensmall"><b>{L_VISIBLE_FOR_ADMINS_ONLY}</b></span></td>
</tr>
<!-- END switch_admin_viewing -->
<!-- BEGIN hidden_user_row -->
<tr>
<td width="35%" class="{hidden_user_row.ROW_CLASS}"> <span class="gen"><a href="{hidden_user_row.U_USER_PROFILE}" class="gen">{hidden_user_row.USERNAME}</a></span> </td>
<td width="25%" align="center" nowrap="nowrap" class="{hidden_user_row.ROW_CLASS}"> <span class="gen">{hidden_user_row.LASTUPDATE}</span> </td>
<td width="40%" class="{hidden_user_row.ROW_CLASS}"> <span class="gen"><a href="{hidden_user_row.U_FORUM_LOCATION}" class="gen">{hidden_user_row.FORUM_LOCATION}</a></span> </td>
</tr>
<!-- END hidden_user_row -->
<!-- Count_Hidden_Users_@_Guests - Ende -->
----------------------------------------------
..to be continued ? ...
----------------------------------------------
Verfasst: 23.04.2007 16:01
von easygo
4seven hat geschrieben:Hab mir den halben Vormittag und die halbe Nacht

um die Ohren geschlagen und hab jetzt die Lösung. Hab nochmal intensive mad_mannes Ansatz studiert und auf ein paar Boards hin und her probiert. Hier das Ergebnis in
Pos 2. Es scheint alles tadellos zu funktionieren. Allerdings werde ich versuchen, nochmals deine Ansätze zu überprüfen
Hä? Was wird das denn jetzt für ne abgefahrne Billigteilnummer ??
Wollte einfach nur wissen, ob es so passt (!) von 10 Bildschirmseiten

Zusammenfassung war nicht die Rede.
Und wie ich sehe, hast du das Wesentliche erst übernommen und dann 2 Stunden
dran rumgespielt, aber gut! Was solls.. ich mein, so bist du ja auch zu dem Namen gekommen.
Shit happens! Dann muss ichs halt bei Gelegenheit selber mal austesten.
Aber komm mir nicht nochmal mit solchen Hilferufen daher..
4seven hat geschrieben:Noch Ansätze für die viewonline.php vorhanden? Hab schon einiges gecheckt. Bis jetzt ohne Erfolg
Please! Sonst überrollen mich noch die Tränen vor Lachen :/ easy
Verfasst: 23.04.2007 17:16
von 4seven
Huch, warum Billigteilnummer *g
Es fehlte mir der nötige Input plus richtiger Ansatz und nix da mit 2 Stunden. Die Nacht war lang, meen Jung
Außerdem hab ich Listings studiert. Den entscheidenden Ansatz hast Du mir geliefert (jawohl). Oops, jetzt hab ich grad n Fehler entdeckt und oben gleich korrigiert, (das ist die Strafe *g) > es sollte natürlich
Ersetze mit und nicht
Danach Füge ein heißen
Ich teste derweil weiter

'
Verfasst: 23.04.2007 18:38
von Pyramide
Du hast zuviel Code gepostet, was das Thema unnötig in die Länge zieht und unübersichtlich macht.
Es wäre besser die Datei bzw. den Code als .txt Datei abzuspeichern und dann hier einen Link zu posten - siehe auch KB:datei .
Bitte passe deinen Beitrag an, lies Dir den
phpBB.de-Knigge und den Hinweis zur
Fragestellung und Rechtschreibung durch und beachte diese zukünftig.
Verfasst: 23.04.2007 21:01
von 4seven
Hallo Pyramide
Ich habe jetzt die Posts eingekürzt und 2 txt-Links statt Code gesetzt. Den letzten Code oben habe ich eingekürzt, was auch nötig war. Möchte ihn aber dennoch als weiteren Wegweiser stehen lassen, gewissermassen zum inspirieren, die zukünftigen kompletten Codes werde ich als txt posten.
lg
Verfasst: 23.04.2007 21:02
von 4seven
Hallo nochmal an easygo
Wie Du siehst war ich nicht untätig. Den letzten Entwurf oben habe ich angepasst.
Die Auskommentierungen waren für das
Count_Hidden_Users_@_Guests technisch komplett unnötig, also habe ich sie rausgenommen (Bei
Pos. 1 werd ichs noch checken, ob man was raustreichen kann. Funktionieren tut es erst einmal)
Hatte mich bei
Pos. 2 schon gefreut, aber dann schlug der Cache zu. Also, es sah nur Anfangs gut aus und dann gab es Ungereimtheiten. Dann kam mir eine kleine Eingebung. Seitdem läufts klasse. Also seit ca 3 Stunden, mit verschiedenen Browsern und IP's. Sieht gut aus
Ich bitte weiterhin um Kritik und Anregungen.
Die Kosmetik, wie die Anpassungen der Anzeigen...
Insgesamt sind xy Benutzer online: xy registrierte, xy versteckter und xy Gäste.
oder
Heute haben xy Benutzer diese Seite besucht :: xy registrierte, xy versteckte/r und xy Gäste. Davon xy innerhalb der letzten Stunde.
..sehe ich als kleinere Übung.
Mir geht es erstmal darum, das der Basiscode schlank und effektiv ist.

Verfasst: 29.05.2007 02:31
von 4seven
Wer an einer alternativen Lösung interessiert ist, dem sei noch dieser Mod von
easy wärmstens ans Herz gelegt
