?
| Current Path : /home/webyoo/www/leumi/site/ |
| Current File : /home/webyoo/www/leumi/site/track_visit.php |
<?php
// Enregistre une visite. À inclure à la FIN de start.php (après $link).
// Ignore : AJAX, POST, bots, endpoints techniques.
if (!empty($link)) {
$ua = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
$method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'GET';
$script = isset($_SERVER['SCRIPT_NAME']) ? basename($_SERVER['SCRIPT_NAME']) : '';
$isAjax = (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest');
$isBot = preg_match('/bot|crawl|spider|slurp|bingpreview|facebookexternalhit|curl|wget|python|monitor/i', $ua);
// Scripts techniques à ne pas compter comme des visites
$skip = array(
'track_visit.php','upload.php','upload_video.php','connect.php','insert_new_property.php',
'update_profile.php','price_estimate.php','neighborhood_desc.php','autocomplete_locations.php',
'agent-cancel-sub.php','agent-activate-sub.php','agent-paypal-webhook.php','cron_expire_subscriptions.php',
'update_user_agreement.php','disconnect.php','valid_property.php','send_email.php'
);
if (!$isAjax && !$isBot && $method === 'GET' && !in_array($script, $skip)) {
$ip = isset($_SERVER['HTTP_X_FORWARDED_FOR'])
? trim(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])[0])
: (isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '');
$device = 'desktop';
if (preg_match('/mobile|iphone|ipod|android.*mobile|windows phone/i', $ua)) { $device = 'mobile'; }
elseif (preg_match('/ipad|tablet|android/i', $ua)) { $device = 'tablet'; }
$uid = isset($_SESSION['user']['id']) ? (int)$_SESSION['user']['id'] : 'NULL';
$pageE = mysqli_real_escape_string($link, $script);
$qRaw = isset($_SERVER['QUERY_STRING']) ? urldecode($_SERVER['QUERY_STRING']) : '';
$qRaw = function_exists('mb_substr') ? mb_substr($qRaw, 0, 255) : substr($qRaw, 0, 255);
$qE = mysqli_real_escape_string($link, $qRaw);
$ipE = mysqli_real_escape_string($link, substr($ip, 0, 45));
$uaE = mysqli_real_escape_string($link, substr($ua, 0, 255));
$refE = mysqli_real_escape_string($link, substr(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '', 0, 255));
$devE = mysqli_real_escape_string($link, $device);
@mysqli_query($link, "INSERT INTO `rent_visits` (`page`,`query`,`ip`,`user_agent`,`referer`,`id_user`,`device`,`created_at`)
VALUES ('".$pageE."','".$qE."','".$ipE."','".$uaE."','".$refE."', ".$uid.", '".$devE."', NOW())");
}
}