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.
 
 
 
 
aliseptik/local/php_interface/include/events.php

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;
}
}