Seite 3 von 3

Verfasst: 29.12.2002 14:23
von Acid
..ich bin im Moment irgendwie überfragt. Das Script mag ned, das ma a vollen Pfad angibt, was Du ja machen musst da sich Seite und Board auf verschiedenen Servern befinden. :-?

Verfasst: 29.12.2002 14:32
von Warren
ich glaube, was net stimmt ist, dass irgendwo noch ein parameter auf die lokale seite verweist, siehst du den irgendwo??

der müsste dann ja auch http://www..... sein

Verfasst: 30.12.2002 09:05
von saerdnaer
nein... also zuerst musst du mal in der online.php folgendes

Code: Alles auswählen

$phpbb_root_path = "http://www.thatrix.net/tensing/"; //path to below files!!!! 
druch folgendes ersetzen

Code: Alles auswählen

$phpbb_root_path = "./"; //path to below files!!!! 
und dann fügst du noch am ende der online.php vor ?> folgendes ein:

Code: Alles auswählen

echo $onlinet;
dann öffnest du deine index.php und löscht folgendes:

Code: Alles auswählen

<?php include('http://www.thatrix.net/tensing/online.php'); ?> 
dann suchst du noch nach

Code: Alles auswählen

echo $onlinet;
und ersetzt es durch

Code: Alles auswählen

include('http://www.thatrix.net/tensing/online.php');
dann sollte die sache funktioneren...

ah

Verfasst: 30.12.2002 12:15
von Warren
kann mir jemand diesen code so verändern, dass der Parameter $onlinet nur: "Zurzeit sind xx Benutzer online!" ausgiebt!

Code: Alles auswählen

<?php
define('IN_PHPBB', true);

$phpbb_root_path = "./"; //path to below files!!!! 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

$userdata = session_pagestart($user_ip, PAGE_INDEX, $session_length); 
init_userprefs($userdata); 

$user_forum_sql = ( !empty($forum_id) ) ? "AND ( u.user_session_page = $forum_id 
   OR s.session_page = $forum_id)" : ""; 

$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip 
   FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s 
   WHERE u.user_id = s.session_user_id 
      AND ( s.session_time >= ".( time() - 300 ) . " 
         OR u.user_session_time >= " . ( time() - 300 ) . " ) 
      $user_forum_sql 
   ORDER BY u.username ASC"; 
$result = $db->sql_query($sql); 
if(!$result) 
{ 
   message_die(GENERAL_ERROR, "Couldn't obtain user/online information.", "", __LINE__, __FILE__, $sql); 
} 

$userlist_ary = array(); 
$userlist_visible = array(); 

$logged_visible_online = 0; 
$logged_hidden_online = 0; 
$guests_online = 0; 
$online_userlist = ""; 

$prev_user_id = 0; 
$prev_session_ip = 0; 

