<?
/*
Bezoekers Online V1

Dit is een eenvoudig scriptje om je online bezoekers te tonen,
in tabel waarin wat meer informatie staat, of gewoon alleen het aantal
bezoekers online

De bijbehorende tabel:
-------------------------------------

CREATE TABLE IF NOT EXISTS`online` (
`id` int(11) auto_increment,
`ip` varchar(16) default '0.0.0.0',
`locatie` varchar(255) default '',
`tijd` int(11) default '0',
PRIMARY KEY (`id`)
);

-------------------------------------

Functie declaratie:

OnlineLog(int $sTime)
	Deze logt de bezoekers op IP adres.
	Ook verwijderd hij bezoekers na de aangegeven tijd
	in $sTime
	
OnlineShow(int $sTime)
	Deze laat het aantal bezoekers online weergeven
	
OnlineTable(int $sTime)
	Deze functie toont een tabel met de bezoekers die
	online zijn, inclusief de pagina waar ze zijn, en
	wanneer deze actie is ondernomen
*/

if(!@mysql_connect('localhost','',''))
	{ die('MySQL server is down, of incorrect!'); }
if(!@mysql_select_db(''))
	{ die('De MySQL database bestaat niet!'); }

function OnlineLog($sTime = 300)
	{
	mysql_query("DELETE FROM `online` 
	WHERE `tijd` < ".(time()-$sTime))
	or die(mysql_error());
	
	$cCountSql = mysql_query("SELECT COUNT(`id`)
	FROM `online` WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."'");
	$cCount = mysql_result($cCountSql,0);
	if($cCount == 0)
		{
		mysql_query("INSERT INTO `online`
		VALUES ('','".$_SERVER['REMOTE_ADDR']."',
		'".$_SERVER['REQUEST_URI']."',".time().")")
		or die(mysql_error());
		}
	else
		{
		mysql_query("UPDATE `online` SET
		`tijd` = ".time().",
		`locatie` = '".$_SERVER['REQUEST_URI']."'
		WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."'")
		or die(mysql_error());
		}
	}
	
function OnlineShow($sTime = 300)
	{
	$sQuery = mysql_query("SELECT COUNT(`id`) FROM `online` WHERE `tijd` > ".(time()-$sTime));
	$sResult = mysql_result($sQuery,0);
	echo ($sResult == 1) ? 'Er is 1 bezoeker online.' : 'Er zijn '.$sResult.' bezoekers online.';
	}
	
function OnlineTable($sTime = 300)
	{
	?>
	<table align="center">
		<tr>
			<td><b>Locatie</b></td>
			<td><b>Laatste bezoek</b></td>
			<td><b>Sinds</b></td>
		</tr>
	<?
	$sSql = mysql_query("SELECT * FROM 
	`online` WHERE `tijd` > ".(time()-$sTime)." 
	ORDER BY `tijd` DESC") or die(mysql_error());
	while($sRow = mysql_fetch_assoc($sSql))
		{
		?>
		<tr>
			<td><a href="<?= $sRow['locatie']; ?>"><?= $sRow['locatie']; ?></a></td>
			<td><?= time()-$sRow['tijd']; ?> sec.</td>
			<td><?= date('G:i:s',$sRow['tijd']); ?></td>
		</tr>
		<?
		}
	?>
	</table>
	<?
	}
?>