예제 #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
$APPLICATION->SetPageProperty("keywords", "«Arteva Home» SALE");
$APPLICATION->SetPageProperty("description", "SALE. «Arteva Home»");
$APPLICATION->SetTitle("SALE");?>
<?
CModule::IncludeModule("catalog");


// $pos = strripos($_SERVER['HTTP_REFERER'], "bigbuzzy.ru");
// if ($pos === false) {
// } else {


if( empty($_COOKIE["bigbuzzy"]) || !isset($_COOKIE["bigbuzzy"]))
{
	setCookie('bigbuzzy', "Y", time() + 60 * 24 * 3600, '/', 'www.arteva.ru');
	CCatalogDiscountCoupon::SetCoupon("bigbuzzy");
	
	?> <script> document.location="http://www.arteva.ru/catalog/salebb/"; </script> <?
	
	// LocalRedirect("http://www.arteva.ru/catalog/salebb/");
}





$GLOBALS["arrFilterSectionSale"] = array(
	// ">=catalog_PRICE_1" => $_REQUEST["priceMin"],
	// "<=catalog_PRICE_1" => $_REQUEST["priceMax"],
	">=catalog_QUANTITY" => 1,
	// "!PROPERTY_SALE" => 1
예제 #3
0
 public function SetCoupon($coupon)
 {
     return CCatalogDiscountCoupon::SetCoupon($coupon);
 }
예제 #4
0
                 if ($arBasket["DELAY"] == "N" && $arBasket["CAN_BUY"] == "Y") {
                     CSaleBasket::Update($arBasket["ID"], array("DELAY" => "Y"));
                 }
             } elseif ($_REQUEST["action"] == "add" && in_array("DELAY", $arParams["COLUMNS_LIST"])) {
                 if ($arBasket["DELAY"] == "Y" && $arBasket["CAN_BUY"] == "Y") {
                     CSaleBasket::Update($arBasket["ID"], array("DELAY" => "N"));
                 }
             }
             unset($_SESSION["SALE_BASKET_NUM_PRODUCTS"][SITE_ID]);
         }
     }
 } else {
     if ($arParams["HIDE_COUPON"] != "Y") {
         $COUPON = Trim($_REQUEST["COUPON"]);
         if (strlen($COUPON) > 0) {
             CCatalogDiscountCoupon::SetCoupon($COUPON);
         } else {
             CCatalogDiscountCoupon::ClearCoupon();
         }
     }
     $dbBasketItems = CSaleBasket::GetList(array("NAME" => "ASC"), array("FUSER_ID" => CSaleBasket::GetBasketUserID(), "LID" => SITE_ID, "ORDER_ID" => "NULL"), false, false, array("ID", "CALLBACK_FUNC", "MODULE", "PRODUCT_ID", "QUANTITY", "DELAY", "CAN_BUY", "PRICE", "QUANTITY", "CURRENCY", "SUBSCRIBE", "PRODUCT_PROVIDER_CLASS"));
     while ($arBasketItems = $dbBasketItems->Fetch()) {
         $arBasketItems['QUANTITY'] = $arParams['QUANTITY_FLOAT'] == 'Y' ? DoubleVal($arBasketItems['QUANTITY']) : IntVal($arBasketItems['QUANTITY']);
         $quantityTmp = $arParams['QUANTITY_FLOAT'] == 'Y' ? DoubleVal($_REQUEST["QUANTITY_" . $arBasketItems["ID"]]) : IntVal($_REQUEST["QUANTITY_" . $arBasketItems["ID"]]);
         if ($arBasketItems["DELAY"] == "N" && $arBasketItems["CAN_BUY"] == "Y") {
             $arFields = array();
             if (in_array("QUANTITY", $arParams["COLUMNS_LIST"])) {
                 $arFields["QUANTITY"] = $quantityTmp;
             }
             if (count($arFields) > 0 && ($arBasketItems["QUANTITY"] != $arFields["QUANTITY"] && in_array("QUANTITY", $arParams["COLUMNS_LIST"]))) {
                 CSaleBasket::Update($arBasketItems["ID"], $arFields);
예제 #5
0
파일: class.php 프로젝트: ASDAFF/entask.ru
	public function recalculateBasket($arPost)
	{
		global $USER;
		$arRes = array();

		if ($this->hideCoupon != "Y")
		{
			if (isset($arPost["coupon"]) && !empty($arPost["coupon"]))
			{
				$arRes["VALID_COUPON"] = CCatalogDiscountCoupon::SetCoupon($arPost["coupon"]);
			}

			if (!isset($arRes["VALID_COUPON"]) || (isset($arRes["VALID_COUPON"]) && $arRes["VALID_COUPON"] === false))
			{
				CCatalogDiscountCoupon::ClearCoupon();
			}
		}

		$arTmpItems = array();
		$dbItems = CSaleBasket::GetList(
			array("PRICE" => "DESC"),
			array(
				"FUSER_ID" => CSaleBasket::GetBasketUserID(),
				"LID" => SITE_ID,
				"ORDER_ID" => "NULL"
			),
			false,
			false,
			array(
				"ID", "NAME", "PRODUCT_PROVIDER_CLASS", "CALLBACK_FUNC", "MODULE", "PRODUCT_ID",
				"QUANTITY", "DELAY", "CAN_BUY", "CURRENCY", "SUBSCRIBE", "TYPE", "SET_PARENT_ID", "NOTES"
			)
		);
		while ($arItem = $dbItems->Fetch())
		{
			if (CSaleBasketHelper::isSetItem($arItem))
				continue;

			$arTmpItems[] = $arItem;
		}

		if (!empty($arTmpItems) && CModule::IncludeModule("catalog"))
			$arTmpItems = getRatio($arTmpItems);

		foreach ($arTmpItems as $arItem)
		{
			$isFloatQuantity = ((isset($arItem["MEASURE_RATIO"]) && floatval($arItem["MEASURE_RATIO"]) > 0 && $arItem["MEASURE_RATIO"] != 1)
				|| $this->quantityFloat == "Y") ? true : false;

			if (!isset($arPost["QUANTITY_".$arItem["ID"]]) || floatval($arPost["QUANTITY_".$arItem["ID"]]) <= 0)
			{
				$quantityTmp = ($isFloatQuantity === true) ? floatval($arItem["QUANTITY"]) : intval($arItem["QUANTITY"]);
			}
			else
			{
				$quantityTmp = ($isFloatQuantity === true) ? floatval($arPost["QUANTITY_".$arItem["ID"]]) : intval($arPost["QUANTITY_".$arItem["ID"]]);
			}

			$deleteTmp = ($arPost["DELETE_".$arItem["ID"]] == "Y") ? "Y" : "N";
			$delayTmp = ($arPost["DELAY_".$arItem["ID"]] == "Y") ? "Y" : "N";

			if ($arItem["CAN_BUY"] == "Y")
			{
				$res = $this->checkQuantity($arItem, $quantityTmp);

				if (!empty($res))
					$arRes["WARNING_MESSAGE"][] = $res["ERROR"];
			}

			if ($deleteTmp == "Y" && in_array("DELETE", $this->columns))
			{
				if ($arItem["SUBSCRIBE"] == "Y" && is_array($_SESSION["NOTIFY_PRODUCT"][$USER->GetID()]))
					unset($_SESSION["NOTIFY_PRODUCT"][$USER->GetID()][$arItem["PRODUCT_ID"]]);

				CSaleBasket::Delete($arItem["ID"]);
			}
			elseif ($arItem["DELAY"] == "N" && $arItem["CAN_BUY"] == "Y")
			{
				unset($arFields);
				$arFields = array();

				if (in_array("QUANTITY", $this->columns))
					$arFields["QUANTITY"] = $quantityTmp;
				if (in_array("DELAY", $this->columns))
					$arFields["DELAY"] = $delayTmp;

				if (count($arFields) > 0
					&&
						($arItem["QUANTITY"] != $arFields["QUANTITY"] && in_array("QUANTITY", $this->columns)
							|| $arItem["DELAY"] != $arFields["DELAY"] && in_array("DELAY", $this->columns))
					)
					CSaleBasket::Update($arItem["ID"], $arFields);
			}
			elseif ($arItem["DELAY"] == "Y" && $arItem["CAN_BUY"] == "Y")
			{
				unset($arFields);
				$arFields = array();

				if (in_array("DELAY", $this->columns))
					$arFields["DELAY"] = $delayTmp;

				if (count($arFields) > 0
					&&
						($arItem["DELAY"] != $arFields["DELAY"] && in_array("DELAY", $this->columns))
					)
					CSaleBasket::Update($arItem["ID"], $arFields);
			}
		}

		return $arRes;
	}