0) { $lead = mysql_fetch_assoc($result); } else { $lead = 0; } return $lead; } function setLeadSource($source, $leadId) { $sql = "UPDATE `clients` SET source = '$source' WHERE id= $leadId"; $result = mysql_query($sql); } function checkLeadRenew($opis, $newDate) { $pos = strpos($opis, $newDate); if ($pos === false) { return true; } else { return false; } } function setLeadNonDelete($leadId, $opis) { $opis = mysql_real_escape_string($opis); $sql = "UPDATE `clients` SET deleted = 0, denial = 0, opis = '$opis', reason = '' WHERE id= $leadId"; $result = mysql_query($sql); } /** GET ID SOURCE IN AGENCY * @param input - искомый источник * @param agencyID - ID агенства * @return id - возвращает ID источника или 0 */ function getIDSource($input, $agencyID) { $sql = "SELECT id FROM `advertising_sources` WHERE user_id = '$agencyID' AND source = '$input'"; $res = mysql_query($sql); if (mysql_num_rows($res) > 0) { $id = mysql_fetch_assoc($res)['id']; } else { $id = 0; } return $id; } /** Class for lead */ class Lead { private $fio; private $email; private $phone; private $comment; private $source; private $funnel; private $role; public function __construct($fio, $email, $phone, $comment = '', $source, $funnel = 438, $userType = false) { $this->fio = $fio; $this->email = $email; $this->phone = normalizePhone($phone); $this->comment = $comment; $this->source = $source; $this->funnel = $funnel; $this->role = $userType; } public function addLeadToDB($userID) { $fio = $this->fio; $email = $this->email; $phone = $this->phone; $opis = mysql_real_escape_string($this->comment); $source = $this->source; $funnel = $this->funnel; $who_work = $userID; $date_add = date("Y-m-d H:i:s"); $role = $this->role ? '["'.$this->role.'"]' : ''; $sql = "INSERT INTO clients (`fio`, `email`, `phone`, `opis`, `source`, `type`, `who_work`,`id_agent`,`date_add`,`deleted`,`stage`,`confirm`,`funnel_id`,`budget`,`status`, `role`) VALUES ('$fio','$email','$phone','$opis','$source','','0','$who_work','$date_add',0,1,0,'$funnel','','', '$role')"; $res = mysql_query($sql); if ($res) { $id = mysql_insert_id(); $client = new Clients; $client->get_class_etap($id, $funnel); } else { $id = 0; } return $id; } } // DO IT! /*$agencyID = 7864; // Restate.Agency $userID = 9426; // Новак Алексей Сергеевич $head = array(); // на всякий случай сохранятся шапка $leads = getCSV('http://tk.promit.ru/lead-send.csv?key=7da0e684609e4e1cc077f046be79e0be', $head); if (is_array($leads) && !empty($leads)) { foreach ($leads as $lead) { // Получаем телефон лида (по-другому его не идентифицировать в нашей базе) $phone = normalizePhone($lead[6]); $comment = "Дата поступления: $lead[1]
Регион: $lead[2]
Стоимость квартиры: $lead[3]
Нужна ли ипотека: $lead[4]
Срок сдачи: $lead[8]
Первоначальный взнос: $lead[9]
Покупка планируется: $lead[10]
Продажа перед покупкой: $lead[11]
Название: $lead[12]
Комменатарий: $lead[15]
"; // Смотрим есть ли источник $source = 0; if (!empty($lead[21])) { $source = getIDSource($lead[21], $agencyID); if ($source == 0) { $comment .= '

Источник: ' . $lead[21] . '
'; } } $userType = false; if (!empty($lead[22])) { switch ($lead[22]){ case 'Купить': $userType = 'Покупатель'; break; case 'Продать': $userType = 'Продавец'; break; case 'Снять': $userType = 'Арендатор'; break; case 'Сдать': $userType = 'Арендодатель'; break; } } $funnelId = 438; if (!empty($lead[23])) { $type = $lead[23]; if (strpos($type, 'Квартира в новостройке') !== false) { $funnelId = 438; } if (strpos($type, 'Квартира (вторичка)') !== false) { $funnelId = 121; } } if ($lead[16] != '') { $comment .= '

Послушать аудио по ссылке: ссылка'; } $leadInDB = checkLeadInDB($phone, $agencyID); if (is_array($leadInDB)) { $leadSource = $leadInDB['source']; $leadDeleted = $leadInDB['deleted']; $leadId = $leadInDB['id']; if ((empty($leadSource) || $leadSource == 0) && $source != 0) { setLeadSource($source, $leadId); } if ($leadDeleted == 1) { // Если дата с CSV отлична от даты в комментарии лида if (checkLeadRenew($leadInDB['opis'], $lead[1])) { $newComment = 'Восстановлен.
' . $comment; setLeadNonDelete($leadId, $newComment); } } } else { $newLead = new Lead($lead[5], $lead[7], $phone, $comment, $source, $funnelId, $userType); $newLeadID = $newLead->addLeadToDB($userID); // Send event Telegram $event = 'add'; // событие: Добавлен $from = $userID; // $sqlEvent = "INSERT INTO `events_clients` (user_id, client_id, from_id, event, `read`, send_telegramm) VALUES ('" . $userID . "', '" . $newLeadID . "', '" . $from . "', '" . $event . "', '2', '0')"; $resultEvent = mysql_query($sqlEvent); } } }*/