You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
4.8 KiB
126 lines
4.8 KiB
<?php
|
|
$eventType = new CEventType;
|
|
$eventMessage = new CEventMessage;
|
|
|
|
// Проверяем существование типа почтового события
|
|
$eventTypeResult = $eventType->GetList(array("TYPE_ID" => "CONSULTATION_REQUEST"));
|
|
if (!$eventTypeResult->Fetch()) {
|
|
// Создаем тип почтового события
|
|
$eventType->Add(array(
|
|
"EVENT_NAME" => "CONSULTATION_REQUEST",
|
|
"NAME" => "Заявка на консультацию",
|
|
"LID" => "ru",
|
|
"DESCRIPTION" => "#NAME# - Имя клиента\n#PHONE# - Телефон\n#EMAIL_TO# - Email получателя"
|
|
));
|
|
}
|
|
|
|
// Проверяем существование шаблона
|
|
$eventMessageResult = $eventMessage->GetList(
|
|
array(),
|
|
array("TYPE_ID" => "CONSULTATION_REQUEST")
|
|
);
|
|
if (!$eventMessageResult->Fetch()) {
|
|
// Создаем шаблон почтового события
|
|
$eventMessage->Add(array(
|
|
"ACTIVE" => "Y",
|
|
"EVENT_NAME" => "CONSULTATION_REQUEST",
|
|
"LID" => SITE_ID,
|
|
"EMAIL_FROM" => "#DEFAULT_EMAIL_FROM#",
|
|
"EMAIL_TO" => "#EMAIL_TO#",
|
|
"SUBJECT" => "Новая заявка на консультацию",
|
|
"BODY_TYPE" => "html",
|
|
"MESSAGE" => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
</head>
|
|
<body>
|
|
<p>Поступила новая заявка на консультацию!</p>
|
|
|
|
<p><b>Имя клиента:</b> #NAME#</p>
|
|
<p><b>Телефон:</b> #PHONE#</p>
|
|
|
|
<br/>
|
|
<p>Сообщение сгенерировано автоматически.</p>
|
|
</body>
|
|
</html>'
|
|
));
|
|
}
|
|
|
|
// === Настройка почтового события для новых заказов ===
|
|
$eventTypeResult = $eventType->GetList(array("TYPE_ID" => "SALE_NEW_ORDER_CUSTOM"));
|
|
if (!$eventTypeResult->Fetch()) {
|
|
// Создаем тип почтового события
|
|
$eventType->Add(array(
|
|
"EVENT_NAME" => "SALE_NEW_ORDER_CUSTOM",
|
|
"NAME" => "Новый заказ",
|
|
"LID" => "ru",
|
|
"DESCRIPTION" => "#ORDER_ID# - Номер заказа\n#ORDER_DATE# - Дата заказа\n#USER_NAME# - Имя покупателя\n#USER_PHONE# - Телефон\n#USER_EMAIL# - Email\n#PRICE# - Сумма заказа\n#CURRENCY# - Валюта\n#EMAIL# - Email получателя"
|
|
));
|
|
}
|
|
|
|
// Проверяем существование шаблона
|
|
$eventMessageResult = $eventMessage->GetList(
|
|
array(),
|
|
array("TYPE_ID" => "SALE_NEW_ORDER_CUSTOM")
|
|
);
|
|
if (!$eventMessageResult->Fetch()) {
|
|
// Создаем шаблон почтового события
|
|
$eventMessage->Add(array(
|
|
"ACTIVE" => "Y",
|
|
"EVENT_NAME" => "SALE_NEW_ORDER_CUSTOM",
|
|
"LID" => SITE_ID,
|
|
"EMAIL_FROM" => "#DEFAULT_EMAIL_FROM#",
|
|
"EMAIL_TO" => "#EMAIL#",
|
|
"SUBJECT" => "Новый заказ #ORDER_ID#",
|
|
"BODY_TYPE" => "html",
|
|
"MESSAGE" => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
</head>
|
|
<body>
|
|
<h2>Поступил новый заказ!</h2>
|
|
|
|
<p><b>Номер заказа:</b> #ORDER_ID#</p>
|
|
<p><b>Дата заказа:</b> #ORDER_DATE#</p>
|
|
<p><b>Имя покупателя:</b> #USER_NAME#</p>
|
|
<p><b>Телефон:</b> #USER_PHONE#</p>
|
|
<p><b>Email:</b> #USER_EMAIL#</p>
|
|
<p><b>Сумма заказа:</b> #PRICE# #CURRENCY#</p>
|
|
|
|
<br/>
|
|
<p>Перейти к заказу в административной панели</p>
|
|
<p>Сообщение сгенерировано автоматически.</p>
|
|
</body>
|
|
</html>'
|
|
));
|
|
}
|
|
|
|
// === Обработка формы консультации из футера ===
|
|
if (
|
|
$_SERVER['REQUEST_METHOD'] === 'POST' &&
|
|
isset($_POST['consultation_form']) &&
|
|
!empty($_POST['name']) &&
|
|
!empty($_POST['phone'])
|
|
) {
|
|
CEvent::Send(
|
|
"CONSULTATION_REQUEST",
|
|
SITE_ID,
|
|
array(
|
|
"NAME" => htmlspecialchars($_POST['name']),
|
|
"PHONE" => htmlspecialchars($_POST['phone']),
|
|
"EMAIL_TO" => COption::GetOptionString("main", "email_from")
|
|
)
|
|
);
|
|
// Можно добавить редирект или JSON-ответ, если это ajax
|
|
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
|
|
header('Content-Type: application/json');
|
|
echo json_encode(["success" => true]);
|
|
exit;
|
|
} else {
|
|
// Обычный редирект после отправки
|
|
header('Location: ' . $_SERVER['HTTP_REFERER']);
|
|
exit;
|
|
}
|
|
}
|