View file templates/referer.php

File size: 1.43Kb
<?php
$config_referer="20";	//cохраняется рефереров
$ref_from=getenv("HTTP_REFERER");
if (ereg ("^http",$ref_from)){
$ref_from=str_replace("http://","",$ref_from);
$ref_from=str_replace("https://","",$ref_from);
$ref_from=strtok($ref_from,'/');
$ref_from=strtok($ref_from,'?');

$ref_from=htmlspecialchars(stripslashes(trim($ref_from)));


$lines=file("../data/referer.dat"); 
$count=count($lines);
for ($b=0; $b<$count; $b++) {
$dt=explode("|",$lines[$b]); 
if ($dt[0]==$ref_from) {
$linn=$b; $ref_count=$dt[3];}}


if(!empty($ref_from)){
if(strval($linn)>="0"){
$ref_count=$ref_count+1;
$time=time();	  
$t="$ref_from|$time|$ip|$ref_count|";

$file=file("../data/referer.dat");
$fp=fopen("../data/referer.dat","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
for ($i=0;$i< sizeof($file);$i++) {if ($linn!=$i) {fputs($fp,$file[$i]);} else {fputs($fp,"$t\r\n");}}
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);} 

else{

$time=time();	  
$t="$ref_from|$time|$ip|1|";	  
  	  

$fp = @fopen("../data/referer.dat","a+"); 
flock ($fp,LOCK_EX);
@fputs($fp,"$t\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
@fclose($fp);

$config_referer=$config_referer+2;
$file=file("../data/referer.dat"); 
$i = count($file);
if ($i>=$config_referer) {
$fp=fopen("../data/referer.dat","w");
flock ($fp,LOCK_EX);
unset($file[0]);
unset($file[1]);
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);}	
	
	
	
}}}

?>