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);
}
}
}*/