<?php
// обновление лога и статуса всех кроме post
ignore_user_abort(true);
header('Content-Type: text/javascript; charset=UTF-8');
header('Expires: Thu, 18 Aug 1994 05:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Access-Control-Allow-Methods: GET');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: *');
header('X-Robots-Tag: noindex');

require_once(__DIR__.'/data/conf.php');

$ab_config['time'] = time();

// коннект к базе:
$antibot_db = new SQLite3(__DIR__.'/data/sqlite.db'); 
$antibot_db->busyTimeout(2000);
$antibot_db->exec("PRAGMA journal_mode = WAL;");

$newurl = isset($_GET['newurl']) ? trim(strip_tags($_GET['newurl'])) : '';
// если пусто, то из облака ответ:
$xxx = isset($_GET['xxx']) ? trim(strip_tags($_GET['xxx'])) : '';
// id клика:
$cid = isset($_GET['cid']) ? trim(preg_replace("/[^0-9\.]/","", $_GET['cid'])) : die();
// адблок 1 есть, 0 нету:
$adb = isset($_GET['a']) ? (int)trim(preg_replace("/[^0-9]/","", $_GET['a'])) : 0;
// recaptcha score если определялось на сайте:
$score = isset($_GET['score']) ? trim(preg_replace("/[^0-9\.]/","", $_GET['score'])) : 0;
// ширина монитора:
$w = isset($_GET['w']) ? (int)trim(preg_replace("/[^0-9]/","", $_GET['w'])) : 0;
// высота монитора:
$h = isset($_GET['h']) ? (int)trim(preg_replace("/[^0-9]/","", $_GET['h'])) : 0;
// ширина окна браузера:
$cw = isset($_GET['cw']) ? (int)trim(preg_replace("/[^0-9]/","", $_GET['cw'])) : 0;
// высота окна браузера:
$ch = isset($_GET['ch']) ? (int)trim(preg_replace("/[^0-9]/","", $_GET['ch'])) : 0;
// colordepth
$co = isset($_GET['co']) ? (int)trim(preg_replace("/[^0-9]/","", $_GET['co'])) : 0;
// pixeldepth
$pi = isset($_GET['pi']) ? (int)trim(preg_replace("/[^0-9]/","", $_GET['pi'])) : 0;
// причина блокировки:
$result = isset($_GET['result']) ? trim(strip_tags($_GET['result'])) : '';
$result = $antibot_db->escapeString($result);

//echo 'document.getElementById("content").innerHTML = "Loading 2...";';

if ($result == 'Wrong Click') {
//echo 'location.reload(true);';
echo 'document.location = location.href;';
$passed = 0;
} elseif ($newurl == '0') {
// заблоченный
$passed = 0;
} elseif ($newurl == '1') {
//echo 'location.reload(true);';
echo 'document.location = location.href;';
$passed = 1;
} elseif ($newurl != '') {
echo 'document.location = "'.$newurl.'";';
$passed = 1;
} else {
// ничего не делать
$passed = 0;
}

if ($xxx == '' AND $passed == 1) {
if ($ab_config['antibot_log_tests'] == 1) {
// разрешенный ответ из облака
$update = $antibot_db->exec("UPDATE hits SET passed='".$passed."', recaptcha='".$score."', js_w='".$w."', js_h='".$h."', js_cw='".$cw."', js_ch='".$ch."', js_co='".$co."', js_pi='".$pi."', adblock='".$adb."' ".(($result != '') ? ', result=\''.$result.'\'' : '')." WHERE cid='".$cid."';");
}
file_put_contents(__DIR__.'/data/counters/auto_'.date('Ymd', $ab_config['time']), '1', FILE_APPEND | LOCK_EX);
} else {
if ($ab_config['antibot_log_tests'] == 1) {
// без обновления $passed:
$update = $antibot_db->exec("UPDATE hits SET recaptcha='".$score."', js_w='".$w."', js_h='".$h."', js_cw='".$cw."', js_ch='".$ch."', js_co='".$co."', js_pi='".$pi."', adblock='".$adb."' ".(($result != '') ? ', result=\''.$result.'\'' : '')." WHERE cid='".$cid."';");
}
}
