Pagina 1 van 1

botsmod color

Geplaatst: 21 apr 2005, 18:41
door funnyman
hallo, ik heb de botsmod geinstalleerd, wil alleen de kleur veraderen bij de 'who is online' krijg dit alleen niet voor elkaar...

hier is de mod, iemand een idee??

Code: Selecteer alles

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

#-----[ FIND ]-------------------------------------------------------
global $SID; 

if ( !empty($SID) && !preg_match('#sid=#', $url) )

#-----[ REPLACE WITH ]-----------------------------------------------
global $SID; 

if ( !empty($SID) && !preg_match('#sid=#', $url) && !IS_ROBOT ) 

#-----[ FIND ]-------------------------------------------------------
	// Create or update the session

#-----[ INSERT BEFORE ]----------------------------------------------
	$robot = ( ( defined('IS_ROBOT') ) ? IS_ROBOT : 0 );

#-----[ INLINE FIND ]------------------------------------------------
session_page = $page_id, session_logged_in = $login

#-----[ INLINE AFTER, ADD ]------------------------------------------
, is_robot = '$robot'

#-----[ INLINE FIND ]------------------------------------------------
session_page, session_logged_in

#-----[ INLINE AFTER, ADD ]------------------------------------------
, is_robot

#-----[ INLINE FIND ]------------------------------------------------
'$user_ip', $page_id, $login

#-----[ INLINE AFTER, ADD ]------------------------------------------
, '$robot'

#-----[ OPEN  ]------------------------------------------------------
viewonline.php 

#-----[ INLINE FIND ]------------------------------------------------
s.session_page, s.session_ip

#-----[ INLINE AFTER, ADD ]------------------------------------------
, s.is_robot

#-----[ FIND ]-------------------------------------------------------
			$username = $lang['Guest'];

#-----[ REPLACE WITH ]-----------------------------------------------
			if($row['is_robot']) 
			{ 
				$username = $row['is_robot'] . ' ( Bots )'; 
			} else {
				$username = $lang['Guest'];
			}

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

#-----[ INLINE FIND ]------------------------------------------------
s.session_logged_in, s.session_ip

#-----[ INLINE AFTER, ADD ]------------------------------------------
, s.is_robot

#-----[ FIND ]-------------------------------------------------------
				$guests_online++;

#-----[ AFTER, ADD ]-----------------------------------------------
				if( $row['is_robot'] ) 
				{ 
					<b style="color:#9E8DA7"> . $online_userlist = $row['is_robot'] . (($online_userlist!='') ? ', ' : '') . $online_userlist . </b>; 
				} 

#-----[ OPEN  ]------------------------------------------------------
common.php 

#-----[ FIND ]-------------------------------------------------------
?>

#-----[ INSERT BEFORE ]----------------------------------------------
define('IS_ROBOT', is_robot() );

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

#-----[ FIND  ]------------------------------------------------------
	global $board_config, $theme, $images;

#-----[ REPLACE WITH  ]----------------------------------------------
	global $board_config, $theme, $images, $db, $table_prefix;

#-----[ FIND  ]------------------------------------------------------
	$theme = setup_style($board_config['default_style']);

#-----[ REPLACE WITH  ]----------------------------------------------
	if (IS_ROBOT)
	{
		$sql = "SELECT bot_style FROM " . $table_prefix . "bots WHERE bot_name='" . IS_ROBOT . "'";
		$result = $db->sql_query($sql);
		$row = $db->sql_fetchrow($result);
		$theme = setup_style($row['bot_style']);	
	} else {
		$theme = setup_style($board_config['default_style']);
	}

#-----[ FIND ]------------------------------------------------------
?>

#-----[ INSERT BEFORE ]---------------------------------------------

