コード例 #1
0
ファイル: component.php プロジェクト: ASDAFF/bitrix-5
				{
					$arPriceFilter[$key] = $value;
					unset($arrFilter[$key]);
				}
			}

			if(!empty($arPriceFilter))
			{
				$arSubFilter = $arPriceFilter;
				$arSubFilter["IBLOCK_ID"] = $arOffersIBlock["OFFERS_IBLOCK_ID"];
				$arSubFilter["ACTIVE_DATE"] = "Y";
				$arSubFilter["ACTIVE"] = "Y";
				$arFilter[] = array(
					"LOGIC" => "OR",
					array($arPriceFilter),
					"=ID" => CIBlockElement::SubQuery("PROPERTY_".$arOffersIBlock["OFFERS_PROPERTY_ID"], $arSubFilter),
				);
			}
		}
	}

	//PRICES
	$arPriceTypeID = array();
	if(!$arParams["USE_PRICE_COUNT"])
	{
		foreach($arResult["PRICES"] as &$value)
		{
			$arSelect[] = $value["SELECT"];
			$arFilter["CATALOG_SHOP_QUANTITY_".$value["ID"]] = $arParams["SHOW_PRICE_COUNT"];
		}
		if (isset($value))
コード例 #2
0
ファイル: component.php プロジェクト: rasuldev/torino
         } else {
             $arSubFilter = array_merge($arrFilter["OFFERS"], $arPriceFilter);
         }
         $arSubFilter["IBLOCK_ID"] = $arResult['CATALOG']['IBLOCK_ID'];
         $arSubFilter["ACTIVE_DATE"] = "Y";
         $arSubFilter["ACTIVE"] = "Y";
         if ('Y' == $arParams['HIDE_NOT_AVAILABLE']) {
             $arSubFilter['CATALOG_AVAILABLE'] = 'Y';
         }
         $arFilter["=ID"] = CIBlockElement::SubQuery("PROPERTY_" . $arResult['CATALOG']["SKU_PROPERTY_ID"], $arSubFilter);
     } elseif (!empty($arPriceFilter)) {
         $arSubFilter = $arPriceFilter;
         $arSubFilter["IBLOCK_ID"] = $arResult['CATALOG']['IBLOCK_ID'];
         $arSubFilter["ACTIVE_DATE"] = "Y";
         $arSubFilter["ACTIVE"] = "Y";
         $arFilter[] = array("LOGIC" => "OR", array($arPriceFilter), "=ID" => CIBlockElement::SubQuery("PROPERTY_" . $arResult['CATALOG']["SKU_PROPERTY_ID"], $arSubFilter));
     }
 }
 //PRICES
 $arPriceTypeID = array();
 if (!$arParams["USE_PRICE_COUNT"]) {
     foreach ($arResult["PRICES"] as &$value) {
         if (!$value['CAN_VIEW'] && !$value['CAN_BUY']) {
             continue;
         }
         $arSelect[] = $value["SELECT"];
         $arFilter["CATALOG_SHOP_QUANTITY_" . $value["ID"]] = $arParams["SHOW_PRICE_COUNT"];
     }
     if (isset($value)) {
         unset($value);
     }
コード例 #3
0
ファイル: class.php プロジェクト: mrdeadmouse/u136006
 function makeFilter($FILTER_NAME)
 {
     $bOffersIBlockExist = false;
     if (self::$catalogIncluded === null) {
         self::$catalogIncluded = Loader::includeModule('catalog');
     }
     if (self::$catalogIncluded) {
         $arCatalog = CCatalogSKU::GetInfoByProductIBlock($this->IBLOCK_ID);
         if (!empty($arCatalog)) {
             $bOffersIBlockExist = true;
         }
     }
     $gFilter = $GLOBALS[$FILTER_NAME];
     $arFilter = array("IBLOCK_ID" => $this->IBLOCK_ID, "IBLOCK_LID" => SITE_ID, "IBLOCK_ACTIVE" => "Y", "ACTIVE_DATE" => "Y", "ACTIVE" => "Y", "CHECK_PERMISSIONS" => "Y", "MIN_PERMISSION" => "R", "INCLUDE_SUBSECTIONS" => $this->arParams["INCLUDE_SUBSECTIONS"] != 'N' ? 'Y' : 'N');
     if ($this->SECTION_ID > 0 || $this->arParams["SHOW_ALL_WO_SECTION"] !== "Y") {
         $arFilter["SECTION_ID"] = $this->SECTION_ID;
     }
     if ($this->arParams['HIDE_NOT_AVAILABLE'] == 'Y') {
         $arFilter['CATALOG_AVAILABLE'] = 'Y';
     }
     if (self::$catalogIncluded && $bOffersIBlockExist) {
         $arPriceFilter = array();
         foreach ($gFilter as $key => $value) {
             if (preg_match('/^(>=|<=|><)CATALOG_PRICE_/', $key)) {
                 $arPriceFilter[$key] = $value;
                 unset($gFilter[$key]);
             }
         }
         if (!empty($gFilter["OFFERS"])) {
             if (empty($arPriceFilter)) {
                 $arSubFilter = $gFilter["OFFERS"];
             } else {
                 $arSubFilter = array_merge($gFilter["OFFERS"], $arPriceFilter);
             }
             $arSubFilter["IBLOCK_ID"] = $this->SKU_IBLOCK_ID;
             $arSubFilter["ACTIVE_DATE"] = "Y";
             $arSubFilter["ACTIVE"] = "Y";
             if ('Y' == $this->arParams['HIDE_NOT_AVAILABLE']) {
                 $arSubFilter['CATALOG_AVAILABLE'] = 'Y';
             }
             $arFilter["=ID"] = CIBlockElement::SubQuery("PROPERTY_" . $this->SKU_PROPERTY_ID, $arSubFilter);
         } elseif (!empty($arPriceFilter)) {
             $arSubFilter = $arPriceFilter;
             $arSubFilter["IBLOCK_ID"] = $this->SKU_IBLOCK_ID;
             $arSubFilter["ACTIVE_DATE"] = "Y";
             $arSubFilter["ACTIVE"] = "Y";
             $arFilter[] = array("LOGIC" => "OR", array($arPriceFilter), "=ID" => CIBlockElement::SubQuery("PROPERTY_" . $this->SKU_PROPERTY_ID, $arSubFilter));
         }
         unset($gFilter["OFFERS"]);
     }
     return array_merge($gFilter, $arFilter);
 }
コード例 #4
0
ファイル: iblock_list_admin.php プロジェクト: nycmic/bittest
		else
		{
			$value = ${"find_sub_el_property_".$arProp["ID"]};
			if(is_array($value) || strlen($value))
			{
				if($value === "NOT_REF")
					$value = false;
				$arSubQuery["?PROPERTY_".$arProp["ID"]] = $value;
			}
		}
	}
}

