78 lines
3.4 KiB
PHP
78 lines
3.4 KiB
PHP
<?php
|
||
header('Access-Control-Allow-Origin: *');
|
||
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
|
||
header('Access-Control-Allow-Headers: origin, Content-Type, X-Requested-With, XMLHttpRequest');
|
||
|
||
// Логируем начало работы
|
||
$start_time = microtime(true);
|
||
$log_file = "logs/logfile.log";
|
||
error_log("Скрипт начался в: " . date("Y-m-d H:i:s") . "\n", 3, $log_file);
|
||
|
||
try {
|
||
// Получаем данные из POST
|
||
$upload_urls = $_POST['upload_urls'];
|
||
$upload_urls_real = $_POST['upload_urls_real'];
|
||
$files_names = $_POST['files_names'];
|
||
$appends = $_POST['appends'];
|
||
$sub_dir = $_POST['sub_dir'] ?? '';
|
||
$lastname = str_replace(' ', '', $_POST['lastname']);
|
||
|
||
// Подготовка данных для CRM
|
||
$new_post = array(
|
||
'__vtrftk' => 'sid:ec649134ad232e44c3ad71bbd321cee986f05545,1688385374',
|
||
'publicid' => '3ddc71c2d79ef101c09b0d4e9c6bd08b',
|
||
'urlencodeenable' => '1',
|
||
'name' => 'websiteticket',
|
||
);
|
||
|
||
foreach ($appends as $key => $itemjson) {
|
||
$item = json_decode($itemjson);
|
||
$new_post[$item->crm_name] = $item->field_val;
|
||
}
|
||
|
||
// Логируем данные для CRM
|
||
error_log("Данные для отправки в CRM: " . json_encode($new_post, JSON_UNESCAPED_UNICODE) . "\n", 3, $log_file);
|
||
|
||
// Отправляем данные в CRM
|
||
$curl_connection = curl_init('https://crm.clientright.ru/modules/Webforms/capture.php');
|
||
curl_setopt($curl_connection, CURLOPT_POST, 1);
|
||
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
|
||
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
|
||
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
|
||
curl_setopt($curl_connection, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data'));
|
||
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $new_post);
|
||
$crm_response = curl_exec($curl_connection);
|
||
curl_close($curl_connection);
|
||
|
||
// Логируем ответ от CRM
|
||
error_log("Ответ от CRM: " . $crm_response . "\n", 3, $log_file);
|
||
|
||
// Формируем данные для отправки почты и запускаем отдельный процесс для отправки
|
||
$email_data = array(
|
||
'to' => 'help@clientright.ru',
|
||
'subject' => 'Новая заявка с сайта',
|
||
'body' => 'Данные заявки: ' . json_encode($new_post, JSON_UNESCAPED_UNICODE),
|
||
'attachments' => $upload_urls
|
||
);
|
||
|
||
// Сохраняем данные для скрипта отправки почты
|
||
$email_file = 'logs/email_data.json';
|
||
file_put_contents($email_file, json_encode($email_data, JSON_UNESCAPED_UNICODE));
|
||
|
||
// Запускаем отправку почты в фоновом режиме
|
||
exec('php send_email.php > /dev/null 2>/dev/null &');
|
||
|
||
// Быстро завершаем скрипт
|
||
echo json_encode(['status' => 'success', 'crm_response' => $crm_response]);
|
||
|
||
} catch (Exception $e) {
|
||
error_log("Ошибка: " . $e->getMessage() . "\n", 3, $log_file);
|
||
echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);
|
||
}
|
||
|
||
// Время завершения работы скрипта
|
||
$end_time = microtime(true);
|
||
$execution_time = $end_time - $start_time;
|
||
error_log("Время выполнения скрипта: " . $execution_time . " секунд\n", 3, $log_file);
|
||
?>
|