<?php
$start_program = microtime(true);
//
// Version
define('VERSION', '2.3.0.2');

// Configuration
require('config.php');
require("/var/www/helper/helper.php");
require("helper.php");

$visitor_customer_id = 0;
$visitor_id = 5;
log_visit($start_program, '');
$pidor = false;

$browser = $_SERVER['HTTP_USER_AGENT'] ?? '';
// Mozilla/5.0 (compatible; archive.org_bot; Archive-It; +http://archive-it.org/files/site-owners.html)
if (strpos($browser, 'archive') !== false) {
	echo "Wayback Machine error";
	exit;
}

$bot = strpos($browser, 'Googlebot') !== false || strpos($browser, 'Bot') !== false;
$country = $_SERVER['GEOIP_COUNTRY_NAME'];
$pidor = strpos($country, 'Russia') === false || strpos($country, 'Canada');
$uri = $_SERVER['REQUEST_URI'];
if( !$bot ) {
//	$pidor = $pidor || strpos($country, 'Thailand') !== false;
	if($pidor) {
		if( strpos($uri, 'search') !== false || strpos($uri, 'juu') !== false || strpos($uri, 'inh') !== false) {
//			log_visit($start_program, 'pidor');
			//header('Location: find'); // https://pornhub.com/gayporn
//			exit;
		}
	}
}

// 25.09.2020, 20:48, "Роскомнадзор" <zapret-info-out@rkn.gov.ru>:
// Направляется уведомление о внесении в «Единый реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено» следующего(их) указателя (указателей) страницы (страниц) сайта в сети «Интернет»: https://ilfumoshop.ru/search?search=neosn
if( strpos($uri, 'neosn') !== false ) {
	header("HTTP/1.0 404 Not Found");
	echo "404 File not found";
	exit;
}

function fixhtml($buffer)
{
	// заменить все яблоки апельсинами
	$buffer = (str_replace("JUUL совместимые", "inHale", $buffer));
	$buffer = (str_replace(" (совмещается с JUUL)", "", $buffer));
	return $buffer;
}

$city = isset($_SERVER['CITY_NAME'])             ? $_SERVER['CITY_NAME'] : 'error';
$jurist = (strpos($country, 'Moscow') !== false) || (strpos($country, 'Novosibirsk') !== false) || (strpos($country, 'St Petersburg') !== false);
$fixing = ($pidor || $jurist) && !$bot;
if($fixing) {
	ob_start("fixhtml");
}

// Install
if (!defined('DIR_APPLICATION')) {
	header('Location: install/index.php');
	exit;
}

// VirtualQMOD
require_once('./vqmod/vqmod.php');
VQMod::bootup();

// VQMODDED Startup
require_once(VQMod::modCheck(DIR_SYSTEM . 'startup.php'));

start('catalog');


//print_r($GLOBALS);
//print_r($_SERVER);
//  HTTP_USER_AGENT HTTP_REFERER REMOTE_ADDR

//echo "6666" . $ccc;
// 
if($fixing) {
	ob_end_flush();
}

update_visit($start_program, '');

function log_visit($start_program, $comment) {
	global $visitor_customer_id, $visitor_id;
	$route      = isset($_SERVER['REQUEST_URI'])     ? htmlspecialchars($_SERVER['REQUEST_URI'])     : '';
	$user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? htmlspecialchars($_SERVER['HTTP_USER_AGENT']) : '';
	$referer    = isset($_SERVER['HTTP_REFERER'])    ? htmlspecialchars($_SERVER['HTTP_REFERER'])    : '';
	$ip         = isset($_SERVER['REMOTE_ADDR'])     ? htmlspecialchars($_SERVER['REMOTE_ADDR'])     : '';
	$country = isset($_SERVER['GEOIP_COUNTRY_NAME']) ? $_SERVER['GEOIP_COUNTRY_NAME'] : 'error';
	$city = isset($_SERVER['CITY_NAME'])             ? $_SERVER['CITY_NAME'] : 'error';
	if(isset($_COOKIE['yandex'])) {
		$screen = isset($_COOKIE['yandex'])? htmlspecialchars($_COOKIE['yandex']) : '0,0,0,0,0,0,-';
		list($screen_width, $screen_height, $window_width, $window_height, $ratio, $tz_offset, $tz_name) = explode(',', $screen);
	} else {
		$screen = isset($_COOKIE['mobilefriendly'])? htmlspecialchars($_COOKIE['mobilefriendly']) : '0,0,0,0';
		list($screen_width, $screen_height, $window_width, $window_height) = explode(',', $screen);
		$ratio = 0;
		$tz_offset=0;
		$tz_name='';
	}
	$phpsessid  = isset($_COOKIE['PHPSESSID'])       ? htmlspecialchars($_COOKIE['PHPSESSID'])       : '';
	$default_cookie = isset($_COOKIE['default'])     ? htmlspecialchars($_COOKIE['default'])       : '';
	$yandex_clientid= isset($_COOKIE['_ym_uid'])     ? htmlspecialchars($_COOKIE['_ym_uid'])       : '';
//	$exec_time  = microtime(true) - $start_program;
	$exec_time  = 0;
	$conn = mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
	$sql = "INSERT INTO visits (`customer_id`, `route`, user_agent, referer, ip, country, city, screen_width, screen_height, window_width, window_height, ratio, tz_offset, tz_name, default_cookie, phpsessid, yandex_clientid, exec_time, comment) VALUES ($visitor_customer_id, '$route', '$user_agent', '$referer', '$ip', '$country', '$city', $screen_width, $screen_height, $window_width, $window_height, $ratio, $tz_offset, '$tz_name', '$default_cookie', '$phpsessid', '$yandex_clientid', $exec_time, '$comment')";
	//echo $sql;
	$result = mysqli_query($conn, $sql);
	$visitor_id = mysqli_insert_id($conn);
	mysqli_close($conn);
}

function update_visit($start_program, $comment) {
	global $visitor_customer_id, $visitor_id;
	$exec_time  = microtime(true) - $start_program;
	$conn = mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
	$sql = "UPDATE visits SET `customer_id`=$visitor_customer_id, `exec_time`=$exec_time WHERE `id`=$visitor_id";
	$result = mysqli_query($conn, $sql);
	$visitor_id = mysqli_insert_id($conn);
	mysqli_close($conn);
}
