'hide_client_contacts', 'message' => 'Отправка PDF-презентаций через E-mail/WhatsApp/Telegram недоступна: контакты клиентов скрыты.' ]); exit; } if($_POST['clients']) { $user = new User(); $user->get($_SESSION['id']); if($user->agencyName) { $title = 'Агентство недвижимости '.$user->agencyName; } else { $title = $user->fio; } if($user->phoneAgency) { $phone = $user->phoneAgency; } else { $phone = $user->phone; } if($_SESSION['agency']) { $manager = trim($user->last_name . ' ' . $user->first_name . ' ' . $user->middle_name); } else { $manager = $_SESSION['fio']; } $send_type = 0; if(!empty($SEND_TYPE_PDF[$_POST['send_type']])){ $send_type = $SEND_TYPE_PDF[$_POST['send_type']]; } $theme = !empty($_POST['theme']) ? $_POST['theme'] : "Презентации объектов недвижимости"; $txt = !empty($_POST['txt']) ? str_replace("\n","
",$_POST['txt']) : "Уважаемый клиент, отправляю Вам варианты объектов недвижимости. С удовольствием отвечу на ваши вопросы."; $footer = "
$manager
".$user->phone."
".$user->email; if ($_SESSION['individual'] == 0) { $footer .= "
$title
$phone"; } $pdfs = $adresses = array(); $clientIds = $_POST['clients']; $requestId = isset($_POST['request']) ? (int)$_POST['request'] : null; $userId = $_SESSION['id']; $toSend = $_SESSION['to_send']; $toSendNewBuildings = $_SESSION['to_send_newbuilding']; $toSendComplexes = $_SESSION['to_send_complexes']; $toSendASFilter = $_SESSION['to_send_asfilter']; $_SESSION['to_send'] = array(); $_SESSION['to_send_newbuilding'] = array(); $_SESSION['to_send_complexes'] = array(); $_SESSION['to_send_asfilter'] = array(); session_write_close(); $closes_contact = array(); if($send_type == 0){ $closes_contact = json_decode($_POST['closes_contact'], true); } $prices = array(); if(isset($_POST['priсes'])){ $prices = json_decode($_POST['priсes'], true); } $hideAddresses = []; if(isset($_POST['address'])){ $hideAddresses = json_decode($_POST['address'], true); } $result = SelectelApi::getTokenAndUrl(); $token = $result[0]; $storageUrl = $result[1]; foreach($toSend as $sts) { $pdfs[] = $_SERVER['DOCUMENT_ROOT']."/pdf/$sts-$userId.pdf"; $sql = "SELECT nazv, adres, phone, sobstv FROM objects WHERE id=$sts"; $rez = mysql_query($sql); $obj = mysql_fetch_assoc($rez); //Доп обработка if(!$obj['etazh']) $obj['etazh']=Filter::getFloorFromName($obj['nazv'],true); else Filter::getFloorFromName($obj['nazv'],true); if(!$obj['etazh_iz']) $obj['etazh_iz']=Filter::getMaxFloorFromName($obj['nazv'],true); else Filter::getMaxFloorFromName($obj['nazv'],true); Filter::getSpaceFromName($obj['nazv'],true); $obj['nazv']=Filter::name($obj['nazv']); $adresses[] = $obj['nazv']; if(isset($hideAddresses[$sts]) && $hideAddresses[$sts] == 1){ $obj['adres'] = ''; } $sql = "INSERT INTO archive(nazv, adres, phone, sobstv, id_obj) VALUES('$obj[nazv]', '$obj[adres]', '$obj[phone]', '$obj[sobstv]', '$sts')"; mysql_query($sql); foreach ($clientIds as $id_client) { $close_contact = 0; if(isset($closes_contact[$sts])){ $close_contact = $closes_contact[$sts]; } $cena = 0; if(isset($prices[$sts])){ $cena = $prices[$sts]; } $urlToSave = "/pdf/$sts-$userId.pdf"; //сохраняем ПДФ в селектел if ($token && $storageUrl) { $fullPath = $_SERVER['DOCUMENT_ROOT']."/pdf/$sts-$userId.pdf"; $name = "$sts-$userId.pdf"; $x = mb_substr($name,0,1); $y = mb_substr($name,1,1); $z = mb_substr($name,2,1); $dstFile = "$x/$y/$z/$name"; $r = SelectelApi::uploadPdfFile($storageUrl, $token, $fullPath, $dstFile); if ($r) { //заменяем путь на новый $urlToSave = "https://pdf.joywork.ru/" . $dstFile; } } $sql = "INSERT INTO sended_pdf(id_agent, id_object, date_send, id_client, nazv, path, close_contact, send_type, new_price, id_request) VALUES('$userId', '$sts', NOW(), '$id_client', '$obj[nazv] $obj[adres]', '$urlToSave', $close_contact, $send_type, '$cena', '$requestId')"; mysql_query($sql); $sql = "UPDATE clients SET stage = 3 WHERE id = $id_client"; mysql_query($sql); } if (count($toSendASFilter) > 0) { $asfilter = new AutoSearch(); foreach ($toSendASFilter as $filter_id => $object_id) { if (!is_null($filter_id) && !is_null($object_id)) $asfilter->addObjectToSended($filter_id, $object_id); } } } foreach($toSendNewBuildings as $sts) { $linkUrl = "https://joywork.ru/newbuilding-view.php?id=$sts&token=".md5($userId); $sql = "SELECT a.id, a.number, b.name, b.address FROM apartments a, blocks b WHERE b.id = a.block_id AND a.id='$sts'"; $rez = mysql_query($sql); if (mysql_num_rows($rez) > 0) { $objts = mysql_fetch_assoc($rez); if(isset($hideAddresses[$sts]) && $hideAddresses[$sts] == 1){ $objts['address'] = ''; } $nazv = "Квартира №$objts[number] в комплексе $objts[name]"; if($send_type == 0) { $txt .= "
$nazv
"; } else { $txt .= $nazv . " " . $linkUrl; } foreach ($clientIds as $id_client) { $sql = "INSERT INTO sended_pdf_newbuildings(id_agent, id_object, date_send, id_client, nazv, path, send_type, id_request) VALUES('$userId', '$sts', NOW(), '$id_client', '$nazv $objts[address]', '$linkUrl', $send_type, '$requestId')"; mysql_query($sql); } if (count($toSendASFilter) > 0) { $asfilter = new AutoSearch(); foreach ($toSendASFilter as $filter_id => $object_id) { if (!is_null($filter_id) && !is_null($object_id)) $asfilter->addObjectToSended($filter_id, $object_id); } } } } foreach($toSendComplexes as $tsc) { $linkUrl = "https://joywork.ru/newbuilding-view.php?id=$sts&token=".md5($userId); // $sql = "SELECT a.id, a.number, b.name, b.address FROM apartments a, blocks b WHERE b.id = a.block_id AND a.id='$tsc'"; $sql = "SELECT cr.id as id, cl.name as complex_name, cl.id as complex_id, cr.type as type, cr.number as number, ca.address as address FROM complex_list cl JOIN complex_houses ch ON ch.complex_id = cl.id JOIN complex_entrances ce ON ce.complex_house_id = ch.id JOIN complex_floors cf ON cf.complex_entrance_id = ce.id JOIN complex_rooms cr ON cr.floor_id = cf.id LEFT JOIN complex_address ca on ca.complex_id = cl.id where cr.id = $ts "; $rez = mysql_query($sql); if (mysql_num_rows($rez) > 0) { $objts = mysql_fetch_assoc($rez); if(isset($hideAddresses[$tsc]) && $hideAddresses[$tsc] == 1){ $objts['address'] = ''; // var_dump($objts);die; } $nazv = "Квартира №$objts[number] в комплексе $objts[name]"; if($send_type == 0) { $txt .= "
$nazv
"; } else { $txt .= $nazv . " " . $linkUrl; } foreach ($clientIds as $id_client) { $sql = "INSERT INTO sended_pdf_newbuildings(id_agent, id_object, date_send, id_client, nazv, path, send_type, id_request) VALUES('$userId', '$sts', NOW(), '$id_client', '$nazv $objts[address]', '$linkUrl', $send_type, '$requestId')"; mysql_query($sql); } if (count($toSendASFilter) > 0) { $asfilter = new AutoSearch(); foreach ($toSendASFilter as $filter_id => $object_id) { if (!is_null($filter_id) && !is_null($object_id)) $asfilter->addObjectToSended($filter_id, $object_id); } } } } $txt .= $footer; for($i=0; $i < count($pdfs); $i++) { $num = $i+1; $pis[$x][] = $pdfs[$i]; $addr[$x][] = $adresses[$i]; if($num % 5 == 0) $x++; } foreach ($clientIds as $clientId) { $mail = mysql_result(mysql_query("SELECT email FROM clients WHERE deleted <> 1 AND id = $clientId"),0); if (isset($pis)) { foreach ($pis as $x => $pismo) { mailClientByIdWithConfirm($userId, trim($mail), $theme, $txt, $pismo, $addr[$x]); if ($token && $storageUrl) { foreach ($pismo as $i => $path) { //удаляем файл с локального сервера unlink($path); } } sleep(1); } } else { mailClientByIdWithConfirm($userId, trim($mail), $theme, $txt, [], []); } } }