Files
2026-03-13 10:42:01 +03:00

293 lines
15 KiB
PHP
Raw Permalink 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
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
require 'vendor/autoload.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
$mail = new PHPMailer(true);
$mail->CharSet = 'UTF-8';
$mail->isHTML(true);
try {
//Server settings
$mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output
$mail->isSMTP(); //Send using SMTP
$mail->Host = 'smtp.fvkorobkov.ru'; //Set the SMTP server to send through
$mail->Port = 465; //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`
$mail->SMTPAuth = true; //Enable SMTP authentication
$mail->Username = 'ask@fvkorobkov.ru'; //SMTP username
$mail->Password = 'G59UQwYaSl'; //SMTP password
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //Enable implicit TLS encryption
$mail->setFrom('ask@fvkorobkov.ru', 'Робот-Клиентправ');
$mail->addAddress('help@clientright.ru', 'Заявка с сайта clientright.ru');
// $mail->addAddress('ftpl@yandex.ru', 'Заявка с сайта clientright.ru');
$mail->isHTML(true);
$inputsArray = [
'file_15_1', //
'file_15_2', //
'file_15_3', //
'file_15_4', //
'file_15_5', //
'file_15_6', //
'file_15_7', //
'file_15_8', //
];
$inputLabel = [
'Договор',
одтверждение_оплаты',
рограмма_обучения',
'Скриншот_прогресса_обучения',
'Претензия',
'Ответ_на_претензию',
'Возврат_средств',
рочиеокументы'
];
$files_array = [];
$lastname = $_POST['lastname'];
if($inputsArray) {
foreach($inputsArray as $index => $inputsArray_item) {
for($i=0;$i<10;$i++) {
if (!isset($_FILES[$inputsArray_item.'-'.$i])) {
$error = 'Файл не загружен.';
break;
} else {
// echo 'Фaйл с именем '. $inputsArray_item." существует";
// die;
$file = $_FILES[$inputsArray_item.'-'.$i];
$allow = array();
$deny = array(
'phtml', 'php', 'php3', 'php4', 'php5', 'php6', 'php7', 'phps', 'cgi', 'pl', 'asp',
'aspx', 'shtml', 'shtm', 'htaccess', 'htpasswd', 'ini', 'log', 'sh', 'js', 'html',
'htm', 'css', 'sql', 'spl', 'scgi', 'fcgi', 'exe'
);
$path = __DIR__ . '/uploads/';
$error = $success = '';
if (!empty($file['error']) || empty($file['tmp_name'])) {
$error = 'Не удалось загрузить файл.';
} elseif ($file['tmp_name'] == 'none' || !is_uploaded_file($file['tmp_name'])) {
$error = 'Не удалось загрузить файл.';
} else {
$pattern = "[^a-zа-яё0-9,~!@#%^-_\$\?\(\)\{\}\[\]\.]";
$name = mb_eregi_replace($pattern, '-', $file['name']);
$name = mb_ereg_replace('[-]+', '-', $name);
$parts = pathinfo($name);
if (empty($name) || empty($parts['extension'])) {
$error = 'Недопустимый тип файла';
} elseif (!empty($allow) && !in_array(strtolower($parts['extension']), $allow)) {
$error = 'Недопустимый тип файла';
} elseif (!empty($deny) && in_array(strtolower($parts['extension']), $deny)) {
$error = 'Недопустимый тип файла';
} else {
if (move_uploaded_file($file['tmp_name'], $path . $name)) {
$fullpath = $_SERVER['HTTP_REFERER']. '/uploads/' . $name;
$mail->addAttachment('uploads/'.$name);
if(strtolower($parts['extension']) != 'pdf') {
$oldfile = 'uploads/'.$name;
$newfile = 'uploads/'.$name.'_'.date('m-d-Y-H-i-s').'.pdf';
# $newfile = 'uploads/'.$name.'_'.date('m-d-Y-H-i-s').'_'.$count.'стр.pdf';
exec("convert ".$oldfile." ".$newfile." ");
$pdfFiles[] = $newfile;
} else {
$pdfFiles[] = 'uploads/' . $name; // 'uploads/'
}
//exec("convert uploads/".$name." uploads/".$name.'_'.date('m-d-Y-H-i-s').".pdf");
//$success = '<p style="color: green">Файл «' . $name . '» успешно загружен.</p><a href="'.$fullpath.'">Скачать</a>';
} else {
$error = 'Не удалось загрузить файл.';
}
}
}
}
}
// $new = 'uploads/'.$inputsArray_item.'_'.$lastname.'_'.date('m-d-Y').'.pdf';// 'uploads/'
$new = 'uploads/'.$inputLabel[$index].'_'.preg_replace('/\s+/', '', $lastname).'_'.count($pdfFiles).'_стр_'.date('d-m-Y').'.pdf';// 'uploads/'
$cmd = "gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=".$new." ".implode(" ", $pdfFiles);
shell_exec($cmd);
if(filesize($new) > 5000) {
$mail->addAttachment($new);
//$new_array[] = $new;
//$cfile = new CURLFile(realpath($new));
$files_array = array_merge($files_array, array($inputsArray_item => new CURLFile(realpath($new))));
$pdfFiles = [];
}
}
}
$new_post = array(
'__vtrftk' => 'sid:ec649134ad232e44c3ad71bbd321cee986f05545,1688385374',
'publicid' => '3ddc71c2d79ef101c09b0d4e9c6bd08b',
'urlencodeenable' => '1',
'name' => 'websiteticket',
'firstname' => $_POST['firstname'],
'lastname' => $_POST['lastname'],
'cf_1157' => $_POST['cf_1157'], // Отчество
'mobile' => $_POST['mobile'], // Мобильный телефон
'email' => $_POST['email'], // Email
'mailingstreet' => $_POST['mailingstreet'], // Адрес регистрации
'birthday' => $_POST['birthday'], // Дата рождения
'cf_1263' => $_POST['cf_1263'], // Место рождения
'cf_1257' => $_POST['cf_1257'], // Ваш ИНН или серия и номер паспорта
'cf_1273' => $_POST['cf_1273'], // Реквизиты для получения возмещения
'cf_1590' => $_POST['cf_1590'], // IP
'cf_1592' => $_POST['cf_1592'], // Регион
'cf_1171' => $_POST['cf_1171'], // Цена договора
'cf_1173' => $_POST['cf_1173'], // Дата заключения договора
'cf_1415' => $_POST['cf_1415'], // Самостоятельно соблюден претензионный порядок
'cf_1181' => $_POST['cf_1181'], // Дата направления претензии
'cf_1183' => $_POST['cf_1183'], // Вернули в претензионном порядке
'cf_1163' => $_POST['cf_1163'], // ИНН контрагента
'cf_1161' => $_POST['cf_1161'], // Наименование контрагента
'cf_1165' => $_POST['cf_1165'], // Юридический адрес контрагента
'cf_1167' => $_POST['cf_1167'], // E-mail контрагента
'cf_1558' => $_POST['cf_1558'], // Сайт контрагента
'cf_1560' => $_POST['cf_1560'], // Контактный телефон контрагента
'cf_1169' => $_POST['cf_1169'], // Образовательная программа
'cf_1461' => $_POST['cf_1461'], // Прогресс обучения, %
'cf_1598' => $_POST['cf_1598'], // Страховка
'cf_1600' => $_POST['cf_1600'], // Транспортные услуги
'cf_1594' => $_POST['cf_1594'], // Страна путешествия
'cf_1596' => $_POST['cf_1596'], // Средство размещение
'cf_1582' => $_POST['cf_1582'], // Начало путешествия
'cf_1584' => $_POST['cf_1584'], // Окончание путешествия
'cf_1602' => $_POST['cf_1602'], // Наименование туроператора
'cf_1604' => $_POST['cf_1604'], // Инн туроператора
'cf_1606' => $_POST['cf_1606'], // Юридический адрес туроператора
'cf_1608' => $_POST['cf_1608'], // E-mail туроператора
'cf_1612' => $_POST['cf_1612'], // Адрес в интернете туроператора
'cf_1610' => $_POST['cf_1610'], // Телефон туроператора
'cf_1634' => $_POST['cf_1634'], // Наименование средства размещения
'cf_1646' => $_POST['cf_1646'], // Юридический адрес средства размещения
'cf_1652' => $_POST['cf_1652'], // E-mail средства размещения
#недостатки
'cf_1726' => $_POST['cf_1726'], // Задержка в заселении в объект размещения на срок от 8 часов
'cf_1728' => $_POST['cf_1728'], // Отказ в заселении в забронированный и/или оплаченный объект размещения (овербукинг)
'cf_1730' => $_POST['cf_1730'], // Отсутствие вида, заявленного при бронировании и/или оплате за объект размещения
'cf_1732' => $_POST['cf_1732'], // Отсутствие удобств (туалет и/или ванная и/или душ*)
'cf_1734' => $_POST['cf_1734'], // Отсутствие кондиционера
'cf_1736' => $_POST['cf_1736'], // Отсутствие в апартаментах (апарт-отель) кухни* и/или стиральной машины* и/или кухонной плиты*
'cf_1738' => $_POST['cf_1738'], // Я ознакомлен(а) и согласен(на) с политикой обработки персональных данных
'cf_1660' => $_POST['cf_1660'], //
'cf_1666' => $_POST['cf_1666'], //
'cf_1638' => $_POST['cf_1638'], //
'cf_1644' => $_POST['cf_1644'], //
'cf_1650' => $_POST['cf_1650'], //
'cf_1656' => $_POST['cf_1656'], //
'cf_1662' => $_POST['cf_1662'], //
'cf_1668' => $_POST['cf_1668'], //
'cf_1616' => $_POST['cf_1616'], //
'cf_1622' => $_POST['cf_1622'], //
'cf_1628' => $_POST['cf_1628'], //
'cf_1620' => $_POST['cf_1620'], //
'cf_1624' => $_POST['cf_1624'], //
'cf_1584' => $_POST['cf_1584'], //
'cf_1674' => $_POST['cf_1674'], //
'cf_1676' => $_POST['cf_1676'], //
'cf_1678' => $_POST['cf_1678'], //
'cf_1586' => $_POST['cf_1586'], //
'cf_1632' => $_POST['cf_1632'], //
'cf_1670' => $_POST['cf_1670'], //
'cf_1740' => $_POST['cf_1740'], // номер страхового полиса
'description' => $_POST['description'], // Описание
'cf_1686' => $_POST['cf_1686'], //
'cf_1688' => $_POST['cf_1688'], //
'cf_1834' => $_POST['cf_1834'], // REF
'cf_1690' => $_POST['cf_1690'],
'cf_1786' => $_POST['cf_1786'], //причина обращения
'cf_1187' => $_POST['cf_1187'], // направление обращения
'cf_1706' => $_POST['cf_1706']
);
$final_post = array_merge($new_post, $files_array);
$curl_connection =
curl_init('https://crm.clientright.ru/modules/Webforms/capture.php');
curl_setopt($curl_connection, CURLOPT_POST, 1);
curl_setopt($curl_connection, CURLOPT_HEADER, 0);
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT,
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.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, $final_post);
$result = curl_exec($curl_connection);
curl_close($curl_connection);
$mail->Subject = 'Заявкас с сайта clientright.ru';
$mail->Body = 'Пользователь заполнил форму! </br> </br>';
foreach($new_post as $key => $value) {
$mail->Body .= $key.' : '.$value.'<br>';
}
$mail->send();
echo 'Message has been sent'. $error;
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
$files = glob('uploads/*'); // get all file names
foreach($files as $file){ // iterate files
if(is_file($file)) {
unlink($file); // delete file
}
}
function translit($value)
{
$converter = array(
'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd',
'е' => 'e', 'ё' => 'e', 'ж' => 'zh', 'з' => 'z', 'и' => 'i',
'й' => 'y', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n',
'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't',
'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c', 'ч' => 'ch',
'ш' => 'sh', 'щ' => 'sch', 'ь' => '', 'ы' => 'y', 'ъ' => '',
'э' => 'e', 'ю' => 'yu', 'я' => 'ya',
'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D',
'Е' => 'E', 'Ё' => 'E', 'Ж' => 'Zh', 'З' => 'Z', 'И' => 'I',
'Й' => 'Y', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N',
'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Т' => 'T',
'У' => 'U', 'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C', 'Ч' => 'Ch',
'Ш' => 'Sh', 'Щ' => 'Sch', 'Ь' => '', 'Ы' => 'Y', 'Ъ' => '',
'Э' => 'E', 'Ю' => 'Yu', 'Я' => 'Ya',
);
$value = strtr($value, $converter);
return preg_replace('/\s+/', '', $value);
}