Seite 1 von 1

Wer war online Mod "WarWarDa" - Problem

Verfasst: 24.02.2006 18:00
von Enta
Moin,

habe den WerWarDa Mod eingebaut und nun folgendes Problem:
Wie man unter diesem Link kann, hat der Einbau soweit funktioniert, allerdings ist unten immer ein großer Abstand auch wenn lediglich 2 Leute heute online waren.
Wie kann ich das ändern?
Danke im Voraus für die Hilfe.

M.f.G. Enta

Ps: Habe folgenden Code eingebaut:

Code: Alles auswählen

#---[Open]--------------------------------------------------------------------------------- 
# 
index.php

#---[Find]--------------------------------------------------------------------------------- 
# 
init_userprefs($userdata);

# 

Code: Alles auswählen

#---[Add]--------------------------------------------------------------------------------- 
# 
/*----------WER WAR HEUTE DA HACK----------*/
###############################  SETTINGS ###############################
$enable_wwd_counter = True; #Enables or disables counting of hidden users and guests
							#Values: True or False
############################### /SETTINGS ###############################
$time = time();
$heute = date('Ymd', $time);
$ip = $_SERVER['REMOTE_ADDR'];
$mitternacht = mktime(0,0,0,date('m', $time),date('d', $time),date('Y', $time));
$user_gmd = ( $userdata['session_logged_in'] ) ? $userdata['user_timezone'] : $board_config['board_timezone'];
###############################  INSTALLATION ###############################
if ( !isset( $board_config['wwd_record_users']) )
{
	$sql = 'INSERT INTO ' . CONFIG_TABLE . " (config_name, config_value) VALUES ('wwd_record_users', '0')";
	if ( !$db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, 'Could not create row `wwd_record_users` in phpBB CONFIG_TABLE', '', __LINE__, __FILE__, $sql);
   	}
	$board_config['wwd_record_users'] = 0;
}

if ( $enable_wwd_counter ) {
	if ( !isset($board_config['wwd_record_time']) ){
		$sql = 'INSERT INTO ' . CONFIG_TABLE . " (config_name, config_value) VALUES ('wwd_record_time', '0')";
  		if ( !$db->sql_query($sql) )
  		{
			message_die(GENERAL_ERROR, 'Could not create row `wwd_record_time` in phpBB CONFIG_TABLE', '', __LINE__, __FILE__, $sql);
   		}
	}
	if ( !isset($board_config['wwd_counter_date']) ){
		$sql = 'INSERT INTO ' . CONFIG_TABLE . " (config_name, config_value) VALUES ('wwd_counter_date', '$heute')";
  		if ( !$db->sql_query($sql) )
  		{
			message_die(GENERAL_ERROR, 'Could not create row `wwd_counter_date` in phpBB CONFIG_TABLE', '', __LINE__, __FILE__, $sql);
   		}
		$sql = 'CREATE TABLE `' . $table_prefix . 'wwd_counter_ips` (`ip` VARCHAR( 15 ) NOT NULL , PRIMARY KEY ( `ip` ))';
  		if ( !$db->sql_query($sql) )
  		{
			message_die(GENERAL_ERROR, 'Could not create table `'. $table_prefix . 'wwd_counter_ips`', '', __LINE__, __FILE__, $sql);
   		}
	}
}
############################### /INSTALLATION ###############################

if ( $enable_wwd_counter ) {
	if ( $board_config['wwd_counter_date'] != $heute ){
		$sql = "UPDATE " . CONFIG_TABLE . "
				SET config_value = '$heute'
				WHERE config_name = 'wwd_counter_date'";
  		if ( !$db->sql_query($sql) )
  		{
			message_die(GENERAL_ERROR, 'Could not update CONFIG_TABLE wwd_counter_date', '', __LINE__, __FILE__, $sql);
	   	}
		$sql = "DELETE FROM `" . $table_prefix . "wwd_counter_ips`";
  		if ( !$db->sql_query($sql) )
  		{
			message_die(GENERAL_ERROR, 'Could not delete ips from PREFIX_wwd_counter_ips table', '', __LINE__, __FILE__, $sql);
   		}
	}
	
	$sql = "DELETE FROM `" . $table_prefix . "wwd_counter_ips`
			WHERE `ip` = '$ip'";
  	if ( !$db->sql_query($sql) )
  	{
		message_die(GENERAL_ERROR, 'Could not delete your ip from PREFIX_wwd_counter_ips table', '', __LINE__, __FILE__, $sql);
   	}
	
	if ( $userdata['session_logged_in'] ) {
	} else {
		$sql = "INSERT INTO `" . $table_prefix . "wwd_counter_ips`
				(ip) VALUES ('$ip')";
  		if ( !$db->sql_query($sql) )
  		{
			message_die(GENERAL_ERROR, 'Could not delete your ip from PREFIX_wwd_counter_ips table', '', __LINE__, __FILE__, $sql);
   		}
	}

}

if ( $userdata['user_level'] == ADMIN )
{
	$sql_add = ", user_allow_viewonline";
}
else
{
	$sql_add2 = "AND user_allow_viewonline = '1'";
}


$sql = "SELECT user_id, username, user_session_time, user_level $sql_add
		FROM " . USERS_TABLE . " 
        WHERE user_session_time > $mitternacht $sql_add2
		ORDER BY user_session_time DESC";

$result = $db->sql_query($sql);

while( $row = $db->sql_fetchrow($result) )
	{
	$user_today .= ($count_user_today > 0) ? ', ' : ''; 
	if ( $row['user_allow_viewonline'] == 0 )
	{
		$user_today .= '<i>';
	}
	$user_today .= '<a href="' . append_sid('profile.php?mode=viewprofile&u=' . $row['user_id']) . '"';
	if ( $row['user_level'] == ADMIN )
	{
		$user_today .=  ' style="color: #' . $theme['fontcolor3'].'"><b>' . $row['username'].'</b></a>';
	}
	elseif ( $row['user_level'] == MOD )
	{
		$user_today .=  ' style="color: #' . $theme['fontcolor2'].'"><b>' . $row['username'].'</b></a>';
	}
	else
	{
		$user_today .= '>' . $row['username'] . '</a>';
	}
	$user_today .= ' (' . $lang['wwd_last'] . ' ' . create_date('H:i', $row['user_session_time'], $user_gmd) . ')';
	if ( $row['user_allow_viewonline'] == 0 )
	{
		$user_today .= '</i>';
	}
	$count_user_today++;
	}



if ( $count_user_today > $board_config['wwd_record_users'] )
	{
	$sql = 'UPDATE ' . CONFIG_TABLE . "	SET config_value = '$count_user_today' WHERE config_name = 'wwd_record_users'";
	if ( !$db->sql_query($sql) )
	{
      message_die(GENERAL_ERROR, 'Could not update row wwd_record_users in phpBB CONFIG_TABLE', '', __LINE__, __FILE__, $sql);
	}
	
	$sql = "UPDATE " . CONFIG_TABLE . " SET config_value = '$time' WHERE config_name = 'wwd_record_time'";
	if ( !$db->sql_query($sql) )
	{
      message_die(GENERAL_ERROR, 'Could not update row wwd_record_time in phpBB CONFIG_TABLE', '', __LINE__, __FILE__, $sql);
	}
	$record_users = $count_user_today;
	$record_time = $time;
} else {
	$record_users = $board_config['wwd_record_users'];
	$record_time = $board_config['wwd_record_time'];
}

$record_text = str_replace('%u', $record_users, $lang['wwd_record']);
$record_text = str_replace('%t', create_date($lang['DATE_FORMAT'], $record_time, $user_gmd), $record_text);

$total_users = $count_user_today;

if ( $enable_wwd_counter ) {
	$sql = 'SELECT `user_active` FROM '.USERS_TABLE." 
        WHERE user_session_time > $mitternacht";
	$result = $db->sql_query($sql);
	if ( !$result )
	{
      message_die(GENERAL_ERROR, 'Could not read number of users from USER_TABLE', '', __LINE__, __FILE__, $sql);
	}
	$hidden = $db->sql_numrows($result) - $count_user_today;
	$total_users += $hidden;
	
	$sql = 'SELECT `ip` FROM `' . $table_prefix . 'wwd_counter_ips`';
	$result = $db->sql_query($sql);
	if ( !$result )
	{
      message_die(GENERAL_ERROR, 'Could not read number of guests from PREFIX_wwd_counter_ips', '', __LINE__, __FILE__, $sql);
	}
	$gaeste = $db->sql_numrows($result);
	$total_users += $gaeste;
}

if ( $enable_wwd_counter ) {

	$user_today_text .= ( $total_users > 1 ) ? str_replace('%d', $total_users, $lang['wwd_c_user_today']) : $lang['wwd_c_one_user'];

	$user_today_text .= ( $count_user_today == 0 || $count_user_today == '' ) ? $lang['Reg_users_zero_total'] : '';
	$user_today_text .= ( $count_user_today == 1 ) ? str_replace('%d', $count_user_today, $lang['Reg_user_total']) : '';
	$user_today_text .= ( $count_user_today > 1 ) ? str_replace('%d', $count_user_today, $lang['Reg_users_total']) : '';

	$user_today_text .= ( $hidden == 0 || $hidden == '' ) ? $lang['Hidden_users_zero_total'] : '';
	$user_today_text .= ( $hidden == 1 ) ? str_replace('%d', $hidden, $lang['Hidden_user_total']) : '';
	$user_today_text .= ( $hidden > 1 ) ? str_replace('%d', $hidden, $lang['Hidden_users_total']) : '';

	$user_today_text .= ( $gaeste == 0 || $gaeste == '' ) ? $lang['Guest_users_zero_total'] : '';
	$user_today_text .= ( $gaeste == 1 ) ? str_replace('%d', $gaeste, $lang['Guest_user_total']) : '';
	$user_today_text .= ( $gaeste > 1 ) ? str_replace('%d', $gaeste, $lang['Guest_users_total']) : '';

} else {
	if ( $count_user_today > 1 ) {
		$user_today_text = str_replace('%u', $count_user_today, $lang['wwd_user_today']);
	} elseif ( $count_user_today == 1 ) {
		$user_today_text = $lang['wwd_one_user'];
	} else {
		$user_today_text = $lang['wwd_no_user'];
	}
}


