Пример #1
0
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%
    }
}
Пример #2
0
}
$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"])) {
            if ($arBasketItems["SUBSCRIBE"] == "Y" && is_array($_SESSION["NOTIFY_PRODUCT"][$USER->GetID()])) {
                unset($_SESSION["NOTIFY_PRODUCT"][$USER->GetID()][$arBasketItems["PRODUCT_ID"]]);