244 lines
10 KiB
PHP
244 lines
10 KiB
PHP
<?php
|
||
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
|
||
|
||
header('Content-Type: application/json');
|
||
function clearInputElement($el2) // очистка входящего элимента
|
||
{
|
||
|
||
$el = $el2;
|
||
|
||
$el = strip_tags($el); // от тегов
|
||
|
||
$el = htmlspecialchars($el); // от кавычек и прочего
|
||
|
||
$el = str_replace("\n", "<br>", $el);
|
||
|
||
$el = str_replace("\r", "", $el);
|
||
|
||
$el = mysql_real_escape_string($el); // от MySQL-инъекций
|
||
|
||
$el = trim($el); // от лишних пробелов
|
||
|
||
$el = stripslashes($el); // от слэшей
|
||
|
||
return $el;
|
||
|
||
}
|
||
|
||
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_envybox.txt', $content. "\n", FILE_APPEND);
|
||
|
||
/*$content = 'webhooktype=12&phone=77777777777&name=Ира&email=&message=&created_at=2022-07-14 19:31:12&referrer=&keyword=&ip=178.120.17.138&place=Брест, Брестская область&site=uproperty.moscow&url=https://uproperty.moscow/&utm_source=&utm_medium=&utm_campaign=&utm_content=&utm_term=&visitor_id=10574902271&google_client_id=241934448.1657816075&rs=&roistat_promo=0&adv_uid=&calltracking_id=&chat_text=[Автоприглашение, 14.07.2022 в 19:30]
|
||
%D0%97%D0%B4%D1%80%D0%B0%D0%B2%D1%81%D1%82%D0%B2%D1%83%D0%B9%D1%82%D0%B5%21
|
||
[Автоприглашение, 14.07.2022 в 19:30]
|
||
%D0%92+%D0%BD%D1%8B%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D1%85+%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D1%8F%D1%85+%D0%BD%D0%B5%D0%B4%D0%B2%D0%B8%D0%B6%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C+%D1%80%D0%B0%D1%81%D1%82%D0%B5%D1%82+%D0%B2+%D1%86%D0%B5%D0%BD%D0%B5+%D0%BA%D0%B0%D0%B6%D0%B4%D1%8B%D0%B9+%D0%B4%D0%B5%D0%BD%D1%8C..
|
||
[Автоприглашение, 14.07.2022 в 19:30]
|
||
%D0%9D%D0%BE+%D1%83+%D0%BD%D0%B0%D1%81+%D0%B5%D1%81%D1%82%D1%8C+%D1%8D%D0%BA%D1%81%D0%BA%D0%BB%D1%8E%D0%B7%D0%B8%D0%B2%D0%BD%D1%8B%D0%B5+%D0%BA%D0%B2%D0%B0%D1%80%D1%82%D0%B8%D1%80%D1%8B+%D0%BF%D0%BE+%D1%81%D1%82%D0%B0%D1%80%D0%BE%D0%BC%D1%83+%D0%BA%D1%83%D1%80%D1%81%D1%83+%F0%9F%98%89+%0A%0A%D0%A0%D0%B0%D1%81%D1%81%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D1%8C+%D0%BF%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%B5%D0%B5%3F
|
||
[Ира, 14.07.2022 в 19:30]
|
||
%D0%A2%D0%B5%D1%81%D1%82+2+joywork+Urban+enybox.+%D0%9F%D0%B5%D1%80%D0%B2%D1%8B%D0%B9+%D0%BD%D0%B5+%D1%81%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%BB.
|
||
&key=cd495472b0394512c6b635c67d941f09&lpgenerator_id=&leadvertex_id=&link=http://chat.ru.envybox.io/chat/show/-N6xY6zu9OdzuD6RILrs&chat_id=31093115&custom_data=[]&yandex_client_id=1657816068959925020
|
||
';*/
|
||
|
||
|
||
$query = urldecode($content);
|
||
|
||
|
||
$arrQuery = explode('&', $query);
|
||
$result = array();
|
||
foreach($arrQuery as $val_query){
|
||
$arrVal = explode('=',$val_query);
|
||
$massage[$arrVal[0]] = trim($arrVal[1]);
|
||
}
|
||
//var_dump($massage);
|
||
|
||
$funnel_id = 0;
|
||
$user_id = 0;
|
||
$funnel_id_req = 493;
|
||
$activities_id = 0;
|
||
$source_id = 0;
|
||
$users = array();
|
||
$client_id = 0;
|
||
$email = '';
|
||
$partner = 0;
|
||
|
||
$CallEvents = new CallEvents();
|
||
|
||
$url = parse_url($massage['url']);
|
||
|
||
$array_include = ['url', 'site', 'webhooktype', 'chat_text', 'place', 'ip'];
|
||
if(isset($massage['phone']) && !empty($massage['phone'])){
|
||
$phone = '+'.str_replace(['(',')',' ','-','+'], '', $massage['phone']);
|
||
|
||
$fio_client = "Имя не указано";
|
||
if(isset($massage['name']) && !empty($massage['name']))
|
||
$fio_client = $massage['name'];
|
||
|
||
$email = $massage['email'];
|
||
$opis = 'Заявка с EnvyBox с сайта: '.$massage['site'];
|
||
if(isset($massage['chat_text'])){
|
||
$opis .= "<br>Текст чата: ".str_replace("\n","<br>", $massage['chat_text']);
|
||
}
|
||
if(isset($massage['place'])){
|
||
$opis .= "<br>Локация: ".$massage['place'];
|
||
}
|
||
if(isset($massage['ip'])){
|
||
$opis .= "<br>Ip: ".$massage['ip'];
|
||
}
|
||
|
||
foreach($massage as $key => $mes){
|
||
|
||
if(!empty($mes) && !in_array($key, $array_include)){
|
||
$opis .= "<br>".$key.": ".$mes;
|
||
}
|
||
}
|
||
|
||
if(isset($url['host']) && !empty($url['host'])){
|
||
switch ($url['host']){
|
||
case 'skyview-moscow.ru': {
|
||
$user_id = 12429;
|
||
$funnel_id = 0;
|
||
$funnel_id_req = 479;
|
||
$activities_id = 1045;
|
||
$source_id = 1270;
|
||
break;
|
||
}
|
||
|
||
case 'uproperty.moscow': {
|
||
$user_id = 12429;
|
||
$funnel_id = 0;
|
||
$funnel_id_req = 479;
|
||
$activities_id = 1046;
|
||
$source_id = 1271;
|
||
break;
|
||
}
|
||
|
||
case 'khediproperties.com': {
|
||
$user_id = 12429;
|
||
$funnel_id = 0;
|
||
$funnel_id_req = 493;
|
||
$activities_id = 1047;
|
||
$source_id = 1288;
|
||
$partner = 12429;
|
||
break;
|
||
}
|
||
|
||
case 'istanbul.khediproperties.com': {
|
||
/* $user_id = 11593;
|
||
$partner = 12429;*/
|
||
$user_id = 12429;
|
||
$funnel_id = 0;
|
||
$funnel_id_req = 494;
|
||
|
||
break;
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
if($user_id > 0){
|
||
$CallEvents = new CallEvents();
|
||
$user = new User();
|
||
$user->get($user_id);
|
||
|
||
$users = array_keys($CallEvents->getAllUserAgency($user->agencyId, $users));
|
||
|
||
//Поиск тега
|
||
if($activities_id == 0){
|
||
$sql_activites = "SELECT id FROM `activities` WHERE name = 'Сайт ".$url['host']."' 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='Сайт ".$url['host']."', 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
|
||
= 'Сайт ".$url['host']."' AND (user_id in (".implode(',', $users).") or manager_id in (".implode(',', $users)."))";
|
||
$q_source = $pdo->query($sql_source);
|
||
$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='Сайт ".$url['host']."', user_id={$user_id}, manager_id={$user->agencyId}";
|
||
$pdo->query($sql_up);
|
||
$source_id = $pdo->insert_id();
|
||
}
|
||
}
|
||
|
||
$sql = "SELECT `id`, `stage`, `deleted` FROM `clients` WHERE cancel=0 AND (phone = '$phone' or phone2 like '%"$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}', 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=5";
|
||
if(isset($partner) && $partner > 0){
|
||
$doers = array($user_id=>1, $partner=>1);
|
||
//$doers_confirm = 0;
|
||
$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->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){
|
||
$sql = "INSERT INTO requisitions SET client_id={$client_id}, name='Подбор объекта для {$fio_client}', description='{$opis}', user_id={$user_id}, integration=5, who_work={$user_id}, type_id=1, confirm=1, funnel_id={$funnel_id_req}, stage=1, source= '{$source_id}'";
|
||
if(isset($partner) && $partner > 0){
|
||
$doers = array($user_id=>1, $partner=>1);
|
||
//$doers_confirm = 0;
|
||
$sql .= ", doers = '".clearInputElement(json_encode($doers))."', doer_clients=1";
|
||
|
||
}
|
||
$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);
|
||
}
|
||
$sql_a = "INSERT INTO `requisitions_activities` (`activity_id`, `req_id`) VALUES ({$activities_id}, {$req_id})";
|
||
$pdo->query($sql_a);
|
||
|
||
|
||
$comment = 'Заявка с EnvyBox с сайта: '.$massage['site'];
|
||
$sql_add = "INSERT INTO `events_clients` (`user_id`, `req_id`, `from_id`, `event`, `dop_text`, `read`) ".
|
||
"VALUES ({$user_id}, {$req_id}, {$user_id}, 'add', '{$comment}', 2)";
|
||
$pdo->query($sql_add);
|
||
$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_id, '".date('Y-m-d H:i:s')."', '".date('Y-m-d H:i:s', strtotime('+15 minutes'))."', 'call', '{$comment}', 0, {$user_id})";
|
||
$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);
|
||
}
|
||
}
|
||
}
|
||
}
|