// 
// Part of bot MOD: This function checks whether the user agent or ip is
// listed as a bot and returns true otherwise false.
// 
function is_robot() 
{ 
	global $db, $HTTP_SERVER_VARS, $table_prefix;

	// define bots table - for the users who are to lazy to edit constants.php hehehe!
	define('BOTS_TABLE', $table_prefix . "bots");

	// get required user data
	$user_ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
	$user_agent = $HTTP_SERVER_VARS['HTTP_USER_AGENT'];

	// get bot table data
	$sql = "SELECT bot_agent, bot_ip, bot_id, bot_visits, last_visit, bot_pages, bot_name 
	FROM " . BOTS_TABLE;

	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not obtain bot data.', '', __LINE__, __FILE__, $sql);
	}

	// loop through bots table
	while ($row = $db->sql_fetchrow($result))
	{
		// clear vars
		$agent_match = 0;
		$ip_match = 0;

		// check for user agent match
		foreach (explode('|', $row['bot_agent']) as $bot_agent)
		{
			if ($row['bot_agent'] && $bot_agent != '' && preg_match('#' . preg_quote($bot_agent, '#') . '#i', $user_agent)) $agent_match = 1;
		}

		// check for ip match
		foreach (explode('|', $row['bot_ip']) as $bot_ip)
		{
			if ($row['bot_ip'] && $bot_ip != '' && strpos($user_ip, $bot_ip) === 0)
			{
				$ip_match = 1;
				break;
			}
		}

		// if both ip and agent matched update table and return true
		if ($agent_match == 1 && $ip_match == 1)
		{
			// get time - seconds from epoch
			$today = time();

			$last_visits = explode('|', $row['last_visit']);

			// if half an hour has passed since last visit
			if (($today - (($last_visits[0] == '') ? 0 : $last_visits[0])) > 2700)
			{
				for ($i = ((4 > sizeof($last_visits)) ? sizeof($last_visits) : 4); $i >= 0; $i--)
				{
					if ($last_visits[$i-1] != '') $last_visits[$i] = $last_visits[$i-1];
				}

				// increment the new visit counter
				$row['bot_visits']++;

				// clear prior indexed pages
				$row['bot_pages'] = 1;
			} else {
				// add to indexed pages
				$row['bot_pages']++;
			}

			$last_visits[0] = $today;

			// compress it all together
			$last_visit = implode("|", $last_visits);

			// update table
			$sql = "UPDATE " . BOTS_TABLE . " 
			SET last_visit='$last_visit', bot_visits='" . $row['bot_visits'] . "', bot_pages='" . $row['bot_pages'] . "'
			WHERE bot_id = " . $row['bot_id'];

			if ( !($result2 = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Couldn\'t update data in bots table.', '', __LINE__, __FILE__, $sql);
			}

			return $row['bot_name'];

		} 
		else 
		{
			if ($agent_match == 1 || $ip_match == 1)

			{

				// get data from table
				$sql = "SELECT pending_" . ((!$agent_match) ? 'agent' : 'ip') . " 
				FROM " . BOTS_TABLE . " 
				WHERE bot_id = " . $row['bot_id'];

				if ( !($result2 = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Could not obtain bot data.', '', __LINE__, __FILE__, $sql);
				}

				$row2 = $db->sql_fetchrow($result2);

				// add ip/agent to the list
				$pending_array = (( $row2['pending_' . ((!$agent_match) ? 'agent' : 'ip')] ) ? explode('|', $row2['pending_' . ((!$agent_match) ? 'agent' :  'ip')]) : array());

				$found = 0;

				if ( sizeof($pending_array) )
				{
					for ($loop = 0; $loop < count($pending_array); $loop+=2)
					{
						if ($pending_array[$loop] == ((!$agent_match) ? $user_agent : $user_ip)) $found = 1;
					}
				}

				if ($found == 0) 
				{
					$pending_array[] = ((!$agent_match) ? str_replace("|", "|", $user_agent) : $user_ip);
					$pending_array[] = ((!$agent_match) ? $user_ip : str_replace("|", "|", $user_agent));
				}
				$pending = implode("|", $pending_array);

				// update table
				$sql = "UPDATE " . BOTS_TABLE . " 
				SET pending_" . ((!$agent_match) ? 'agent' : 'ip') . "='$pending'
				WHERE bot_id = " . $row['bot_id'];

				if ( !($result2 = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Couldn\'t update data in bots table.', '', __LINE__, __FILE__, $sql);
				}
			}		
		}

	}

	return 0;
}

# 
#-----[ SAVE/CLOSE ALL FILES ]---------------------------------------
# 

Geplaatst: 21 apr 2005, 18:46
door Luuk
<b style="color:#9E8DA7">

Geplaatst: 21 apr 2005, 19:10
door funnyman
ja dat snap ik maar waar moet ik die tussen plakken?

Geplaatst: 21 apr 2005, 19:12
door Luuk
Je hebt dat moeten toevoegen (in includes/page_header.php), daar moet je dus ook de kleur wijzigen.

