Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save flayder/48c7c3beced8146ca275115de78a8ce0 to your computer and use it in GitHub Desktop.
Save flayder/48c7c3beced8146ca275115de78a8ce0 to your computer and use it in GitHub Desktop.
<?
require($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/include/prolog_before.php");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/captcha.php");
require('PHPMailer/PHPMailerAutoload.php');
global $APPLICATION;
CModule::IncludeModule('iblock');
if($_SERVER["REQUEST_METHOD"] == "POST"){
$cpt = new CCaptcha();
$captchaPass = COption::GetOptionString("main", "captcha_password", "");
$arResult = array(
'errors' => array(),
'captcha' => htmlspecialcharsbx($APPLICATION->CaptchaGetCode())
);
$town = trim($_POST['PROPERTY[66]']);
$metro = trim($_POST['PROPERTY[67]']);
$time = trim($_POST['PROPERTY[68][0]']);
$phone = trim($_POST['PROPERTY[75][0]']);
$address = trim($_POST['PROPERTY[70][0]']);
$name = trim($_POST['PROPERTY[71][0]']);
$service = trim($_POST['PROPERTY[72][0]']);
$opis = trim($_POST['PROPERTY[73][0][VALUE][TYPE]']);
$file = trim($_POST['PROPERTY_FILE_74_0']);
$captcha_sid = trim($_POST['captcha_sid']);
$captcha = trim($_POST['captcha']);
$subject = 'Форма добавления объектов';
// проверка
if (strlen($opis) < 3 || strlen($name) < 5 || strlen($phone) < 5) {
$arResult["errors"][] = 'Проверьте правильность заполнения полей';
}
if (strlen($captcha) > 0 && strlen($captcha_sid) > 0){
if (!$cpt->CheckCodeCrypt($captcha, $captcha_sid, $captchaPass)) {
$arResult["errors"][] = 'Неправильно введен текст с картинки';
}
} else {
$arResult["errors"][] = 'Не введен текст с картинки';
}
if (empty($arResult['errors'])) {
$message = "Тема: Добавление нового объекта\r\n";
$message .= "Город: $town\r\n";
$message .= "Метро: $metro\r\n";
$message .= "Часы работы: $time\r\n";
$message .= "Телефон: $phone\r\n";
$message .= "Адрес: $address\r\n";
$message .= "Название: $name\r\n";
$message .= "Услуги: $service\r\n";
$message .= "Описание: $opis\r\n";
$mail = new PHPMailer();
$mail->CharSet = 'UTF-8';
$mail->From = $name;
$mail->AddAddress('[email protected]');
$mail->Subject = $subject;
$mail->Body = $message;
if (!empty($_FILES['PROPERTY_FILE_74_0'])) {
$mail->AddAttachment($_FILES['PROPERTY_FILE_74_0']['tmp_name'], $_FILES['PROPERTY_FILE_74_0']['name'], $encoding = "base64", $type = "application/octet-stream");
}
if( ! $mail->send() ) {
$arResult["errors"][] = $mail->ErrorInfo;
}
}
echo json_encode($arResult);
die();
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment