Deaktivieren der "Online-Status verstecken" Funkti

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
Benutzeravatar
__ZüChO__
Mitglied
Beiträge: 17
Registriert: 08.11.2002 01:06
Kontaktdaten:

Deaktivieren der "Online-Status verstecken" Funkti

Beitrag von __ZüChO__ »

Tach erstmal

meine fraghe is eingeltich recht einfach:
ist es irgenwie möglich, die "Online-Status verstecken" Funktion zu deaktivieren?????

wenn das möglich ist dann sagt doch mal bitte besccheidt wie

thx schonmal im vorraus
Benutzeravatar
Mister_X
Ehemaliges Teammitglied
Beiträge: 7102
Registriert: 24.05.2001 02:00
Wohnort: Augsburg

Beitrag von Mister_X »

profile_add_body.tpl

Code: Alles auswählen

        <tr>
          <td class="row1"><span class="gen">{L_HIDE_USER}:</span></td>
          <td class="row2">
                <input type="radio" name="hideonline" value="1" {HIDE_USER_YES} />
                <span class="gen">{L_YES}</span>&nbsp;&nbsp;
                <input type="radio" name="hideonline" value="0" {HIDE_USER_NO} />
                <span class="gen">{L_NO}</span></td>
        </tr>
diesen Code löschen und ich glaube du musst stattdessen noch folgendes einfügen, probiers aber ruhig auch erstmal ohne:

Code: Alles auswählen

<input type="hidden" name="hideonline" value="0">
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Code: Alles auswählen

$l_online_users .= sprintf($l_h_user_s, $logged_hidden_online); 
..solltest noch aus der page_header.php löschen.

Und falls Du scho einige User hast, die sich eventuell scho "versteckt" haben, müsstest Du folgenden Query per phpmyadmin ausführen..
UPDATE phpbb_users SET user_allow_viewonline=1
Benutzeravatar
Simpson
Ehemaliges Teammitglied
Beiträge: 1088
Registriert: 20.05.2002 17:35
Wohnort: Göttingen
Kontaktdaten:

Beitrag von Simpson »

Ich habe dazu noch eine kompliziertere Frage :) und zwar setze ich den Last Visit Mod (Wer war heute online) ein.

Ich möchte jetzt das unter Wer war online auch versteckte User erscheinen, aber unter Who is online nicht. Eigentlich bekommt ja nur der Admin angezeigt wenn ein versteckter User online war.

Leider weis ich nicht, wie ich das umschreiben muß, aber ich weis denke ich wo etwas geändert werden muß, im Mod heisst es in Part 1:

open index.php

#
#-----[ FIND ]------------------------------------------
#

Code: Alles auswählen

//
// Start output of page
#
#-----[ BEFORE, ADD ]------------------------------------------
#

Code: Alles auswählen

//show dayly users mod 
$current_time=time();
$time1Hour=$current_time-3600;
$minutes = date('is', $current_time);
$hour_now = $current_time - (60*($minutes[0].$minutes[1])) - ($minutes[2].$minutes[3]); 
$dato=create_date('H', $current_time,$board_config['board_timezone']);
$timetoday = $hour_now - (3600*$dato); 
$sql = 'SELECT session_ip, MAX(session_time) as session_time FROM '.SESSIONS_TABLE.' WHERE session_user_id="'.ANONYMOUS.'" AND session_time >= '.$timetoday.' AND session_time< '.($timetoday+86399).' GROUP BY session_ip';
if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, "Couldn't retrieve guest user today data", "", __LINE__, __FILE__, $sql); 
while( $guest_list = $db->sql_fetchrow($result))
{ 
	if ($guest_list['session_time'] >$time1Hour) $users_lasthour++;
}
$guests_today = $db->sql_numrows($result);
$sql = 'SELECT user_id,username,user_allow_viewonline,user_level,user_lastlogon FROM ' . USERS_TABLE . ' WHERE user_id!="'.ANONYMOUS.'" AND user_session_time >= '.$timetoday.' AND user_session_time< '.($timetoday+86399).' ORDER BY username'; 
if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, "Couldn't retrieve user today data", "", __LINE__, __FILE__, $sql); 
while( $todayrow = $db->sql_fetchrow($result)) 
{ 
   $style_color = ""; 
   if( $todayrow['user_level'] == ADMIN ) 
   { 
      $todayrow['username'] = '<b>' . $todayrow['username'] . '</b>'; 
      $style_color = 'style="color:#' . $theme['fontcolor3'] . '"'; 
   } 
   else if( $todayrow['user_level'] == MOD ) 
   { 
      $todayrow['username'] = '<b>' . $todayrow['username'] . '</b>'; 
      $style_color = 'style="color:#' . $theme['fontcolor2'] . '"'; 
   }
if ($todayrow['user_lastlogon']>=$time1Hour)
{
	$users_lasthour++;
}
	$users_today_list .= ($users_today_list&& ($todayrow['user_allow_viewonline'] || $userdata[user_level]==ADMIN))? ', ':'';
	$users_today_list.=( $todayrow['user_allow_viewonline'])?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'><b>' . $todayrow['username'] . '</b></a>':(($userdata[user_level]==ADMIN)?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'><i>' . $todayrow['username'] . '</i></a>':'');
	if (!$todayrow['user_allow_viewonline']) $logged_hidden_today++;
	else $logged_visible_today++;
} 
$total_users_today = $db->sql_numrows($result)+$guests_today;
if ( empty($total_users_today) )
{
	$users_today_list = $lang['None'];
}
$users_today_list = $lang['Registered_users'].' ' . $users_today_list;
$l_today_user_s = ($total_users_today) ? ( ( $total_users_today == 1 )? $lang['User_today_total'] : $lang['Users_today_total'] ) : $lang['Users_today_zero_total'];
$l_today_r_user_s = ($logged_visible_today) ? ( ( $logged_visible_today == 1 ) ? $lang['Reg_user_total'] : $lang['Reg_users_total'] ) : $lang['Reg_users_zero_total'];
$l_today_h_user_s = ($logged_hidden_today) ? (($logged_hidden_today == 1) ? $lang['Hidden_user_total'] : $lang['Hidden_users_total'] ) : $lang['Hidden_users_zero_total'];
$l_today_g_user_s = ($guests_today) ? (($guests_today == 1) ? $lang['Guest_user_total'] : $lang['Guest_users_total']) : $lang['Guest_users_zero_total'];
$l_today_users = sprintf($l_today_user_s, $total_users_today);
$l_today_users .= sprintf($l_today_r_user_s, $logged_visible_today); 
$l_today_users .= sprintf($l_today_h_user_s, $logged_hidden_today); 
$l_today_users .= sprintf($l_today_g_user_s, $guests_today); 
Ich denke mal da ist der krams drin und zwar irgendwo in einer Zeile wo was von

Code: Alles auswählen

['user_level'] == ADMIN 
steht, nur was muß ich da in was ändern?

Kann mir jemand bitte helfen...
Benutzeravatar
Simpson
Ehemaliges Teammitglied
Beiträge: 1088
Registriert: 20.05.2002 17:35
Wohnort: Göttingen
Kontaktdaten:

Beitrag von Simpson »

Hm anscheinend wohl doch nicht so einfach wie gedacht, sonst hätte wohl auch schon der Mod Author sich gemeldet. Hatte das dort auch ins Forum reingeschrieben, naja dann nicht, werds überleben :D
Benutzeravatar
Simpson
Ehemaliges Teammitglied
Beiträge: 1088
Registriert: 20.05.2002 17:35
Wohnort: Göttingen
Kontaktdaten:

Beitrag von Simpson »

Okay inzwischen habe ich es teilweise raus, die folgenden Modifikationen führen dazu das alle Gäste und User sehen können welche versteckten User online waren, jetzt ist aber das Problem als Admin oder Moderator kann man das nicht mehr sehen, das heisst also ein Teilerfolg.

Kann mir jemand sagen, was hinter "[user_level]==" stehen muß um das auch der Admin und Moderator wieder sehen kann welche versteckten User online waren?


open index.php

search:

Code: Alles auswählen

$users_today_list .= ($users_today_list&& ($todayrow['user_allow_viewonline'] || $userdata[user_level]==ADMIN))? ', ':'';
replace:

Code: Alles auswählen

$users_today_list .= ($users_today_list&& ($todayrow['user_allow_viewonline'] || $userdata[user_level]==0))? ', ':'';
search:

Code: Alles auswählen

$users_today_list.=( $todayrow['user_allow_viewonline'])?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'>' . $todayrow['username'] . '</a>':(($userdata[user_level]==ADMIN)?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'><i>' . $todayrow['username'] . '</i></a>':'');
replace:

Code: Alles auswählen

$users_today_list.=( $todayrow['user_allow_viewonline'])?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'>' . $todayrow['username'] . '</a>':(($userdata[user_level]==0)?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'><i>' . $todayrow['username'] . '</i></a>':'');
Benutzeravatar
Simpson
Ehemaliges Teammitglied
Beiträge: 1088
Registriert: 20.05.2002 17:35
Wohnort: Göttingen
Kontaktdaten:

Beitrag von Simpson »

Hmm also die Frage vereinfacht sich nach und nach. In der ersten Line habe ich es inzwischen geschafft den User Level rauszunehmen, habe einfach das gelöscht:

Code: Alles auswählen

&& ($todayrow['user_allow_viewonline'] || $userdata[user_level]==ADMIN)
Und es funktioniert, alle User können jetzt das Komma eines versteckten Users sehen, egal ob Mod, User, Admin oder Guest.

Jetzt würde ich gerne aus der zweiten Line auch das mit dem User Level rausnehmen, nur irgendwie was ich auch tue bekomme ich immer "Parse Error" - kann mir jemand mit fundierten PHP Kentnissen da weiter helfen, wie ich diese Level Abfrage rausschmeissen kann, ohne das die Line anschliessend kaputt ist?
Benutzeravatar
Simpson
Ehemaliges Teammitglied
Beiträge: 1088
Registriert: 20.05.2002 17:35
Wohnort: Göttingen
Kontaktdaten:

Beitrag von Simpson »

Hat sich erledigt, habs jetzt, wenns jemand wissen will wie es geht...

open index.php

search:

Code: Alles auswählen

$users_today_list .= ($users_today_list&& ($todayrow['user_allow_viewonline'] || $userdata[user_level]==ADMIN))? ', ':''; 
replace:

Code: Alles auswählen

$users_today_list .= ($users_today_list)? ', ':''; 
search:

Code: Alles auswählen

$users_today_list.=( $todayrow['user_allow_viewonline'])?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'>' . $todayrow['username'] . '</a>':(($userdata[user_level]==ADMIN)?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'><i>' . $todayrow['username'] . '</i></a>':''); 
replace:

Code: Alles auswählen

$users_today_list.=' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'>' . $todayrow['username'] . '</a>'; 
Antworten

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