Seite 1 von 1

Deaktivieren der "Online-Status verstecken" Funkti

Verfasst: 12.11.2002 17:03
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

Verfasst: 12.11.2002 17:51
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">

Verfasst: 12.11.2002 23:37
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

Verfasst: 21.11.2002 20:53
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...

Verfasst: 22.11.2002 23:12
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

Verfasst: 25.11.2002 14:09
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>':'');

Verfasst: 25.11.2002 15:10
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?

Verfasst: 25.11.2002 21:55
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>';