function OnBasketAddHandler($ID, $arFields) { global $USER; \Bitrix\Main\Loader::includeModule('catalog'); \Bitrix\Main\Loader::includeModule('sale'); if ($USER->IsAuthorized()) { $arFilter = array("USER_ID" => $USER->GetID()); $db_sales = CSaleOrder::GetList(array("DATE_INSERT" => "ASC"), $arFilter); $arrCount = []; while ($ar_sales = $db_sales->Fetch()) { $arrCount[] = $ar_sales; } if (is_array($arrCount) == false) { $res = CCatalogDiscount::SetCoupon('SL-CDUEA-HI8MMPY'); //3% } else { if (count($arrCount) >= 1) { $resClean = CCatalogDiscount::ClearCoupon('SL-CDUEA-HI8MMPY'); $res5 = CCatalogDiscount::SetCoupon('SL-0JG2C-XIHBEYZ'); //5% } else { } } } else { $res = CCatalogDiscountCoupon::SetCoupon('SL-CDUEA-HI8MMPY'); //3% } }
if (!isset($arParams['QUANTITY_FLOAT'])) { $arParams['QUANTITY_FLOAT'] = 'N'; } $arParams["COUNT_DISCOUNT_4_ALL_QUANTITY"] = $arParams["COUNT_DISCOUNT_4_ALL_QUANTITY"] == "Y" ? "Y" : "N"; //$arParams['PRICE_VAT_INCLUDE'] = $arParams['PRICE_VAT_INCLUDE'] == 'N' ? 'N' : 'Y'; $arParams['PRICE_VAT_SHOW_VALUE'] = $arParams['PRICE_VAT_SHOW_VALUE'] == 'N' ? 'N' : 'Y'; $arParams["WEIGHT_UNIT"] = htmlspecialcharsbx(COption::GetOptionString('sale', 'weight_unit', "", SITE_ID)); $arParams["WEIGHT_KOEF"] = htmlspecialcharsbx(COption::GetOptionString('sale', 'weight_koef', 1, SITE_ID)); $arResult["WARNING_MESSAGE"] = array(); $GLOBALS['CATALOG_ONETIME_COUPONS_BASKET'] = null; $GLOBALS['CATALOG_ONETIME_COUPONS_ORDER'] = null; if (strlen($_REQUEST["BasketRefresh"]) > 0 || strlen($_REQUEST["BasketOrder"]) > 0) { if ($arParams["HIDE_COUPON"] != "Y") { $COUPON = Trim($_REQUEST["COUPON"]); if (strlen($COUPON) > 0) { CCatalogDiscount::SetCoupon($COUPON); } else { CCatalogDiscount::ClearCoupon(); } } $dbBasketItems = CSaleBasket::GetList(array("PRICE" => "DESC"), array("FUSER_ID" => CSaleBasket::GetBasketUserID(), "LID" => SITE_ID, "ORDER_ID" => "NULL"), false, false, array("ID", "CALLBACK_FUNC", "MODULE", "PRODUCT_ID", "QUANTITY", "DELAY", "CAN_BUY", "CURRENCY", "SUBSCRIBE")); while ($arBasketItems = $dbBasketItems->Fetch()) { $arBasketItems['QUANTITY'] = $arParams['QUANTITY_FLOAT'] == 'Y' ? DoubleVal($arBasketItems['QUANTITY']) : IntVal($arBasketItems['QUANTITY']); if (!isset($_REQUEST["QUANTITY_" . $arBasketItems["ID"]])) { $quantityTmp = $arBasketItems['QUANTITY']; } else { $quantityTmp = $arParams['QUANTITY_FLOAT'] == 'Y' ? DoubleVal($_REQUEST["QUANTITY_" . $arBasketItems["ID"]]) : IntVal($_REQUEST["QUANTITY_" . $arBasketItems["ID"]]); } $deleteTmp = $_REQUEST["DELETE_" . $arBasketItems["ID"]] == "Y" ? "Y" : "N"; $delayTmp = $_REQUEST["DELAY_" . $arBasketItems["ID"]] == "Y" ? "Y" : "N"; if ($deleteTmp == "Y" && in_array("DELETE", $arParams["COLUMNS_LIST"])) {