--- SQL voor controle tabel ---

CREATE TABLE `controle_tabel` (
`adres` VARCHAR( 16 ) NOT NULL ,
`tijd` BIGINT UNSIGNED NOT NULL ,
INDEX ( `adres` )
) TYPE = MYISAM ;

--- Referall.php ---

<?php

/* Bedoeling van dit bestand is een referall systeem zoals bij 'Kings of Chaos' of 'Criminals'. */

// Vul hier de database gegevens in:
$db_server = 'localhost';
$db_gebruiker = 'gebruiker';
$db_wachtwoord = 'wachtwoord';
$db_naam = 'naam';

// Andere instelbare variabelen:
// Tabellen (gebruikers tabel, controle tabel)
$gebruikers_tabel = 'gebruikers';
$controle_tabel = 'controle';
// Aantal credits van 1 bezoek: (heel getal)
$credits = '1';
// Kolomnaam voor credits: (alleen letters)
$credits_kolom = 'credits';
// Per hoeveel uur mag 1 ip_adres gebruikt worden:
$timeout = '24';

//
// Hieronder niets meer aanpassen:
//

$ip_adres = $_SERVER['REMOTE_ADDR'];

if ( isset($_GET['id']) && is_numeric($_GET['id']) )
{
	$gebruikers_id = $_GET['id'];
}
else
{
	die('Ongeldige ID, bewerking gestopt');
}

$server = @mysql_connect($db_server,$db_gebruiker,$db_wachtwoord);
@mysql_select_db($db_naam,$server) or die('Verbinding met de database mislukt');
unset($db_server,$db_gebruiker,$db_wachtwoord,$db_naam);

// Is dit ip_adres lang genoeg niet gebruikt?
$sql = "SELECT tijd FROM {$controle_tabel} WHERE adres = '{$ip_adres}';";
$tmp = mysql_query($sql) or die("Fout met de database (lezen)");
if ( mysql_num_rows($tmp) == 1 )
{
	// Bezoeker is eerder langs geweest, vergelijk de tijden
	$tmp = mysql_fetch_array($tmp);
	$laatste_bezoek = $tmp['tijd'];
	$huidige_tijd = mktime();
	$minimaal_verschil = $timeout * 3600;
	$verschil = $huidige_tijd - $laatste_bezoek;
	if ( $verschil < $minimaal_verschil )
	{
		// Niet lang genoeg gewacht
		die('U bent kort geleden nog hier geweest, uw bezoek wordt niet geteld');
	}
	else
	{
		// Voer huidige tijd in in de database
		$sql = "UPDATE {$controle_tabel} SET tijd = '{$huidige_tijd}' WHERE adres = '{$ip_adres}';";
		mysql_query($sql) or die ("Fout met de database (update)");
	}
}
else
{
	// Bezoeker is hier voor het eerst
	$sql = "INSERT INTO {$controle_tabel} (adres, tijd) VALUES ('{$ip_adres}', '{$huidige_tijd}');";
	mysql_query($sql) or die ("Fout met de database (invoegen)");
}

// Als we hier zijn aangekomen, mogen de credits worden toegekend
$sql = "UPDATE {$gebruikers_tabel} SET {$credits_kolom} = {$credits_kolom} + {$credits} WHERE id = '{$gebruikers_id}';";
mysql_query($sql) or die('Fout met de database (update)');

echo "Uw bezoek is geregistreerd, en de gebruiker heeft zijn/haar credits hiervoor ontvangen.";
?>
