<?php
if(isset($_SERVER['HTTP_REFERER'])){ $referer=htmlspecialchars($_SERVER['HTTP_REFERER']); }else{ $referer=''; }
if(isset($_SERVER['HTTP_USER_AGENT'])){ $arbuz=htmlspecialchars($_SERVER['HTTP_USER_AGENT']); }else{ $arbuz=''; }
if(isset($_SERVER['REMOTE_ADDR'])){ $ip=htmlspecialchars($_SERVER['REMOTE_ADDR']); }else{ $ip=''; }
$referer = str_replace("\r","",$referer);
$referer = str_replace("\n","",$referer);
$arbuz = str_replace("\r","",$arbuz);
$arbuz = str_replace("\n","",$arbuz);
$ip = str_replace("\r","",$ip);
$ip = str_replace("\n","",$ip);
$seg_den=htmlspecialchars(date("d"));
$dat2=htmlspecialchars(date("d.m.Y H:i:s"));
$stats_site = file($koren_dir.'/data/statstik/stats_site.dat');
$stats_site=explode("<||>",$stats_site[0]);
if($seg_den==$stats_site[0])
{
$arbuz_dat = file($koren_dir.'/data/statstik/arbuz.dat');
$znach="0";
$i='0';
$var=count($arbuz_dat) - 1;
while($i <= $var)
{
$arbuz_dat[$i]=str_replace("\r","",$arbuz_dat[$i]);
$arbuz_dat[$i]=str_replace("\n","",$arbuz_dat[$i]);
if($arbuz.'<>'.$ip==$arbuz_dat[$i]){ $znach="1"; }
++$i;
}
if($znach=='0')//если в базе совпадений нет, то дописываем новый арбуз и реферер//+ хост
{
//дописываем арбуз
$file_arbuz = fopen($koren_dir.'/data/statstik/arbuz.dat', "a+");
flock ($file_arbuz,LOCK_EX);
fputs($file_arbuz,$arbuz.'<>'.$ip."\r\n");
flock ($file_arbuz,LOCK_UN);
fclose($file_arbuz);
@chmod("$koren_dir/data/statstik/arbuz.dat", 0666);
if($referer != '')//дописываем referer если он определился
{
if($referer != ' ')
{
$arbuz_arr=explode("/",$arbuz);
$str=''.$referer.'<||>'.$arbuz_arr[0].'<||>'.$dat2.'<||>';
$file_referer = fopen($koren_dir.'/data/statstik/referer_dat.dat', "a+");
flock ($file_referer,LOCK_EX);
fputs($file_referer,$str."\r\n");
flock ($file_referer,LOCK_UN);
fclose($file_referer);
@chmod("$koren_dir/data/statstik/referer_dat.dat", 0666);
}
}
++$stats_site[1];//увеличил на 1 хост
}
++$stats_site[2];//увеличил на 1 хит
if($stats_site[1] >= $stats_site[5]){ $stats_site[5] = $stats_site[1]; $stats_site[6] = $dat2; }//запиисали новых рекорд хостов
//записываем счётчик
$file_stats_site = fopen($koren_dir.'/data/statstik/stats_site.dat', "w+");
flock ($file_stats_site,LOCK_EX);
fputs($file_stats_site,$stats_site[0].'<||>'.$stats_site[1].'<||>'.$stats_site[2].'<||>'.$stats_site[3].'<||>'.$stats_site[4].'<||>'.$stats_site[5].'<||>'.$stats_site[6].'<||>'.$stats_site[7].'<||>'.$stats_site[8].'<||>');
flock ($file_stats_site,LOCK_UN);
fclose($file_stats_site);
@chmod("$koren_dir/data/statstik/stats_site.dat", 0666);
}else//если наступил новый день
{
//записываем счётчик
$file_stats_site = fopen($koren_dir.'/data/statstik/stats_site.dat', "w+");
flock ($file_stats_site,LOCK_EX);
fputs($file_stats_site,$seg_den.'<||>1<||>1<||>'.$stats_site[1].'<||>'.$stats_site[2].'<||>'.$stats_site[5].'<||>'.$stats_site[6].'<||>'.$stats_site[7].'<||>'.$stats_site[8].'<||>');
flock ($file_stats_site,LOCK_UN);
fclose($file_stats_site);
@chmod("$koren_dir/data/statstik/stats_site.dat", 0666);
//дописываем арбуз
$file_arbuz = fopen($koren_dir.'/data/statstik/arbuz.dat', "w+");
flock ($file_arbuz,LOCK_EX);
fputs($file_arbuz,$arbuz.'<>'.$ip."\r\n");
flock ($file_arbuz,LOCK_UN);
fclose($file_arbuz);
@chmod("$koren_dir/data/statstik/arbuz.dat", 0666);
if($referer != '')//дописываем referer если он определился
{
if($referer != ' ')
{
$arbuz_arr=explode("/",$arbuz);
$str=''.$referer.'<||>'.$arbuz_arr[0].'<||>'.$dat2.'<||>';
$file_referer = fopen($koren_dir.'/data/statstik/referer_dat.dat', "a+");
flock ($file_referer,LOCK_EX);
fputs($file_referer,$str."\r\n");
flock ($file_referer,LOCK_UN);
fclose($file_referer);
@chmod("$koren_dir/data/statstik/referer_dat.dat", 0666);
}
}
}
///////////////////Код для автоудаления старых записей рефералов
$str = file($koren_dir.'/data/statstik/referer_dat.dat');
$nom=count($str) - 1;
if($nom >= "150")//если Записей больше 150, то чистим:)
{
$file_referer = fopen($koren_dir.'/data/statstik/referer_dat.dat', "w+");
flock ($file_referer,LOCK_EX);
$i = "50";//удаляем последние 50 постов
$var = $nom;
while($i <= $var)
{
fputs($file_referer,$str[$i]);
++$i;
}
flock ($file_referer,LOCK_UN);
fclose($file_referer);
@chmod("$koren_dir/data/statstik/referer_dat.dat", 0666);
}
$stats_site = file($koren_dir.'/data/statstik/stats_site.dat');
$stats_site=explode("<||>",$stats_site[0]);
$host=$stats_site[1];
$hit=$stats_site[2];
$v_host=$stats_site[3];
$v_hit=$stats_site[4];
$max_host=$stats_site[5];
$data_max_host=$stats_site[6];
$max_aonline=$stats_site[7];
$data_max_aonline=$stats_site[8];
include($koren_dir.'/sistem/online.dat');
if($aonline >= $stats_site[7])
{
$stats_site[7] = $aonline;
$stats_site[8] = $dat2;
//записываем счётчик
$file_stats_site = fopen($koren_dir.'/data/statstik/stats_site.dat', "w+");
flock ($file_stats_site,LOCK_EX);
fputs($file_stats_site,$stats_site[0].'<||>'.$stats_site[1].'<||>'.$stats_site[2].'<||>'.$stats_site[3].'<||>'.$stats_site[4].'<||>'.$stats_site[5].'<||>'.$stats_site[6].'<||>'.$stats_site[7].'<||>'.$stats_site[8].'<||>');
flock ($file_stats_site,LOCK_UN);
fclose($file_stats_site);
@chmod("$koren_dir/data/statstik/stats_site.dat", 0666);
}
$endtime=microtime();
$endtime=explode(" ",$endtime);
$endtime=$endtime[0]+$endtime[1];
$generat= $endtime - $starttime;
$generat=round($generat,4);
?>