while( $row = $db->sql_fetchrow($result) ) 
{ 
   // User is logged in and therefor not a guest 
   if( $row['session_logged_in'] ) 
   { 
      // Skip multiple sessions for one user 
      if( $row['user_id'] != $prev_user_id ) 
      { 
         $style_color = ""; 
         if( $row['user_level'] == ADMIN ) 
         { 
            $row['username'] = '<b>' . $row['username'] . '</b>'; 
            $style_color = 'style="color:#' . $theme['fontcolor3'] . '"'; 
         } 
         else if( $row['user_level'] == MOD ) 
         { 
            $row['username'] = '<b>' . $row['username'] . '</b>'; 
            $style_color = 'style="color:#' . $theme['fontcolor2'] . '"'; 
         } 

         if( $row['user_allow_viewonline'] ) 
         { 
            $user_online_link = '<a href="' . append_sid($phpbb_root_path."profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>'; 
            $logged_visible_online++; 
         } 
         else 
         { 
            $user_online_link = '<a href="' . append_sid($phpbb_root_path."profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'><i>' . $row['username'] . '</i></a>'; 
            $logged_hidden_online++; 
         } 
          
         if( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN ) 
         { 
            $online_userlist .= ( $online_userlist != "" ) ? ", " . $user_online_link : $user_online_link; 
         } 
      } 
   } 
   else 
   { 
   		if( $row['session_ip'] != $prev_session_ip ){
                   $guests_online++; 
   		}  
   } 

   $prev_user_id = $row['user_id']; 
   $prev_session_ip = $row['session_ip']; 
} 

if( empty($online_userlist) ) 
{ 
   $online_userlist = $lang['None']; 
} 
$online_userlist = ( ( isset($forum_id) ) ? $lang['Browsing_forum'] : $lang['Registered_users'] ) . " " . $online_userlist; 

$total_online_users = $logged_visible_online + $logged_hidden_online + $guests_online; 

if($total_online_users > $board_config['record_online_users']) 
{ 
   $sql = "UPDATE " . CONFIG_TABLE . " 
      SET config_value = '$total_online_users' 
      WHERE config_name = 'record_online_users'"; 
   if( !$result = $db->sql_query($sql) ) 
   { 
      message_die(GENERAL_ERROR, "Couldn't update online user record (nr of users)", "", __LINE__, __FILE__, $sql); 
   } 

   $sql = "UPDATE " . CONFIG_TABLE . " 
      SET config_value = '" . time() . "' 
      WHERE config_name = 'record_online_date'"; 
   if( !$result = $db->sql_query($sql) ) 
   { 
      message_die(GENERAL_ERROR, "Couldn't update online user record (date)", "", __LINE__, __FILE__, $sql); 
   } 

   $board_config['record_online_users'] = $total_online_users; 
   $board_config['record_online_date'] = time(); 
} 

if( $total_online_users == 0 ) 
{ 
   $l_t_user_s = $lang['Online_users_zero_total']; 
} 
else if( $total_online_users == 1 ) 
{ 
   $l_t_user_s = $lang['Online_user_total']; 
} 
else 
{ 
   $l_t_user_s = $lang['Online_users_total']; 
} 

if( $logged_visible_online == 0 ) 
{ 
   $l_r_user_s = $lang['Reg_users_zero_total']; 
} 
else if( $logged_visible_online == 1 ) 
{ 
   $l_r_user_s = $lang['Reg_user_total']; 
} 
else 
{ 
   $l_r_user_s = $lang['Reg_users_total']; 
} 

if( $logged_hidden_online == 0 ) 
{ 
   $l_h_user_s = $lang['Hidden_users_zero_total']; 
} 
else if( $logged_hidden_online == 1 ) 
{ 
   $l_h_user_s = $lang['Hidden_user_total']; 
} 
else 
{ 
   $l_h_user_s = $lang['Hidden_users_total']; 
} 

if( $guests_online == 0 ) 
{ 
   $l_g_user_s = $lang['Guest_users_zero_total']; 
} 
else if( $guests_online == 1 ) 
{ 
   $l_g_user_s = $lang['Guest_user_total']; 
} 
else 
{ 
   $l_g_user_s = $lang['Guest_users_total']; 
} 

$l_online_users = sprintf($l_t_user_s, $total_online_users); 
$l_online_users .= sprintf($l_r_user_s, $logged_visible_online); 
$l_online_users .= sprintf($l_h_user_s, $logged_hidden_online); 
$l_online_users .= sprintf($l_g_user_s, $guests_online); 

$onlinet="$l_online_users<br>$online_userlist<br>"; 
echo $onlinet;
?>

Verfasst: 30.12.2002 13:53
von Warren
sollte doch eigentlich net soo schwer sein...bitte....

denn zurzeit wird folgendes ausgegeben....


Zurzeit sind keine Benutzer online :: kein registrierter, kein versteckter und kein Gast.
Registrierte Benutzer: Keine

Verfasst: 30.12.2002 15:37
von Warren
könnte nicht jemand so nett sein, und mir kurz helfen????

Verfasst: 30.12.2002 17:20
von saerdnaer
du wirrst du wengistens 24 stunden warten können...
also die anzahl wird in der variable $total_online_users gespiechert eigendlich musst du dann nur

Code: Alles auswählen

echo "Zurzeit sind $total_online_users Benutzer online!";
für das

Code: Alles auswählen

echo $onlinet;
reinschreiben...

ah

Verfasst: 30.12.2002 18:53
von Warren
vielen dank, so funktionierts, aber kann ich irgendwie mache, das anstatt 0 keine steht und das wenn ein benutzer online ist, anstatt "Zurzeit sind 1 Benutzer online!", "Zurzeit ist 1 Benutzer online!" steht?

Verfasst: 31.12.2002 11:42
von saerdnaer
ersetz das

Code: Alles auswählen

echo "Zurzeit sind $total_online_users Benutzer online!"; 
druch

Code: Alles auswählen

 if ( $total_online_users == 0 )
{ 
echo "Zurzeit sind keine Benutzer online!"; 
}
else if ( $total_online_users == 1 )
{ 
echo "Zurzeit ist 1 Benutzer online!"; 
}
else
{ 
echo "Zurzeit sind $total_online_users Benutzer online!"; 
}

Verfasst: 31.12.2002 13:03
von Warren
jup, super!!! thanks