Нужно что бы прикрепленный файл отправлялся в битрикс
Всем привет, я интегрировал contact form 7 из wordpress в битрикс и все работает заявки поступают и на почту и в битрикс но прикрепленный файл не присылается в битрикс. Нужно сделать что бы закрепленный файл присылался в битрикс. вот форма на сайте (в низу страницы) http://chornyjq.beget.tech/. вот код functions.php
<?php
//Вызываем функцию для перехвата данных
add_action( 'wpcf7_mail_sent', 'your_wpcf7_mail_sent_function' );
function your_wpcf7_mail_sent_function( $contact_form ) {
//подключение к серверу CRM
define('CRM_HOST', 'домен.Bitrix24.ru'); // Ваш домен CRM системы
define('CRM_PORT', '443'); // Порт сервера CRM. Установлен по умолчанию
define('CRM_PATH', '/crm/configs/import/lead.php'); // Путь к компоненту lead.rest
//авторизация в CRM
define('CRM_LOGIN', 'логин'); // Логин пользователя Вашей CRM по управлению лидами
define('CRM_PASSWORD', 'пароль'); // Пароль пользователя Вашей CRM по управлению лидами
//перехват данных из Contact Form 7
$title = $contact_form->title;
$posted_data = $contact_form->posted_data;
if ('Главная форма с файлом' == $title ): { //Вместо "Контактная форма 1" необходимо указать название Вашей контактной формы
$submission = WPCF7_Submission::get_instance();
$posted_data = $submission->get_posted_data();
$url = $uploaded_files['file-802'];
$data = file_get_contents($url);
$base64 = base64_encode($data);
$name = urldecode(basename($url));
//далее мы перехватывает введенные данные в Contact Form 7
$firstName = $posted_data['your-name']; //перехватываем поле [your-name]
$myemail = $posted_data['your-email'];
$message = $posted_data['your-subject']; //перехватываем поле [your-message]
$mysubject = $posted_data['your-message'];
//сопостановление полей Bitrix24 с полученными данными из Contact Form 7
$postData = array(
'TITLE' => 'Лид с формы с файлом', // Установить значение свое значение
'NAME' => $firstName,
'EMAIL_WORK' => $myemail,
'PHONE_WORK' => $message,
'COMMENTS' => $mysubject,
'FILE' => $uploaded_files,
);
//передача данных из Contact Form 7 в Bitrix24
if (defined('CRM_AUTH')) {
$postData['AUTH'] = CRM_AUTH;
} else {
$postData['LOGIN'] = CRM_LOGIN;
$postData['PASSWORD'] = CRM_PASSWORD;
}
$fp = fsockopen("ssl://".CRM_HOST, CRM_PORT, $errno, $errstr, 30);
if ($fp) {
$strPostData = '';
foreach ($postData as $key => $value)
$strPostData .= ($strPostData == '' ? '' : '&').$key.'='.urlencode($value);
$str = "POST ".CRM_PATH." HTTP/1.0\r\n";
$str .= "Host: ".CRM_HOST."\r\n";
$str .= "Content-Type: application/x-www-form-urlencoded\r\n";
$str .= "Content-Length: ".strlen($strPostData)."\r\n";
$str .= "Connection: close\r\n\r\n";
$str .= $strPostData;
fwrite($fp, $str);
$result = '';
while (!feof($fp))
{
$result .= fgets($fp, 128);
}
fclose($fp);
$response = explode("\r\n\r\n", $result);
$output = '
.print_r($response[1], 1).
';
} else {
echo 'Connection Failed! '.$errstr.' ('.$errno.')';}
};
//Начало второй формы
elseif('Стандартная форма' == $title ): { //Вместо "Контактная форма 2" необходимо указать название Вашей контактной формы
$submission = WPCF7_Submission::get_instance();
$posted_data = $submission->get_posted_data();
//далее мы перехватывает введенные данные в Contact Form 7
$firstName = $posted_data['your-name']; //перехватываем поле [your-name]
$myemail = $posted_data['your-email'];
$message = $posted_data['your-subject']; //перехватываем поле [your-message]
$mysubject = $posted_data['your-message'];
//сопостановление полей Bitrix24 с полученными данными из Contact Form 7
$postData = array(
'TITLE' => 'Лид с формы без файла', // Установить значение свое значение
'NAME' => $firstName,
'EMAIL_WORK' => $myemail,
'PHONE_WORK' => $message,
'COMMENTS' => $mysubject
);
//передача данных из Contact Form 7 в Bitrix24
if (defined('CRM_AUTH')) {
$postData['AUTH'] = CRM_AUTH;
} else {
$postData['LOGIN'] = CRM_LOGIN;
$postData['PASSWORD'] = CRM_PASSWORD;
}
$fp = fsockopen("ssl://".CRM_HOST, CRM_PORT, $errno, $errstr, 30);
if ($fp) {
$strPostData = '';
foreach ($postData as $key => $value)
$strPostData .= ($strPostData == '' ? '' : '&').$key.'='.urlencode($value);
$str = "POST ".CRM_PATH." HTTP/1.0\r\n";
$str .= "Host: ".CRM_HOST."\r\n";
$str .= "Content-Type: application/x-www-form-urlencoded\r\n";
$str .= "Content-Length: ".strlen($strPostData)."\r\n";
$str .= "Connection: close\r\n\r\n";
$str .= $strPostData;
fwrite($fp, $str);
$result = '';
while (!feof($fp))
{
$result .= fgets($fp, 128);
}
fclose($fp);
$response = explode("\r\n\r\n", $result);
$output = print_r($response[1], 1);
} else {
echo 'Connection Failed! '.$errstr.' ('.$errno.')';
}
}; //Конец второй
endif;
}