Geplaatst: 21 apr 2005, 19:24
door funnyman
jah maar hoe krijg ik dit zodat het werkt, dit werkt namelijk niet...

<b style="color:#9E8DA7"> heb ik zelf toegevoegd, want ik wil het niet de zelfde kleur als de gebruiekrs hebben

Code: Selecteer alles

           if( $row['is_robot'] ) 
            { 
               <b style="color:#9E8DA7"> . $online_userlist = $row['is_robot'] . (($online_userlist!='') ? ', ' : '') . $online_userlist . </b>; 
            }

Geplaatst: 21 apr 2005, 19:49
door Luuk
Dan moet je het ook zien? De kleur moet werken zo, misschien de mod niet.

Geplaatst: 21 apr 2005, 20:05
door funnyman
dan krijg ik dit:

Parse error: parse error, unexpected '<' in /home/the-partycrew.com/area51/includes/page_header.php on line 238

Geplaatst: 21 apr 2005, 20:10
door Luuk
Iets te snel gekeken:

Code: Selecteer alles

           if( $row['is_robot'] )
            {
               $online_userlist = '<b style="color:#9E8DA7">' . $row['is_robot'] . '</b>' . (($online_userlist!='') ? ', ' : '') . $online_userlist;
            }

Geplaatst: 21 apr 2005, 20:20
door funnyman
thanx! :thumb:

het werkt ook want de googlebot is aanwezig :D

Re: botsmod color

Geplaatst: 16 mar 2006, 12:05
door Dennis
Ik kan de mod niet online vinden, iemand een idee waar hij de downloaden is??


Dennis

Geplaatst: 16 mar 2006, 12:32
door Raimon
De Mod log bots kun je hier vinden: http://www.denturax.com/ftopic303.html

Geplaatst: 08 okt 2006, 13:28
door LordO
Is deze mod nog steeds ergens te downloaden? genoemde link werkt niet meer.

Geplaatst: 08 okt 2006, 13:33
door Raimon
Denturax is er mee opgehouden tenminste met zijn site.

Maar er is ook een betere mod, deze bot mod kun je alleen de Bots ingeven en een kleur toewijzen aan de Bot.
Maar de Botloger doet het veel beter.
Je ziet ook bij wie is online de bot, de kleur moet je in de pageheader aanpassen.
Of je moet deze mod een beetje uitbreiden minst je php kennis hebt.

Wat deze mod zich verschilt tussen die van dentuex, nou deze mod logt ze ook nog vast in de database, dat doet die van Gendo weer niet.
Deze mod is vrij makkelijk in gebruik de botlogger, en je kan zelf ook ips van bots invoeren.

Het is maar een idee maar een goede mod, en werkt probleemloos.

Mocht je een demo van de mod willen zien, dan vraag je het maar ik heb er eentje in live gebruik zoals je het resultaat dan kan zien van de mod.

Succes ermee :thumb:

Geplaatst: 08 okt 2006, 13:55
door LordO
Helemaal fan-tas-tisch! Ik was hier driftig naar aan het zoeken!

:thumb:

Geplaatst: 10 okt 2006, 00:22
door calimero
hoe kan je die bot nu in een groep zetten ?

Geplaatst: 10 okt 2006, 01:28
door Raimon
door de mod te installeren, en hem in toe voeren in de database met de ip range.

Geplaatst: 10 okt 2006, 07:52
door calimero
ik had hem gisteren al geinstaleerd ;) daar kan ik het niet vinden hoe je ze in een groep doet
maar hoe voer je ze in een rang in thnx want ik heb gekeken waar je de rangen moet toe voegen maar staat nikita speciaals tussen

Geplaatst: 16 okt 2006, 15:44
door calimero
bumb

Geplaatst: 16 okt 2006, 16:24
door Raimon
Wat zielig een bumpertje :shock:

De Bot mod hoef je helemaal niet in een groep te doen, dat gaat automatisch door middel van de manage bots functie in jou administratie paneel.

Of je zou eventueel een andere kleuren mod moeten hebben die kleuren beheert, en ook bots kleuren beheert, alleen die ondersteunt niet het loggen er van.
Het bedraagt de mod van Justin.

Eventueel zou het te realiseren zijn een addon voor kleuren te beheren :thumb: