Seite 1 von 1

Problem mit ShowBotsInOnlineList

Verfasst: 17.05.2005 01:18
von charlymcfly
Kann mir jemand helfen den Bot in ein forum mit "categorie hierachy mod" einzubauen. Ich komme bei der Page_header.php nicht weiter da dort die codes zum einbauen vom categorie mod gelöscht werden soweit ich das verstehe

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------
#
includes/page_header.php

#
#-----[ FIND ]------------------------------------------
#
$guests_online = 0;

#
#-----[ AFTER, ADD ]------------------------------------------
#
$bots_online = 0;
$bots_list = '';

#
#-----[ FIND ]------------------------------------------
#
	$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip

#
#-----[ IN-LINE FIND ]----------------------------------------
#
, s.session_ip

#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, s.SearchBot
  
#
#-----[ FIND ]------------------------------------------
#
			// Skip multiple sessions for one user

			if ( $row['session_ip'] != $prev_session_ip )
			{
				$guests_online++;
			}

#
#-----[ REPLACE WITH ]------------------------------------------
#
			// Skip multiple sessions for one user
			if ( $row['session_ip'] != $prev_session_ip )
			{
				$SearchBot = areyouabot($row['SearchBot'], FALSE);
				if (!strlen($SearchBot))
				{
					$guests_online++;
				}
				else
				{
					$bot_array[$i] = $SearchBot;
					$i++;
				}
			}
#
#-----[ FIND ]------------------------------------------
#
		$prev_session_ip = $row['session_ip'];
	}
	$db->sql_freeresult($result);

#
#-----[ AFTER, ADD ]------------------------------------------
#
   $all_bots = array();
   $all_bots = array_count_values($bot_array);
   while (list ($key, $val) = each ($all_bots))
   {
      if (strlen($bots_list) == 0)
      {
         $bots_list =  $key . '(' . $val . ')';
      }
      else
      {
         $bots_list .=  ', ' . $key . '(' . $val . ')';
      }
   }
   $bots_online = count($all_bots);

#
#-----[ FIND ]------------------------------------------
#
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'];
}

#
#-----[ REPLACE WITH ]------------------------------------------
#
	$l_t_user_s = $lang['Online_usersbots_total'];
/*
	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'];
	}
*/

#
#-----[ FIND ]------------------------------------------
#
	$l_online_users = sprintf($l_t_user_s, $total_online_users);

#
#-----[ REPLACE WITH ]------------------------------------------
#
	$l_online_users = sprintf($l_t_user_s, $total_online_users, $bots_online);

#
#-----[ FIND ]------------------------------------------
#
$template->assign_vars(array(

#
#-----[ BEFORE, ADD ]------------------------------------------
#
if (!strlen($bots_list))
  $bots_list = $lang['no_bots_online'];

#
#-----[ FIND ]------------------------------------------
#
	'TOTAL_USERS_ONLINE' => $l_online_users,

#
#-----[ AFTER, ADD ]------------------------------------------
#
	'L_BOTS_ONLINE' => $bots_list,
	'L_BOTS_TEXT' => $lang['Bots_Text'],
Meine page Header sieht so aus Datei

Verfasst: 17.05.2005 09:47
von roum
Ich komme bei der Page_header.php nicht weiter da dort die codes zum einbauen vom categorie mod gelöscht werden soweit ich das verstehe.
Ich verstehe nicht ganz, was du meinst.
Die Codestellen, die geändert werden sollen kann ich alle problemlos finden.

Verfasst: 17.05.2005 10:44
von charlymcfly
das problem ist das bei mir das so aussieht

Code: Alles auswählen

//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
$s_last_visit = ( $userdata['session_logged_in'] ) ? create_date($board_config['default_dateformat'], $userdata['user_lastvisit'], $board_config['board_timezone']) : '';

//
// Get basic (usernames + totals) online
// situation
//
$logged_visible_online = 0;
$logged_hidden_online = 0;
$guests_online = 0;
$online_userlist = '';
$l_online_users = '';

if (defined('SHOW_ONLINE'))
{

	$user_forum_sql = ( !empty($forum_id) ) ? "AND s.session_page = " . intval($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 ) . "
			$user_forum_sql
		ORDER BY u.username ASC, s.session_ip ASC";
	if( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not obtain user/online information', '', __LINE__, __FILE__, $sql);
	}

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

	$prev_user_id = 0;
	$prev_user_ip = $prev_session_ip = '';

	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("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("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;
				}
			}

			$prev_user_id = $row['user_id'];
		}
		else
		{
			// Skip multiple sessions for one user
			if ( $row['session_ip'] != $prev_session_ip )
			{
				$guests_online++;
			}
		}

		$prev_session_ip = $row['session_ip'];
	}
	$db->sql_freeresult($result);

	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'])
	{
		$board_config['record_online_users'] = $total_online_users;
		$board_config['record_online_date'] = time();

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

		$sql = "UPDATE " . CONFIG_TABLE . "
			SET config_value = '" . $board_config['record_online_date'] . "'
			WHERE config_name = 'record_online_date'";
		if ( !$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not update online user record (date)', '', __LINE__, __FILE__, $sql);
		}
	}

	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);
}
*/
//-- add
$s_last_visit = $user->data['session_logged_in'] ? $user->date($user->data['user_lastvisit']) : '';
$l_online_users = '';
$online_userlist = '';
if ( !isset($page_title) )
{
	$page_title = '';
}
//-- fin mod : categories hierarchy --------------------------------------------

Verfasst: 17.05.2005 11:15
von roum
Hier ist die page_header.php aus deinem ersten Beitrag mit den Änderungen:
page_header.txt

Verfasst: 17.05.2005 20:48
von charlymcfly
Leider kommt bei der page_header.php eine Fehlermeldung:

Code: Alles auswählen

Parse error: parse error in /srv/www/htdocs/web3/html/forum/includes/page_header.php on line 377

Verfasst: 17.05.2005 21:31
von roum
Hmm, entferne mal bitte die Zeile 378.
Da ist ein "*/" übrig geblieben was da bestimmt nicht hin soll.

Ich hoffe das wars :wink:

Verfasst: 17.05.2005 23:11
von charlymcfly
Ebenfalls das klappt nicht da dann die Klammer dadrüber als Fehlermeldung angegeben wird. Nehme ich die auch weg wird der Mod aber nicht angenommen

Ist es nicht so das alles was zwischen diesen beiden Klammern steht
/* Code */
als gelöscht oder nicht benutzt wird? Weil in Zeile 173 doch das gegenstück dazu wäre und der Teil umgeschrieben wird oder bin ich jetzt auf dem Holzweg?

Verfasst: 17.05.2005 23:40
von roum
In Zeile 173 ist tatsächlich ein Gegenstück, was aber nicht alles bis zur Zeile 378 einschließt :o
So wirklich blicke ich da jetzt auch nicht durch.
Hast du noch ein Backup von der Datei (evtl. sogar noch vor dem "categories hierarchy" Mod)? Dann könntest du die Änderungen an der Datei nochmal überprüfen.

Verfasst: 17.05.2005 23:46
von charlymcfly
Ja ich hab backups und so wie es da aussieht schließt der Categorie hierachy Mod zwischen den Zeilen 173-378 alles aus und ersetzt es dann mit einem code dadrunter aber ich weiß leider ned wie ich den bot-mod dort einfügen könnte.