", $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":"LNnSSALgje","a":"fuwGi4SjA1"},{"q":"15UR3J3W36","a":"I8Bxv5e4Jq"},{"q":"42A38utQA8","a":"y802174sQK"}],"answers":[{"q":"Цель покупки?","t":"variants","a":"Для инвестиций"},{"q":"Какая площадь вас интересует?","t":"variants","a":"от 36 м2"},{"q":"Форма оплаты","t":"variants","a":"Рассрочка"},{"q":"Какой срок рассрочки вас интересует?","t":"variants","a":"12 месяцев"},{"q":"Есть ли первоначальный взнос?","t":"variants","a":"Да"}],"quiz":{"id":"6809156524e0490019748b7d","name":"Сан-Пик"},"created":"2025-09-05T10:55:42.922Z","extra":{"href":"https:\/\/yandex.ru\/an\/count\/WnWejI_zOoVX2Las0rKO0BCgfYMSm0cO4wZY3HFGcqUiC24YuBs0W6x2oGgJh5Gg3-W2VJwNEtkstxdpNLyxNx_ZzOOxt2Ma4RYqnDMAz7CZX7tZpkdJANr2exOpZqQZJcY9gj1Gq8qGkTHEuMFxfC1Hv21i522S9tnoPtxZE5JwZDvEFC_lfstF239AgcbGhKT5IqbREs3APWCoNtmnCagb1iaG7LoHOT1nvDFPOQAAbfQMbjPM2pcu0hGjv8WKe6qXzrQ0jeMSMm7Q5d9j1MXRo0qfGDj2Zgq0xGLTc0hGNc3-Ke3s0YGz2j1UW4HRWFO2EIK5Q2-Guoj0Uu5SaWAq5yZj5Q0TIjInZZGbsIAaW6m5J9haV4riQO234nS_PpbT93UwA1FainngXj403F2LFssSm9qsYAmyDWKgPd2mAYoeWHT0qlbymsJZrN0LsII03TmRoXpaqUg88A9Mmzuy8eYerR35e0lW3KA6mgD6JEkwhkirEeUhS1cLjWl5ZeRRfDb2GEJeQ2T3sL0R3iC7qcf82E2hXHnS05i7T2rO4GnX4v3Nw_LwlGOm0SCMYJt6fYndNx256BJJ7LXT9ALqsOkpiBMmGmE_VMPBNpMzek9ajXnWoXIu5S9uQJ7avWDzHZPm0AuPWkbECxXOmXS0AqzJxwZvrN0LsUHgk8fixlutrXGY-M85v8Byi2-BbFfW2-A8_2ykPF9xSI6Jdzi06V7lz9mSrjTw9Ky2VzOhUHB8D1TDCSiqtvKkNUX6cnxPGNgtwP4TfBSLwAol8toqycOQovTzaSN2iIVxlJnkeXylmJpu0C5pLTX_RtpD5G7xBQthUfUlkI9Wh_LtNCHrQZuB19wgudKVrrWeoTO65OwBxc7bIgLIEICEZ6WpeyeFgMl8c-hwwGaf_DVJxOPhMTGN0o-1HSJBgwdC9Pu1mo1CEUdqrCCnJjJZsmWW6ZGWdn8XmHbSUT1OUGrAYiVdPDXGQRGqOGXpO1TKATwSfJ90q0p0QF_8u_Fo5VyecI2vlGpfc4dCl9hclUpGAwG-O1EzoaTItWC0~2?test-tag=175924007927825&banner-sizes=eyI3MjA1NzYxMDMxMzM3MTc0NCI6IjEwMjR4NTA0In0%3D&ctime=1757069549303&actual-format=20&pcodever=1301824&banner-test-tags=eyI3MjA1NzYxMDMxMzM3MTc0NCI6IjI4MTQ3NDk3NjgzMzU4NSJ9&constructor-rendered-assets=eyI3MjA1NzYxMDMxMzM3MTc0NCI6MTA0ODcxN30&rendered-direct-assets=eyI3MjA1NzYxMDMxMzM3MTc0NCI6ODIzN30&width=1024&height=504&stat-id=12&partner-stat-id=6537885&pcode-active-testids=1336752%2C0%2C65%3B1353317%2C0%2C18%3B1338692%2C0%2C30&asset-click=button&click-time=7791&clickX=84&clickY=304","userAgent":"Mozilla\/5.0 (Linux; Android 10; MRX-W09 Build\/HUAWEIMRX-W09; wv) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/114.0.5735.196 Safari\/537.36","_ga":"229197773.1734233430","cookies":{"_ym_uid":"1726806686580626175","_ga":"GA1.2.229197773.1734233430"},"lng":"ru","currency":"RUB","notify":"now","discount":700000,"discountType":"number","discountEffect":"increasing","timezone":5,"lang":"ru","paymentEnabled":false,"referrer":"https:\/\/74.ru\/text\/auto\/2025\/09\/05\/76016064\/","ip":"176.226.236.225","city":"Челябинск","country":"Россия"},"form":{"id":"pW3R16L5Fk"},"contacts":{"phone":"+79823083900"},"result":[],"paymentAmount":[],"delivery":[],"token":"61d64a35558b92a5dc79dc4f5d6bbc5f"}'; } $message = json_decode($content); //var_dump($message); //var_dump($message->extra); $url = parse_url($message->extra->href); $domain = $url['host']; $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[0]->q == 'd2e55c73-3010-4447-a5af-cee2b02d33cc'){ $user_id = 17347; $funnel_id = 1156; $user_id_req = 17347; } /* if($message->raw[0]->q == '2810a7b3-3b03-44bf-92c0-08ce8822efda'){ $user_id = 15694; //$funnel_id_req = 479; /* if(isset($url['host']) && !empty($url['host'])){ switch ($url['host']){ case 'skyview-moscow.ru': { $funnel_id = 0; $funnel_id_req = 479; break; } }*/ // } if($message->raw[1]->q == 'cac82d87-44a6-4e2c-99cc-0c49734ac212'){ $user_id = 19074; $funnel_id = 1306; $funnel_id_req = 1306; $user_id_req = 19074; } if($message->raw[1]->q == 'f6bb4c92-48af-4b03-a613-f034fd92cedd' || $message->raw[2]->q == 'f6bb4c92-48af-4b03-a613-f034fd92cedd' || (isset($message->token) && $message->token == "61d64a35558b92a5dc79dc4f5d6bbc5f")){ $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); } if($source_id == 0){ //Поиск источника по домену $sql_d = "SELECT *, (SELECT group_id FROM advertising_sources WHERE id = advertising_sources_domain.adv_id) AS group_id FROM `advertising_sources_domain` WHERE domain = '{$domain}' AND `type` in (2,5)"; // echo $sql_d."\n"; $q_d = $pdo->query($sql_d, true); $r_d = $pdo->fetch_assoc($q_d); if($r_d){ $source_id = (int)$r_d['adv_id']; $group_id = (int)$r_d['group_id']; } } if($source_id == 0){ //Поиск источника $sql_source = "SELECT id, group_id FROM `advertising_sources` WHERE source = '".$nameSourse."' AND (user_id in (".implode(',', $users).") or manager_id in (".implode(',', $users)."))"; // echo $sql_source."\n"; $q_source = $pdo->query($sql_source); $r_source = $pdo->fetch_assoc($q_source); if($r_source['id'] > 0){ $source_id = $r_source['id']; $group_id = (int)$r_source['group_id']; } 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(); } } //Поиск тега //Поиск тега if($agency_id == 19895){ if($source_id > 0){ $sql_aa = "SELECT * FROM advertising_sources_activities WHERE source_id = {$source_id}"; // echo $sql_aa."\n"; $q_aa = $pdo->query($sql_aa, true); while($r_aa = $pdo->fetch_assoc($q_aa)) { $activities_ids[] = (int)$r_aa['activities_id']; } } } else if ($activities_id == 0) { $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); $r_activites = $pdo->fetch_assoc($q_aclivites); 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(); } } $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; } } if($agency_id == 19895){ $opis = ''; } $hot = 0; if($agency_id == 19895 && $group_id == 290){ $hot = 1; } echo $hot."\n"; $confirm = 1; $who_work = $user_id; if($agency_id == 19895){ //Поиск ответственного по источнику $sql_w = "SELECT * FROM advertising_sources_who_work WHERE adv_id = {$source_id}"; $q_w = $pdo->query($sql_w); if($pdo->num_rows($q_w) > 0){ $r_w = $pdo->fetch_assoc($q_w); $user_id = $who_work = (int)$r_w['who_work']; } else { $confirm = 0; $who_work = 0; } } $sql = "SELECT `id`, `stage`, `deleted` FROM `clients` WHERE cancel=0 AND (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)."))"; $client = $pdo->fetch_assoc($pdo->query($sql)); if(!empty($client) && $client){ $client_id = $client['id']; } else { $sql = "INSERT INTO clients SET phone='{$phone}', hot={$hot}, email='{$email}', fio='{$fio_client}', opis='{$opis}', id_agent={$user_id}, who_work={$who_work}, date_add=NOW(), confirm={$confirm}, funnel_id={$funnel_id}, stage=1, source= '{$source_id}', integration=3"; if($agency_id == 19895){ // echo $sql; die(); } /* 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); } if($activities_id){ $sql_a = "INSERT INTO `clients_activities` (`activity_id`, `client_id`) VALUES ({$activities_id}, {$client_id})"; $pdo->query($sql_a); } else if($activities_ids && !empty($activities_ids)){ foreach($activities_ids as $activities_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){ $web_hook_in = new WebHookIn($pdo); $reqid=(int)$web_hook_in->check_is_req($who_work, $source_id, $client_id); if($reqid > 0 && $agency_id == 19895) { $comment = "Обращался повторно
"; if(!empty($activities_ids)){ $sql_activites = "SELECT * FROM activities WHERE id in (".implode(',', $activities_ids).")"; $q_aclivites = $pdo->query($sql_activites); $comment .= "Теги: "; while($r_activites = $pdo->fetch_assoc($q_aclivites)){ $comment .= $r_activites['name']." "; } $sql_ev = "INSERT INTO user_client_events (req_id, `type`, comment, user_id, from_id, create_date, calendar_view) VALUES ($reqid, 'comment', '{$comment}', {$user_id}, {$user_id}, NOW(), 1)"; $pdo->query($sql_ev); } die(); } $name_req = 'Подбор объекта для '.$fio_client; if($agency_id == 19895){ $name_req = $fio_client; } //Поиск воронки по источнику if($source_id > 0){ $sql_req_funnel="SELECT * FROM advertising_sources_funnel WHERE source_id = {$source_id}"; $q_req_funnel = $pdo->query($sql_req_funnel, true); $r_req_funnel = $pdo->fetch_assoc($q_req_funnel); if($r_req_funnel && $r_req_funnel['funnel_id_req'] > 0){ $funnel_id_req = (int)$r_req_funnel['funnel_id_req']; } } $sql = "INSERT INTO requisitions SET client_id={$client_id}, hot={$hot}, name='{$name_req}', description='{$opis}', user_id={$user_id}, integration=3, who_work={$who_work}, type_id=1, confirm=$confirm, funnel_id={$funnel_id_req}, stage=1, source= '{$source_id}'"; /* if($_SESSION['id'] == 19895){ echo $sql; //die(); }*/ if(isset($partner) && $partner > 0){ $doers[$user_id] = 1; $doers[$partner] = 1; $sql .= ", doers = '".clearInputElement(json_encode($doers))."', doer_clients=1"; } /* if($_SESSION['id'] == 19895){ echo $sql; die(); }*/ $pdo->query($sql); $req_id = $pdo->insert_id(); if($funnel_id_req > 0){ $Requisitions = new Requisitions(); $Requisitions->get_class_etap($req_id, $funnel_id_req); } if($activities_ids && !empty($activities_ids)){ foreach($activities_ids as $activities_id){ $sql_a = "INSERT INTO `requisitions_activities` (`activity_id`, `req_id`) VALUES ({$activities_id}, {$req_id})"; $pdo->query($sql_a); } } else if($activities_id){ $sql_a = "INSERT INTO `requisitions_activities` (`activity_id`, `req_id`) VALUES ({$activities_id}, {$req_id})"; $pdo->query($sql_a); } if($who_work > 0){ $comment = "Квиз ".$nameQuiz; $sql_add = "INSERT INTO `events_clients` (`user_id`, `req_id`, `from_id`, `event`, `dop_text`, `read`) ". "VALUES ({$user_id}, {$req_id}, {$who_work}, 'add', '{$comment}', 2)"; $pdo->query($sql_add); if($agency_id != 19895){ $sql_in_ev = "INSERT INTO user_client_events (user_id, req_id, create_date, schedule_date, `type`, comment, calendar_view, from_id) ". "VALUES ($user_id_req, $req_id, '".date('Y-m-d H:i:s')."', '".date('Y-m-d H:i:s', strtotime('+15 minutes'))."', 'call', '{$comment}', 0, {$who_work})"; $pdo->query($sql_in_ev); if($partner > 0) { $sql_conf = "INSERT INTO `events_clients` (`user_id`, `req_id`, `from_id`, `event`, `read`, `send_telegramm`) VALUES (".$user_id.", ".$req_id.", ".$partner.", 'transmitted_parallel', 2,0)"; $pdo->query($sql_conf); } } } if($agency_id == 19895 && $req_id > 0){ $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); } $rqClass = new Requisitions(null, true); $rqClass->set_agencyId($agency_id); $rqClass->set_userId($user_id); $rqClass->autoUnitReq(1, $req_id); } } } }