- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/tradingplatform/helper.php
- Класс: BitrixSaleTradingPlatformHelper
- Вызов: Helper::notifyNewOrder
public function notifyNewOrder($newOrderId, $siteId, $buyerEmail = "", $buyerFio = "")
{
if ($newOrderId == '')
throw new ArgumentNullException("newOrderId");
if ($siteId == '')
throw new ArgumentNullException("siteId");
global $DB;
$strOrderList = "";
$baseLangCurrency = CSaleLang::GetLangCurrency($siteId);
$orderNew = CSaleOrder::GetByID($newOrderId);
$orderNew["BASKET_ITEMS"] = array();
$dbBasketTmp = CSaleBasket::GetList(
array("SET_PARENT_ID" => "DESC", "TYPE" => "DESC", "NAME" => "ASC"),
array("ORDER_ID" => $newOrderId),
false,
false,
array(
"ID", "PRICE", "QUANTITY", "NAME",
)
);
while ($arBasketTmp = $dbBasketTmp->GetNext())
$orderNew["BASKET_ITEMS"][] = $arBasketTmp;
$orderNew["BASKET_ITEMS"] = getMeasures($orderNew["BASKET_ITEMS"]);
foreach ($orderNew["BASKET_ITEMS"] as $val)
{
if (CSaleBasketHelper::isSetItem($val))
continue;
$measure = (isset($val["MEASURE_TEXT"])) ? $val["MEASURE_TEXT"] : GetMessage("SALE_YMH_SHT");
$strOrderList .= $val["NAME"] . " - " . $val["QUANTITY"] . " " . $measure . " x " . SaleFormatCurrency($val["PRICE"], $baseLangCurrency);
$strOrderList .= "";
}
//send mail
$arFields = array(
"ORDER_ID" => $orderNew["ACCOUNT_NUMBER"],
"ORDER_DATE" => Date($DB->DateFormatToPHP(CLang::GetDateFormat("SHORT", $siteId))),
"ORDER_USER" => $buyerFio,
"PRICE" => SaleFormatCurrency($orderNew["PRICE"], $baseLangCurrency),
"BCC" => COption::GetOptionString("sale", "order_email", "order@" . $_SERVER['SERVER_NAME']),
"EMAIL_TO" => array("PAYER_NAME" => $buyerFio, "USER_EMAIL" => $buyerEmail),
"ORDER_LIST" => $strOrderList,
"SALE_EMAIL" => COption::GetOptionString("sale", "order_email", "order@" . $_SERVER['SERVER_NAME']),
"DELIVERY_PRICE" => $orderNew["DELIVERY_PRICE"],
);
$eventName = "SALE_NEW_ORDER";
$bSend = true;
foreach (GetModuleEvents("sale", "OnOrderNewSendEmail", true) as $arEvent)
if (ExecuteModuleEventEx($arEvent, array($newOrderId, &$eventName, &$arFields)) === false)
$bSend = false;
$emailSendRes = false;
if ($bSend)
{
$event = new CEvent;
$emailSendRes = $event->Send($eventName, $siteId, $arFields, "N");
}
$pushSendResult = CSaleMobileOrderPush::send("ORDER_CREATED", array("ORDER" => $orderNew));
return $emailSendRes && $pushSendResult;
}