Files
erv-clientright/server_new.php
2026-03-13 10:42:01 +03:00

78 lines
3.4 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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);
?>