// Письмо пользователю при оформлении нового заказа
AddEventHandler("sale", "OnOrderAdd", Array("mail_new", "OnOrderAdd_mail"));
class mail_new
{
function OnOrderAdd_mail($ID, $val)
{
// Получаем имя и мэйл пользователя
$rsUser = CUser::GetByID($val["USER_ID"]);
$arUser = $rsUser->Fetch();
$arUser_name = $arUser["LAST_NAME"]." ".$arUser["NAME"];
$arUser = $arUser["EMAIL"];
// Получаем Содержимое заказа
$dbBasketItems = CSaleBasket::GetList(
array(
"NAME" => "ASC",
"ID" => "ASC"
),
array(
"FUSER_ID" => CSaleBasket::GetBasketUserID(),
"LID" => SITE_ID,
"DELAY" => "N",
"CAN_BUY" => "Y",
"ORDER_ID" => "NULL"
),
false,
false,
array()
);
$zak = "Корзина заказа:<br /><table border='1'>";
$zak = $zak."<tr><td align='center'>Товар</td><td align='center'>Цена</td><td align='center'>Кол-во</td><td align='center'>Сумма</td></tr>";
while ($arItem = $dbBasketItems->Fetch())
{
$st = (int)$arItem["QUANTITY"]*$arItem["PRICE"];
$kol_vo = (int)$arItem["QUANTITY"];
$zak = $zak."<tr><td align='left'>"."<a href='".$arItem["DETAIL_PAGE_URL"]."'>".$arItem["NAME"]."</a></td><td align='left'>".$arItem["PRICE"]."</td><td align='left'>".$kol_vo."</td><td align='left'>".$st."</td></tr>";
}
$arDeliv = CSaleDelivery::GetByID($val["DELIVERY_ID"]);
$zak = $zak."<tr><td align='left' colspan='3'><b>Доставка: </b>".$arDeliv["NAME"]."</td><td align='left'>".$val["PRICE_DELIVERY"]."</td></tr>";
$zak = $zak."</table>";
$arEventFields = array(
"ORDER_ID" => $ID,
"SOSTAV" => $zak,
"ORDER_USER" => $arUser_name,
"EMAIL" => $arUser,
"BCC" => "alexass01121977@gmail.com",
"PRICE" => (int)$val["PRICE"]." руб",
"SALE_EMAIL" => "admin@koreaopen.ru",
);
CEvent::SendImmediate("SALE_NEW_ORDER", s1, $arEventFields, "N", 57);
}
}
// Отправление писем пользователю при смене статуса заказа
// Присваивание функции письма начало
AddEventHandler("sale", "OnSaleStatusOrder", Array("mail", "OnSaleStatusOrder_mail"));
class mail
{
function OnSaleStatusOrder_mail($ID, $val)
{
//Конец присваивания функции письма
// Код статуса заказа, при котором отправлять письмо (R)
if ($val == "R")
{
// Получаем параметры заказа
$arOrder = CSaleOrder::GetByID($ID);
//Текс сообщения в письме
$text = "Заказ обработан менеджерами магазина. Необходимо подтвердить заказ, отправив на почту admin@koreaopen.ru Заказ №......(номер заказа) подтверждаю";
//Получаем свойства заказа
$db_props = CSaleOrderPropsValue::GetOrderProps($ID);
// Получаем код статуса заказа
$arStatus = CSaleStatus::GetByID($val);
$arStatus_opis = $arStatus["DESCRIPTION"];
$arStatus = $arStatus["NAME"];
$EMAIL = "";
while ($arProps = $db_props->Fetch())
{
if($arProps["CODE"] == "EMAIL")
{
$EMAIL = $arProps["VALUE"];
}
}
$arEventFields = array(
"ORDER_ID" => $ID,
"ORDER_STATUS" => $arStatus,
"ORDER_DATE" => $arOrder["DATE_INSERT"],
"EMAIL" => $EMAIL,
"ORDER_DESCRIPTION" => $arStatus_opis,
"SALE_EMAIL" => "admin@koreaopen.ru",
"TEXT" => $text,
);
CEvent::SendImmediate("SALE_STATUS_CHANGED_R", s1, $arEventFields, "R", 28);
}
// Код статуса заказа ЗАКАЗ ПРИНЯТ, при котором отправлять письмо (O)
if ($val == "O")
{
// Получаем параметры заказа
$arOrder = CSaleOrder::GetByID($ID);
//Текс сообщения в письме
$text = "Вы подтвердили свой заказ, товары заказаны у поставщика, после их получения служба доставки направит Вам письмо для подтверждения адреса доставки и ФИО получателя. ";
//Получаем свойства заказа
$db_props = CSaleOrderPropsValue::GetOrderProps($ID);
// Получаем код статуса заказа
$arStatus = CSaleStatus::GetByID($val);
$arStatus_opis = $arStatus["DESCRIPTION"];
$arStatus = $arStatus["NAME"];
$EMAIL = "";
while ($arProps = $db_props->Fetch())
{
if($arProps["CODE"] == "EMAIL")
{
$EMAIL = $arProps["VALUE"];
}
}
$arEventFields = array(
"ORDER_ID" => $ID,
"ORDER_STATUS" => $arStatus,
"ORDER_DATE" => $arOrder["DATE_INSERT"],
"EMAIL" => $EMAIL,
"ORDER_DESCRIPTION" => $arStatus_opis,
"SALE_EMAIL" => "admin@koreaopen.ru",
"TEXT" => $text,
);
CEvent::SendImmediate("SALE_STATUS_CHANGED_O", s1, $arEventFields, "O", 29);
}
// Код статуса заказа Товары по заказу получены от поставщика (Z)
if ($val == "Z")
{
// Получаем параметры заказа
$arOrder = CSaleOrder::GetByID($ID);
//Текс сообщения в письме
$text = "Товары по вашему заказу поступили в службу доставки. Подтвердите адрес доставки и ФИО получателя заказа. ";
//Получаем свойства заказа
$db_props = CSaleOrderPropsValue::GetOrderProps($ID);
// Получаем код статуса заказа
$arStatus = CSaleStatus::GetByID($val);
$arStatus_opis = $arStatus["DESCRIPTION"];
$arStatus = $arStatus["NAME"];
$EMAIL = "";
while ($arProps = $db_props->Fetch())
{
if($arProps["CODE"] == "EMAIL")
{
$EMAIL = $arProps["VALUE"];
}
}
//добавил строку по адресу
$arEventFields = array(
"ORDER_ID" => $ID,
"ORDER_STATUS" => $arStatus,
"ORDER_DATE" => $arOrder["DATE_INSERT"],
"EMAIL" => $EMAIL,
"ORDER_DESCRIPTION" => $arStatus_opis,
"SALE_EMAIL" => "admin@koreaopen.ru",
"TEXT" => $text,
);
CEvent::SendImmediate("SALE_STATUS_CHANGED_Z", s1, $arEventFields, "Z", 34);
}
// Код статуса заказа Заказ выполнен (V)
if ($val == "V")
{
// Получаем параметры заказа
$arOrder = CSaleOrder::GetByID($ID);
//Текс сообщения в письме
$text = "Товары по вашему заказу доставлены, деньги получены. Заказ выполнен.";
//Получаем свойства заказа
$db_props = CSaleOrderPropsValue::GetOrderProps($ID);
// Получаем код статуса заказа
$arStatus = CSaleStatus::GetByID($val);
$arStatus_opis = $arStatus["DESCRIPTION"];
$arStatus = $arStatus["NAME"];
$EMAIL = "";
//пробуем подключить адрес пользователя
while ($arProps = $db_props->Fetch())
{
if($arProps["CODE"] == "EMAIL")
{
$EMAIL = $arProps["VALUE"];
}
}
$arEventFields = array(
"ORDER_ID" => $ID,
"ORDER_STATUS" => $arStatus,
"ORDER_DATE" => $arOrder["DATE_INSERT"],
"EMAIL" => $EMAIL,
"ORDER_DESCRIPTION" => $arStatus_opis,
"SALE_EMAIL" => "admin@koreaopen.ru",
"TEXT" => $text,
);
CEvent::SendImmediate("SALE_STATUS_CHANGED_V", s1, $arEventFields, "V", 44);
}
//Закрытие почтовых сообщений изменения заказа
}
}
|