<?php

/********************************************************************************
	- MemHT Portal -
	
	Copyright (C) 2007-2008 by Miltenovik Manojlo
	http://www.memht.com
	
	This program is free software; you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation; either version 2 of the License, or
	(at your opinion) any later version.
	
	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
	GNU General Public License for more details.
	
	You should have received a copy of the GNU General Public License along
	with this program; if not, see <http://www.gnu.org/licenses/> (GPLv2)
	or write to the Free Software Foundation, Inc., 51 Franklin Street,
	Fifth Floor, Boston, MA02110-1301, USA.
		
********************************************************************************/

if (stristr(htmlentities($_SERVER['PHP_SELF']), "inc_getinfo.php")) {
	die("<table style='padding: 2px; border: 1px solid #999; background-color: #EEE; font-family: Verdana; font-size: 10px;' align='center'><tr><td><b>Error:</b> This file cannot be opened directly!</td></tr></table>");
}

global $dblink,$visitorInfo,$tzNOW,$page,$userid,$userInfo;

setcookie("testcookie",time(),time()+3600); //1hour
$visitorInfo['cookies_on'] = (isset($_COOKIE['testcookie'])) ? 1 : 0 ;

//Today
$row = $dblink->get_row("SELECT DATE_FORMAT($tzNOW,'%Y-%m-%d') as today");
$siteInfo['sdate'] = $row['today'];

//User Agent
$visitorInfo['agent'] = strip_tags(htmlspecialchars(inCode($_SERVER['HTTP_USER_AGENT'])));

//TEMP
/*if (@preg_match("`MagpieRSS\/0\.72 \(\+http\:\/\/magpierss\.sf\.net\) \- Requested by`i",$visitorInfo['agent'])) {
	@$dblink->query("INSERT INTO memht_user_agents (user_agent) VALUES ('".$visitorInfo['agent']."')");
}*/

//Referer
if (isset($_SERVER['HTTP_HOST']) AND isset($_SERVER['HTTP_REFERER'])) {
	$visitorInfo['referer'] = (!preg_match("`".$_SERVER['HTTP_HOST']."`is",$_SERVER['HTTP_REFERER'])) ? mysql_real_escape_string($_SERVER['HTTP_REFERER']) : "" ;
} else {
	$visitorInfo['referer'] = "";
}

//Requested uri
$visitorInfo['requesturi'] = inCode((($_SERVER['REQUEST_URI']!="/" AND $_SERVER['REQUEST_URI']!="/favicon.ico" AND $_SERVER['REQUEST_URI']!="/favicon.gif")) ? $_SERVER['REQUEST_URI'] : "" );

//Block automated hack scripts
if (preg_match("`Casper`is",$visitorInfo['agent']) || preg_match("`libwww-perl`is",$visitorInfo['agent']) || preg_match("`\?\?`is",$visitorInfo['requesturi']) || preg_match("`\.\.\/`is",$visitorInfo['requesturi']) || preg_match("`http:`is",$visitorInfo['requesturi'])) {
	header("HTTP/1.1 404 Not Found");
	header("Status: 404 Not Found");
	exit;
}

//Is spider?
$visitorInfo['is_spider'] = ($dblink->get_num("SELECT spidname FROM memht_spider_ranges WHERE '".ip2num($visitorInfo['ip'])."' BETWEEN fromip AND toip LIMIT 1")>0) ? true : false ;

//Ignore in statistics?
$visitorInfo['ignoreinstats'] = ($dblink->get_num("SELECT id FROM memht_statistics_ignore WHERE ip='".$visitorInfo['ip']."' OR user='".$userInfo['user']."'")>0) ? true : false ;

if (!$visitorInfo['is_spider']){
	//Home tracking
	if (!preg_match("`admin\.php`is",$_SERVER['PHP_SELF'])) {
		$isbot = (preg_match("`bot|crawl|krawl|spiderfetch|script|search|engine|hunter|http|www|rss|email|curl|dillo|software|archive|java|urllib`is",$visitorInfo['agent'])) ? true : false;
		
		$dblink->query("INSERT INTO memht_statistics_livedata (id,date,ip,user,page,agent,referer,requesturi,isbot,cookies)
						VALUES (null,$tzNOW,'".$visitorInfo['ip']."','".$userInfo['user']."','$page','".$visitorInfo['agent']."','".$visitorInfo['referer']."','".$visitorInfo['requesturi']."','$isbot','".$visitorInfo['cookies_on']."')");
	} else {
		$dblink->query("INSERT INTO memht_statistics_administration (id,date,ip,admin,page,agent,referer,requesturi)
						VALUES (null,$tzNOW,'".$visitorInfo['ip']."','".$userInfo['user']."','$page','".$visitorInfo['agent']."','".$visitorInfo['referer']."','".$visitorInfo['requesturi']."')");
	}
} else {
	//Spiders tracking
	$dblink->query("INSERT INTO memht_statistics_spiders (lastvisit,ip,agent,hits)
					VALUES ($tzNOW,'".$visitorInfo['ip']."','".$visitorInfo['agent']."','1')
					ON DUPLICATE KEY UPDATE hits=hits+1,lastvisit=$tzNOW");
}

?>