$db->sql_freeresult($result);
/*----------WER WAR HEUTE DA HACK----------*/

Code: Alles auswählen

#---[Find]--------------------------------------------------------------------------------- 
# 
'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>'), 

Code: Alles auswählen

#---[Add]--------------------------------------------------------------------------------- 
#
'COUNT_USER_TODAY' => $user_today_text . $lang['wwd_copyright'],
'USER_TODAY' => $user_today,
'RECORD_USER_TODAY' => $record_text,

# 
#---[Save and close]---------------------------------------------------------------------------------

Code: Alles auswählen

#---[Open]--------------------------------------------------------------------------------- 
# 
templates/subSilver/index_body.tpl
# Or your personal Template

# 

Code: Alles auswählen

#---[Find]--------------------------------------------------------------------------------- 
# 
<td class="row1" align="center" valign="middle" rowspan="2"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>
# 
#---[Replace with]--------------------------------------------------------------------------------- 
# 
<td class="row1" align="center" valign="middle" rowspan="3"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>

# 
#---[Find]--------------------------------------------------------------------------------- 
# 
  <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>
# 
#---[Add]--------------------------------------------------------------------------------- 
# 
  <tr>
  	<td class="row1" align="left"><span class="gensmall">{COUNT_USER_TODAY}</span><br />
		<div style="height: 150px; overflow: auto" align="justify" class="gensmall">{USER_TODAY}</div>
  		<br /><span class="gensmall">{RECORD_USER_TODAY}</span>
	</td>
  </tr>



################################################################################
                  Language Files (German/English)
################################################################################

Code: Alles auswählen

#---[Open]--------------------------------------------------------------------------------- 
#
language/lang_english/lang_main.php

Code: Alles auswählen

#---[Find]--------------------------------------------------------------------------------- 
#
<?php
# 
#---[Add]--------------------------------------------------------------------------------- 
# 
// "Wer war da"-Mod Language Files
$lang['wwd_user_today'] = 'Today there were <b>%u</b> registered users online.'; #Replace %u with Number of Users today
$lang['wwd_one_user'] = 'Today there was <b>one</b> registered user online.';
$lang['wwd_no_user'] = 'Today there wasn\'t any registered user online.';
$lang['wwd_c_user_today'] = "Today there were %d users online: ";
$lang['wwd_c_one_user'] = "Today there was one User online: ";
$lang['wwd_copyright'] = "\n<!--\n| \"Wer war da\"-Mod for phpBB Forums\n| © 2004 Simon Warta (webmaster128)\n| Download: http://www.phpbb.de/moddb/Wer_war_da\n-->\n";
$lang['wwd_last'] = 'last at';
$lang['wwd_record'] = 'The record is <b>%u</b> registered users on %t.';
// End "Wer war da"-Mod
# 
#---[Save and close]--------------------------------------------------------------------------------- 
# 
language/lang_english/lang_main.php

Verfasst: 24.02.2006 18:45
von Gulaschk@none
hi...mache in deiner indx_body

aus

Code: Alles auswählen

<tr> 
     <td class="row1" align="left"><span class="gensmall">{COUNT_USER_TODAY}</span><br /> 
      <div style="height: 150px; overflow: auto" align="justify" class="gensmall">{USER_TODAY}</div> 
        <br /><span class="gensmall">{RECORD_USER_TODAY}</span> 
   </td> 
  </tr> 
ein

Code: Alles auswählen

]<tr> 
     <td class="row1" align="left"><span class="gensmall">{COUNT_USER_TODAY}</span><br /> 
      <div style="height: 40px; overflow: auto" align="justify" class="gensmall">{USER_TODAY}</div> 
        <br /><span class="gensmall">{RECORD_USER_TODAY}</span> 
   </td> 
  </tr> 
:wink:

Verfasst: 24.02.2006 19:50
von Enta
Danke funktioniert ;).

Lag im Endeffekt also nur hier dran oder:

Code: Alles auswählen

<div style="height: 40px; overflow: auto" align="justify" class="gensmall">{USER_TODAY}</div> 

Verfasst: 24.02.2006 21:06
von Gulaschk@none
Ja habe damals auch probiert das war am besten um so mehr User muss man dann nach unten scrollen ,aber ich habe mir dann die lastvisit eingebaut und dann hatte ich das prob nicht mehr :wink: