", $el); $el = str_replace("\r", "", $el); $el = mysql_real_escape_string($el); // от MySQL-инъекций $el = trim($el); // от лишних пробелов $el = stripslashes($el); // от слэшей return $el; } header('Content-Type: application/json'); ini_set('display_errors', 1); error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE); $pdo = new MysqlPdo(hst, ndb, user, pass); $sql = "SET NAMES 'utf8'"; $pdo->query($sql); $content = file_get_contents('php://input'); //file_put_contents(__DIR__.'/log_marquiz.txt', $content. "\n", FILE_APPEND); if($_SESSION['id'] == 19895){ $content = '{"raw":[{"q":"2810a7b3-3b03-44bf-92c0-08ce8822efda","a":"a794630c-fe72-4ec3-ab7f-641908e0aaed"},{"q":"f6bb4c92-48af-4b03-a613-f034fd92cedd","a":"c031564c-9a1e-4f51-a86d-e20c3fb1da9b"},{"q":"yoGdlNXqhR","a":"dwW2AvA3O4"}],"answers":[{"q":"Цель покупки?","t":"variants","a":"Инвестиции"},{"q":"Укажите предполагаемый бюджет?","t":"variants","a":"От 20 млн. рублей"},{"q":"Будут ли использоваться ипотечные средства?","t":"variants","a":"Да"}],"quiz":{"id":"668427f63eb4af0026418dfd","name":"Не скучный сад ( Основной )"},"created":"2025-03-02T10:59:48.349Z","extra":{"href":"https:\/\/gkneskuchnyjsadsochi.ru\/?utm_source=yandex&utm_medium=cpc&utm_campaign=113234282&utm_content=16373060467&utm_term=%D0%BA%D1%83%D0%BF%D0%B8%D1%82%D1%8C%20%D1%8D%D0%BB%D0%B8%D1%82%D0%BD%D1%8B%D0%B5%20%D0%B0%D0%BF%D0%B0%D1%80%D1%82%D0%B0%D0%BC%D0%B5%D0%BD%D1%82%D1%8B%20%D0%B2%20%D1%81%D0%BE%D1%87%D0%B8&yclid=67255402977296383&y_ref=dsp.yandex.ru","userAgent":"Mozilla\/5.0 (Linux; Android 11; M2006C3LG Build\/RP1A.200720.011; wv) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/131.0.6778.260 Mobile Safari\/537.36","utm":{"campaign":"113234282","content":"16373060467","medium":"cpc","source":"yandex","term":"купить элитные апартаменты в сочи","name":"113234282"},"yclid":"67255402977296383","cookies":{"_ym_uid":"1739967302170775290"},"lng":"ru","currency":"RUB","notify":"now","discount":750000,"discountType":"number","discountEffect":"increasing","timezone":3,"lang":"ru","paymentEnabled":false,"referrer":"https:\/\/gkneskuchnyjsadsochi.ru\/","ip":"85.172.88.69","city":"Волгоград","country":"Россия"},"form":{"id":"pW3R16L5Fk"},"contacts":{"phone":"+79123456789"},"result":[]}'; } $message = json_decode($content); var_dump($message); //var_dump($message->extra); $url = parse_url($message->extra->href); $funnel_id = 0; $user_id = 0; $funnel_id_req = 0; $activities_id = 0; $source_id = 0; $users = array(); $client_id = 0; $email = ''; $partner = 0; $user_id_req = 0; $agency_id = 0; $CallEvents = new CallEvents(); if(isset($message->contacts) && !empty($message->contacts)) { if($message->raw[1]->q == 'f6bb4c92-48af-4b03-a613-f034fd92cedd'){ $agency_id = 19895; $user_id = 19895; $funnel_id = 0; $funnel_id_req = 1513; $user_id_req = 19895; //if(!isset($_SESSION['id'])) die(); } if($user_id > 0){ $user = new User(); $user->get($user_id); $users = array_keys($CallEvents->getAllUserAgency($user->agencyId, $users)); $phone = str_replace(['(',')',' ','-'], '', $message->contacts->phone); $fio_client = "Имя не указано"; if(isset($message->contacts->name) && !empty($message->contacts->name)) $fio_client = $message->contacts->name; if(isset($message->contacts->email)){ $email = $message->contacts->email; } $nameQuiz = $message->quiz->name; $nameSourse = 'Квиз '.trim($nameQuiz); if($agency_id == 19895){ $nameSourse = trim($nameQuiz); } //Поиск тега $sql_activites = "SELECT id FROM `activities` WHERE name = '".$nameSourse."' AND (user_id in (".implode(',', $users).") or manager_id in (".implode(',', $users)."))"; $q_aclivites = $pdo->query($sql_activites, true); $r_activites = $pdo->fetch_assoc($q_aclivites, true); if($r_activites['id'] > 0){ $activities_id = $r_activites['id']; //echo $activities_id."\n"; } else { $sql_up = "INSERT INTO `activities` SET name='".$nameSourse."', user_id={$user_id}, manager_id={$user->agencyId}"; //$pdo->query($sql_up); $activities_id = $pdo->insert_id(); } if($source_id == 0){ //Поиск источника $sql_source = "SELECT id FROM `advertising_sources` WHERE source = '".$nameSourse."' AND (user_id in (".implode(',', $users).") or manager_id in (".implode(',', $users)."))"; $q_source = $pdo->query($sql_source, true); $r_source = $pdo->fetch_assoc($q_source); if($r_source['id'] > 0){ $source_id = $r_source['id']; //echo $source_id."\n"; } else { $sql_up = "INSERT INTO `advertising_sources` SET source='".$nameSourse."', user_id={$user_id}, manager_id={$user->agencyId}"; // $pdo->query($sql_up); $source_id = $pdo->insert_id(); } } $opis = "Квиз ".$nameQuiz; if(isset($message->answers)){ $opis .= "<br>Вопросы: "; foreach($message->answers as $key => $answer){ $opis .= " <br>".$answer->q.": "; if(is_array($answer->a)){ foreach($answer->a as $keyan => $an){ if($keyan > 0){ $opis .= "; "; } $opis .= $an; } } else { $opis .= $answer->a; } } } if(isset($message->extra->utm) && !empty($message->extra->utm)){ $opis .= " <br>utm: "; foreach($message->extra->utm as $keyutm => $utm){ $opis .= "<br>".$keyutm.": ".$utm; } } $sql = "SELECT `id`, `stage`, `deleted` FROM `clients` WHERE (phone = '$phone' OR id in (SELECT client_id FROM clients_phone2 WHERE phone = '$phone')) and (who_work in (".implode(',', $users).") or id_agent in (".implode(',', $users)."))"; echo $sql; $client = $pdo->fetch_assoc($pdo->query($sql, true)); if(!empty($client) && $client){ $client_id = $client['id']; } else { $sql = "INSERT INTO clients SET phone='{$phone}', email='{$email}', fio='{$fio_client}', opis='{$opis}', id_agent={$user_id}, who_work={$user_id}, date_add=NOW(), confirm=1, funnel_id={$funnel_id}, stage=1, source= '{$source_id}', integration=1"; /* if($_SESSION['id'] == 19895){ echo $sql."\n"; die(); }*/ if(isset($partner) && $partner > 0){ $doers[$user_id] = 1; $doers[$partner] = 1; $sql .= ", doers = '".clearInputElement(json_encode($doers))."', doer_clients=1"; } // $pdo->query($sql); $client_id = $pdo->insert_id(); if($partner > 0) { $sql_conf = "INSERT INTO `events_clients` (`user_id`, `client_id`, `from_id`, `event`, `read`, `send_telegramm`) VALUES (".$user_id.", ".$client_id.", ".$partner.", 'transmitted_parallel', 1,1)"; //$pdo->query($sql_conf); } if($funnel_id > 0){ $Clients = new Clients; $Clients->get_class_etap($client_id, $funnel_id); } $sql_a = "INSERT INTO `clients_activities` (`activity_id`, `client_id`) VALUES ({$activities_id}, {$client_id})"; //$pdo->query($sql_a); } if($client_id > 0 && $user->agencyId != 17347){ $sql_req = "SELECT * FROM requisitions WHERE client_id = {$client_id}"; $q_req = $pdo->query($sql_req, true); $req = $pdo->fetch_assoc($q_req); $req_id = (int)$req['id']; if($agency_id == 19895){ $arr_data = array(); if(isset($message->answers)){ foreach($message->answers as $key => $answer){ $sql_fields = "SELECT * FROM `client_req_fields` WHERE title = '".trim($answer->q)."' AND agency_id = {$agency_id}"; $q_fields = $pdo->query($sql_fields); $r_fields = $pdo->fetch_assoc($q_fields); if($r_fields){ if(is_array($answer->a)){ foreach($answer->a as $keyan => $an){ echo $an."\n"; } } else { $value = trim($answer->a); if($r_fields['type'] == 1 || $r_fields['type'] == 0){ $arr_data[] = "({$req_id}, {$r_fields['id']}, 1, '\"{$value}\"')"; } elseif ($r_fields['type'] == 2){ $params = json_decode($r_fields['params'], true); //var_dump($params['items']); foreach($params['items'] as $item){ if(trim($item['name']) == $value){ $id_item = $item['value']; $arr_data[] = "({$req_id}, {$r_fields['id']}, 1, {$id_item})"; } } } // echo $answer->a."\n"; } } } } if(isset($message->extra->utm) && !empty($message->extra->utm)){ //$opis .= " <br>utm: "; foreach($message->extra->utm as $keyutm => $utm){ $sql_fields = "SELECT * FROM `client_req_fields` WHERE title = 'UTM ".trim($keyutm)."' AND agency_id = {$agency_id}"; $q_fields = $pdo->query($sql_fields); $r_fields = $pdo->fetch_assoc($q_fields); if($r_fields){ if($r_fields['type'] == 1 || $r_fields['type'] == 0){ $arr_data[] = "({$req_id}, {$r_fields['id']}, 1, '\"{$utm}\"')"; } elseif ($r_fields['type'] == 2){ $params = json_decode($r_fields['params'], true); //var_dump($params['items']); foreach($params['items'] as $item){ if(trim($item['name']) == $utm){ $id_item = $item['value']; $arr_data[] = "({$req_id}, {$r_fields['id']}, 1, {$id_item})"; } } } } } } if(!empty($arr_data)){ $sql_data = "INSERT INTO requisition_data (`req_id`, `field_id`, `type`, `value`) VALUES ".implode(',' , $arr_data); //$pdo->query($sql_data); } } } } }