if ($boolSKU && 1 < sizeof($arSubQuery))
{
	$arFilter['ID'] = CIBlockElement::SubQuery('PROPERTY_'.$arCatalog['SKU_PROPERTY_ID'], $arSubQuery);
}

if(IntVal($find_section_section)<0 || strlen($find_section_section)<=0)
	unset($arFilter["SECTION_ID"]);

// Handle edit action (check for permission before save!)
if($lAdmin->EditAction())
{
	if(is_array($_FILES['FIELDS']))
		CAllFile::ConvertFilesToPost($_FILES['FIELDS'], $_POST['FIELDS']);

	foreach($_POST['FIELDS'] as $ID=>$arFields)
	{
		if(!$lAdmin->IsUpdated($ID))
			continue;
コード例 #5
0
ファイル: class.php プロジェクト: ASDAFF/bitrix-5
	function makeFilter($FILTER_NAME)
	{
		$gFilter = $GLOBALS[$FILTER_NAME];

		$arFilter = array(
			"IBLOCK_ID" => $this->IBLOCK_ID,
			"IBLOCK_LID" => SITE_ID,
			"IBLOCK_ACTIVE" => "Y",
			"ACTIVE_DATE" => "Y",
			"ACTIVE" => "Y",
			"CHECK_PERMISSIONS" => "Y",
			"MIN_PERMISSION" => "R",
			"INCLUDE_SUBSECTIONS" => "Y", //($arParams["INCLUDE_SUBSECTIONS"] != 'N' ? 'Y' : 'N'),
			"SECTION_ID" => $this->SECTION_ID,
		);

		if(is_array($gFilter["OFFERS"]))
		{
			if(!empty($gFilter["OFFERS"]))
			{
				$arSubFilter = $gFilter["OFFERS"];
				$arSubFilter["IBLOCK_ID"] = $this->SKU_IBLOCK_ID;
				$arSubFilter["ACTIVE_DATE"] = "Y";
				$arSubFilter["ACTIVE"] = "Y";
				$arFilter["=ID"] = CIBlockElement::SubQuery("PROPERTY_".$this->SKU_PROPERTY_ID, $arSubFilter);
			}

			$arPriceFilter = array();
			foreach($gFilter as $key => $value)
			{
				if(preg_match('/^(>=|<=|><)CATALOG_PRICE_/', $key))
				{
					$arPriceFilter[$key] = $value;
					unset($gFilter[$key]);
				}
			}

			if(!empty($arPriceFilter))
			{
				$arSubFilter = $arPriceFilter;
				$arSubFilter["IBLOCK_ID"] = $this->SKU_IBLOCK_ID;
				$arSubFilter["ACTIVE_DATE"] = "Y";
				$arSubFilter["ACTIVE"] = "Y";
				$arFilter[] = array(
					"LOGIC" => "OR",
					array($arPriceFilter),
					"=ID" => CIBlockElement::SubQuery("PROPERTY_".$this->SKU_PROPERTY_ID, $arSubFilter),
				);
			}

			unset($gFilter["OFFERS"]);
		}

		return array_merge($gFilter, $arFilter);
	}
コード例 #6
0
ファイル: component.php プロジェクト: webgksupport/alpina
        $arCatalog = false;
        if ($catalogIncluded) {
            $arCatalog = CCatalog::GetByID($arParams["IBLOCK_ID"]);
            if (!empty($arCatalog) && is_array($arCatalog)) {
                $bIBlockCatalog = true;
            }
        }
        $arResult['CATALOG'] = $arCatalog;
        $arSelect = array("ID", "NAME");
        $arFilter = array("!ID" => array_keys($arCompare), "IBLOCK_LID" => SITE_ID, "IBLOCK_ACTIVE" => "Y", "ACTIVE_DATE" => "Y", "ACTIVE" => "Y", "CHECK_PERMISSIONS" => "Y");
        if ($bIBlockCatalog && 'Y' == $arParams['HIDE_NOT_AVAILABLE']) {
            $arFilter['CATALOG_AVAILABLE'] = 'Y';
        }
        if ($arResult["OFFERS_IBLOCK_ID"] > 0) {
            $arFilter["IBLOCK_ID"] = array($arParams["IBLOCK_ID"], $arResult["OFFERS_IBLOCK_ID"]);
            $arFilter["!=ID"] = CIBlockElement::SubQuery("PROPERTY_" . $arResult["OFFERS_PROPERTY_ID"], array("IBLOCK_ID" => $arResult["OFFERS_IBLOCK_ID"]));
        } else {
            $arFilter["IBLOCK_ID"] = $arParams["IBLOCK_ID"];
        }
        $arSort = array($arParams["ELEMENT_SORT_FIELD_BOX"] => $arParams["ELEMENT_SORT_ORDER_BOX"], $arParams["ELEMENT_SORT_FIELD_BOX2"] => $arParams["ELEMENT_SORT_ORDER_BOX2"]);
        $rsElements = CIBlockElement::GetList($arSort, $arFilter, false, false, $arSelect);
        while ($arElement = $rsElements->GetNext()) {
            $arResult["ITEMS_TO_ADD"][$arElement["ID"]] = $arElement["NAME"];
        }
    }
    $this->IncludeComponentTemplate();
} else {
    $actionByAjax = isset($_REQUEST['ajax_action']) && $_REQUEST['ajax_action'] == 'Y';
    if ($actionByAjax) {
        $APPLICATION->RestartBuffer();
        ShowNote(GetMessage("CATALOG_COMPARE_LIST_EMPTY"));
コード例 #7
0
ファイル: component.php プロジェクト: nycmic/bittest
			$arSubFilter["ACTIVE"] = "Y";
			if ('Y' == $arParams['HIDE_NOT_AVAILABLE'])
				$arSubFilter['CATALOG_AVAILABLE'] = 'Y';
			$arFilter["=ID"] = CIBlockElement::SubQuery("PROPERTY_".$arResult['CATALOG']["SKU_PROPERTY_ID"], $arSubFilter);
		}
		elseif(!empty($arPriceFilter))
		{
			$arSubFilter = $arPriceFilter;

			$arSubFilter["IBLOCK_ID"] = $arResult['CATALOG']['IBLOCK_ID'];
			$arSubFilter["ACTIVE_DATE"] = "Y";
			$arSubFilter["ACTIVE"] = "Y";
			$arFilter[] = array(
				"LOGIC" => "OR",
				array($arPriceFilter),
				"=ID" => CIBlockElement::SubQuery("PROPERTY_".$arResult['CATALOG']["SKU_PROPERTY_ID"], $arSubFilter),
			);
		}
	}

	//PRICES
	$arPriceTypeID = array();
	if(!$arParams["USE_PRICE_COUNT"])
	{
		foreach($arResult["PRICES"] as &$value)
		{
			if (!$value['CAN_VIEW'] && !$value['CAN_BUY'])
				continue;
			$arSelect[] = $value["SELECT"];
			$arFilter["CATALOG_SHOP_QUANTITY_".$value["ID"]] = $arParams["SHOW_PRICE_COUNT"];
		}
コード例 #8
0
             $arSubFilter["ACTIVE"] = "Y";
             $arFilter["=ID"] = CIBlockElement::SubQuery("PROPERTY_" . $arOffersIBlock["OFFERS_PROPERTY_ID"], $arSubFilter);
         }
         $arPriceFilter = array();
         foreach ($arrFilter as $key => $value) {
             if (preg_match('/^(>=|<=)CATALOG_PRICE_/', $key)) {
                 $arPriceFilter[$key] = $value;
                 unset($arrFilter[$key]);
             }
         }
         if (!empty($arPriceFilter)) {
             $arSubFilter = $arPriceFilter;
             $arSubFilter["IBLOCK_ID"] = $arOffersIBlock["OFFERS_IBLOCK_ID"];
             $arSubFilter["ACTIVE_DATE"] = "Y";
             $arSubFilter["ACTIVE"] = "Y";
             $arFilter[] = array("LOGIC" => "OR", array($arPriceFilter), "=ID" => CIBlockElement::SubQuery("PROPERTY_" . $arOffersIBlock["OFFERS_PROPERTY_ID"], $arSubFilter));
         }
     }
 }
 //PRICES
 $arPriceTypeID = array();
 if (!$arParams["USE_PRICE_COUNT"]) {
     foreach ($arResult["PRICES"] as &$value) {
         $arSelect[] = $value["SELECT"];
         $arFilter["CATALOG_SHOP_QUANTITY_" . $value["ID"]] = $arParams["SHOW_PRICE_COUNT"];
     }
     if (isset($value)) {
         unset($value);
     }
 } else {
     foreach ($arResult["PRICES"] as &$value) {
コード例 #9
0
ファイル: class.php プロジェクト: spas-viktor/books
 function makeFilter($FILTER_NAME)
 {
     $bOffersIBlockExist = false;
     $arCatalog = false;
     $bCatalog = \Bitrix\Main\Loader::includeModule('catalog');
     if ($bCatalog) {
         $arCatalog = CCatalogSKU::GetInfoByIBlock($this->IBLOCK_ID);
         if (!empty($arCatalog) && is_array($arCatalog)) {
             $bOffersIBlockExist = $arCatalog['CATALOG_TYPE'] == CCatalogSKU::TYPE_PRODUCT || $arCatalog['CATALOG_TYPE'] == CCatalogSKU::TYPE_FULL;
         }
     }
     $gFilter = $GLOBALS[$FILTER_NAME];
     $arFilter = array("IBLOCK_ID" => $this->IBLOCK_ID, "IBLOCK_LID" => SITE_ID, "IBLOCK_ACTIVE" => "Y", "ACTIVE_DATE" => "Y", "ACTIVE" => "Y", "CHECK_PERMISSIONS" => "Y", "MIN_PERMISSION" => "R", "INCLUDE_SUBSECTIONS" => "Y", "SECTION_ID" => $this->SECTION_ID);
     if ('Y' == $this->arParams['HIDE_NOT_AVAILABLE']) {
         $arFilter['CATALOG_AVAILABLE'] = 'Y';
     }
     if ($bCatalog && $bOffersIBlockExist) {
         $arPriceFilter = array();
         foreach ($gFilter as $key => $value) {
             if (preg_match('/^(>=|<=|><)CATALOG_PRICE_/', $key)) {
                 $arPriceFilter[$key] = $value;
                 unset($gFilter[$key]);
             }
         }
         if (!empty($gFilter["OFFERS"]) && !empty($arPriceFilter)) {
             $arSubFilter = array_merge($gFilter["OFFERS"], $arPriceFilter);
             $arSubFilter["IBLOCK_ID"] = $this->SKU_IBLOCK_ID;
             $arSubFilter["ACTIVE_DATE"] = "Y";
             $arSubFilter["ACTIVE"] = "Y";
             if ('Y' == $this->arParams['HIDE_NOT_AVAILABLE']) {
                 $arSubFilter['CATALOG_AVAILABLE'] = 'Y';
             }
             $arFilter[] = array("LOGIC" => "OR", array($arPriceFilter), "=ID" => CIBlockElement::SubQuery("PROPERTY_" . $this->SKU_PROPERTY_ID, $arSubFilter));
         } elseif (!empty($gFilter["OFFERS"])) {
             $arSubFilter = $gFilter["OFFERS"];
             $arSubFilter["IBLOCK_ID"] = $this->SKU_IBLOCK_ID;
             $arSubFilter["ACTIVE_DATE"] = "Y";
             $arSubFilter["ACTIVE"] = "Y";
             if ('Y' == $this->arParams['HIDE_NOT_AVAILABLE']) {
                 $arSubFilter['CATALOG_AVAILABLE'] = 'Y';
             }
             $arFilter["=ID"] = CIBlockElement::SubQuery("PROPERTY_" . $this->SKU_PROPERTY_ID, $arSubFilter);
         } elseif (!empty($arPriceFilter)) {
             $arSubFilter = $arPriceFilter;
             $arSubFilter["IBLOCK_ID"] = $this->SKU_IBLOCK_ID;
             $arSubFilter["ACTIVE_DATE"] = "Y";
             $arSubFilter["ACTIVE"] = "Y";
             $arFilter[] = array("LOGIC" => "OR", array($arPriceFilter), "=ID" => CIBlockElement::SubQuery("PROPERTY_" . $this->SKU_PROPERTY_ID, $arSubFilter));
         }
         unset($gFilter["OFFERS"]);
     }
     return array_merge($gFilter, $arFilter);
 }