include?('mysql.php');
$exists?=?array();
//?Get?traffic
$traffic?=?$db->sql_query?("SELECT?trafficid,?datetimestamp,?type,?ipaddress,?ad?FROM?traffic");
if?(count($traffic)?==?0)?{????die('No?traffic?logged');?}
$delete?=?'(0';
foreach?($traffic?as?$t)?{
????//?Get?values
????$day?=?date('d',?$t['datetimestamp']);
????$week?=?date('W',?$t['datetimestamp']);
????$month?=?date('n',?$t['datetimestamp']);
????$year?=?date('Y',?$t['datetimestamp']);
????$ad?=?$t['ad'];
????
????//?Which?type?
????if?($t['type']?==?'view')?{
????????$views?=?'views?+?1';
????????$clicks?=?'clicks';
????}?else?{
????????$views?=?'views';
????????$clicks?=?'clicks?+?1';
????}
????records_exist($day,?$week,?$month,?$year,?$ad);
????//?Update?day?record
????$db->query?("UPDATE?stats?SET?views?=?$views,?clicks?=?$clicks,?ctr?=?((clicks/views)*100)?WHERE?type?=?'day'?AND?day?=?$day?AND?month?=?$month?AND?year?=?$year?AND?ad?=?$ad");
????//?Update?week?record
????$db->query?("UPDATE?stats?SET?views?=?$views,?clicks?=?$clicks,?ctr?=?((clicks/views)*100)?WHERE?type?=?'week'?AND?week?=?$week?AND?year?=?$year?AND?ad?=?$ad");
????//?Update?month?record
????$db->query?("UPDATE?stats?SET?views?=?$views,?clicks?=?$clicks,?ctr?=?((clicks/views)*100)?WHERE?type?=?'month'?AND?month?=?$month?AND?year?=?$year?AND?ad?=?$ad");
????//?Update?total?record
????$db->query?("UPDATE?stats?SET?views?=?$views,?clicks?=?$clicks,?ctr?=?((clicks/views)*100)?WHERE?type?=?'total'?AND?ad?=?$ad");
????$delete?.=?','?.?$t['trafficid'];
}
$delete?.=?')';
$db->query?("DELETE?FROM?traffic?WHERE?trafficid?IN?$delete");
function?records_exist($day,?$week,?$month,?$year,?$ad)?{
????global?$exists,?$db;
????//?Array?keys:
????$daykey?=?'day:'?.?$day?.?'-'?.?$month?.?'-'?.?$year?.?'-ad:'?.?$ad;
????$weekkey?=?'week:'?.?$week?.?'-'?.?$year?.?'-ad:'?.?$ad;;
????$monthkey?=?'month:'?.?$month?.?'-'?.?$year?.?'-ad:'?.?$ad;;
????$totalkey?=?'total-ad:'?.?$ad;
????//?Check?if?day?ad?records?exists
????if?(!isset($exists[$daykey]))?{
????????//?In?db?maybe?
????????$test?=?$db->query_first?("SELECT?statsid?FROM?stats?WHERE?type?=?'day'?AND?day?=?$day?AND?month?=?$month?AND?year?=?$year?AND?ad?=?$ad");
????????if?($test?==?false)?{
????????????//?Insert?it
????????????$db->query?("INSERT?INTO?stats?(day,?month,?year,?week,?ad,?type)?VALUES?($day,?$month,?$year,?$week,?$ad,?'day')");
????????}
????????$exists[$daykey]?=?true;
????}
????//?Check?if?week?ad?records?exists
????if?(!isset($exists[$weekkey]))?{
????????//?In?db?maybe?
????????$test?=?$db->query_first?("SELECT?statsid?FROM?stats?WHERE?type?=?'week'?AND?week?=?$week?AND?year?=?$year?AND?ad?=?$ad");
????????if?($test?==?false)?{
????????????//?Insert?it
????????????$db->query?("INSERT?INTO?stats?(month,?year,?week,?ad,?type)?VALUES?($month,?$year,?$week,?$ad,?'week')");
????????}
????????$exists[$weekkey]?=?true;
????}
????//?Check?if?month?ad?records?exists
????if?(!isset($exists[$monthkey]))?{
????????//?In?db?maybe?
????????$test?=?$db->query_first?("SELECT?statsid?FROM?stats?WHERE?type?=?'month'?AND?month?=?$month?AND?year?=?$year?AND?ad?=?$ad");
????????if?($test?==?false)?{
????????????//?Insert?it
????????????$db->query?("INSERT?INTO?stats?(month,?year,?ad,?type)?VALUES?($month,?$year,?$ad,?'month')");
????????}
????????$exists[$monthkey]?=?true;
????}
????//?Check?if?total?ad?records?exists
????if?(!isset($exists[$totalkey]))?{
????????//?In?db?maybe?
????????$test?=?$db->query_first?("SELECT?statsid?FROM?stats?WHERE?type?=?'total'?AND?ad?=?$ad");
????????if?($test?==?false)?{
????????????//?Insert?it
????????????$db->query?("INSERT?INTO?stats?(ad,?type)?VALUES?($ad,?'total')");
????????}
????????$exists[$totalkey]?=?true;
????}
}
?>