Exemplo n.º 1
0
 public function getPriceItems()
 {
     $items = array();
     if (CModule::IncludeModule("catalog")) {
         $rsPrice = CCatalogGroup::GetList($v1, $v2);
         while ($arPrice = $rsPrice->Fetch()) {
             if (($arPrice["CAN_ACCESS"] == "Y" || $arPrice["CAN_BUY"] == "Y") && in_array($arPrice["NAME"], $this->arParams["PRICE_CODE"])) {
                 $items[$arPrice["NAME"]] = array("ID" => $arPrice["ID"], "CODE" => $arPrice["NAME"], "NAME" => $arPrice["NAME_LANG"], "PRICE" => true, "VALUES" => array("MIN" => array("CONTROL_ID" => htmlspecialcharsbx($this->FILTER_NAME . "_P" . $arPrice["ID"] . "_MIN"), "CONTROL_NAME" => htmlspecialcharsbx($this->FILTER_NAME . "_P" . $arPrice["ID"] . "_MIN")), "MAX" => array("CONTROL_ID" => htmlspecialcharsbx($this->FILTER_NAME . "_P" . $arPrice["ID"] . "_MAX"), "CONTROL_NAME" => htmlspecialcharsbx($this->FILTER_NAME . "_P" . $arPrice["ID"] . "_MAX"))));
             }
         }
     }
     return $items;
 }
 /**
  * Метод вернет список типов цен
  *
  * @return array
  */
 function getPriceTypeList()
 {
     $result = array();
     $selectedType = getSelectedType();
     $dbCatalogGroup = CCatalogGroup::GetList(array('SORT' => 'ASC'), array('BASE' => 'N'), false, false, array('ID', ' NAME', 'NAME_LANG'));
     while ($type = $dbCatalogGroup->GetNext()) {
         if ($type['ID'] == $selectedType) {
             $type['SELECTED'] = true;
         }
         $result[] = $type;
     }
     return $result;
 }
Exemplo n.º 3
0
 public function getPriceItems()
 {
     $items = array();
     if (!empty($this->arParams["PRICE_CODE"])) {
         if (CModule::IncludeModule("catalog")) {
             $rsPrice = CCatalogGroup::GetList(array('SORT' => 'ASC', 'ID' => 'ASC'), array('=NAME' => $this->arParams["PRICE_CODE"]), false, false, array('ID', 'NAME', 'NAME_LANG', 'CAN_ACCESS', 'CAN_BUY'));
             while ($arPrice = $rsPrice->Fetch()) {
                 if ($arPrice["CAN_ACCESS"] == "Y" || $arPrice["CAN_BUY"] == "Y") {
                     $items[$arPrice["NAME"]] = array("ID" => $arPrice["ID"], "CODE" => $arPrice["NAME"], "NAME" => strlen($arPrice["NAME_LANG"]) ? $arPrice["NAME_LANG"] : $arPrice["NAME"], "PRICE" => true, "VALUES" => array("MIN" => array("CONTROL_ID" => htmlspecialcharsbx($this->FILTER_NAME . "_P" . $arPrice["ID"] . "_MIN"), "CONTROL_NAME" => htmlspecialcharsbx($this->FILTER_NAME . "_P" . $arPrice["ID"] . "_MIN")), "MAX" => array("CONTROL_ID" => htmlspecialcharsbx($this->FILTER_NAME . "_P" . $arPrice["ID"] . "_MAX"), "CONTROL_NAME" => htmlspecialcharsbx($this->FILTER_NAME . "_P" . $arPrice["ID"] . "_MAX"))));
                 }
             }
         }
     }
     return $items;
 }
/**
 * @param $intRangeID
 * @param $strPrefix
 * @return string
 */
function __AddCellPriceType($intRangeID, $strPrefix)
{
    $dbCatalogGroups = CCatalogGroup::GetList(array("SORT" => "ASC", "NAME" => "ASC", "ID" => "ASC"));
    $priceTypeCellOption = '';
    while ($arCatalogGroup = $dbCatalogGroups->Fetch()) {
        $priceTypeCellOption .= "<option value=" . $arCatalogGroup['ID'] . ">" . htmlspecialcharsbx($arCatalogGroup["NAME"]) . "</option>";
    }
    return <<<PRICETYPECELL
\t<td width="30%">
\t\t<span class="adm-select-wrap">
\t\t\t<select id="IB_SEG_PRICE_TYPE" class="adm-select" style="width: 169px; max-width: 300px;" name="{$strPrefix}PRICETYPE[{$intRangeID}]" />
\t\t\t\t{$priceTypeCellOption}
\t\t\t</select>
\t\t</span>
\t</td>
PRICETYPECELL;
}
Exemplo n.º 5
0
function __cat_setPriceTypes($arPriceTypes)
{
    $arCurrentPriceTypes = array();
    $dbRes = CCatalogGroup::GetList();
    while ($arRes = $dbRes->Fetch()) {
        $arCurrentPriceTypes[$arRes['NAME']] = $arRes;
    }
    $arLang = __cat_LoadMess(dirname(__FILE__) . '/types.php');
    foreach ($arPriceTypes as $type_id => $arFields) {
        if (isset($arCurrentPriceTypes[$type_id])) {
            continue;
        }
        foreach ($arLang as $LANG => $arMess) {
            $arFields['USER_LANG'][$LANG] = $arMess['CAT_PRICE_TYPE_' . $type_id];
        }
        // errors're goin by forest
        CCatalogGroup::Add($arFields);
    }
}
Exemplo n.º 6
0
    unset($arFProps);
}
$arWFStatus = array();
if ($boolSubWorkFlow) {
    $rsWF = CWorkflowStatus::GetDropDownList('Y');
    while ($arWF = $rsWF->GetNext()) {
        $arWFStatus[$arWF["~REFERENCE_ID"]] = $arWF["~REFERENCE"];
    }
}
if ($boolSubCatalog) {
    $arHeader[] = array("id" => "CATALOG_QUANTITY", "content" => GetMessage("IBEL_CATALOG_QUANTITY"), "align" => "right", "sort" => "CATALOG_QUANTITY");
    $arHeader[] = array("id" => "CATALOG_QUANTITY_TRACE", "content" => GetMessage("IBEL_CATALOG_QUANTITY_TRACE"), "align" => "right");
    $arHeader[] = array("id" => "CATALOG_WEIGHT", "content" => GetMessage("IBEL_CATALOG_WEIGHT"), "align" => "right", "sort" => "CATALOG_WEIGHT");
    $arCatGroup = array();
    $arBaseGroup = CCatalogGroup::GetBaseGroup();
    $dbCatalogGroups = CCatalogGroup::GetList(array("SORT" => "ASC"), array("LID" => LANGUAGE_ID));
    while ($arCatalogGroup = $dbCatalogGroups->Fetch()) {
        $arHeader[] = array("id" => "CATALOG_GROUP_" . $arCatalogGroup["ID"], "content" => htmlspecialcharsex(!empty($arCatalogGroup["NAME_LANG"]) ? $arCatalogGroup["NAME_LANG"] : $arCatalogGroup["NAME"]), "align" => "right", "sort" => "CATALOG_PRICE_" . $arCatalogGroup["ID"], "default" => $arBaseGroup['ID'] == $arCatalogGroup["ID"] ? true : false);
        $arCatGroup[$arCatalogGroup["ID"]] = $arCatalogGroup;
    }
    $arCatExtra = array();
    $db_extras = CExtra::GetList($by3 = "NAME", $order3 = "ASC");
    while ($extras = $db_extras->Fetch()) {
        $arCatExtra[] = $extras;
    }
}
if ($boolSubBizproc) {
    $arWorkflowTemplates = CBPDocument::GetWorkflowTemplatesForDocumentType(array("iblock", "CIBlockDocument", "iblock_" . $intSubIBlockID));
    foreach ($arWorkflowTemplates as $arTemplate) {
        $arHeader[] = array("id" => "WF_" . $arTemplate["ID"], "content" => $arTemplate["NAME"]);
    }
Exemplo n.º 7
0
				elseif($arCur["CURRENCY"] == "EUR")
					CCurrencyLang::Update($arCur["CURRENCY"], $lang, Array("DECIMALS" => 2, "FORMAT_STRING" => "&euro;#"));
			}
		}
		WizardServices::IncludeServiceLang("step1.php", $lang);
		CModule::IncludeModule("catalog");

		$dbVat = CCatalogVat::GetList(array(), Array("SITE_ID" => WIZARD_SITE_ID));
		if(!($dbVat->Fetch()))
		{
			$arF = Array ("ACTIVE" => "Y", "SORT" => "100", "NAME" => GetMessage("WIZ_VAT_1"), "RATE" => 0);
			CCatalogVat::Set($arF);
			$arF = Array ("ACTIVE" => "Y", "SORT" => "200", "NAME" => GetMessage("WIZ_VAT_2"), "RATE" => GetMessage("WIZ_VAT_2_VALUE"));
			CCatalogVat::Set($arF);
		}
		$dbResultList = CCatalogGroup::GetList(Array(), Array("CODE" => "BASE"));
		if($arRes = $dbResultList->Fetch())
		{
			$arFields = Array();
			foreach($arLanguages as $langID)
			{
				WizardServices::IncludeServiceLang("step1.php", $langID);
				$arFields["USER_LANG"][$langID] = GetMessage("WIZ_PRICE_NAME");
			}
			$arFields["BASE"] = "Y";
			if($wizard->GetVar("installPriceBASE") == "Y"){
				$db_res = CCatalogGroup::GetGroupsList(array("CATALOG_GROUP_ID"=>'1', "BUY"=>"Y"));
				if ($ar_res = $db_res->Fetch())
				{
					$wizGroupId[] = $ar_res['GROUP_ID'];
				}
Exemplo n.º 8
0
 /**
  * Get common data from cache.
  * @return mixed[]
  */
 protected function getReferences()
 {
     global $USER;
     $this->arParams['CACHE_GROUPS'] = isset($this->arParams['CACHE_GROUPS']) && $this->arParams['CACHE_GROUPS'] == 'N' ? 'N' : 'Y';
     $obCache = new CPHPCache();
     if ($this->arParams['CACHE_GROUPS'] == 'Y') {
         $cacheId = implode("-", array(__CLASS__, LANGUAGE_ID, SITE_ID, $USER->GetGroups()));
     } else {
         $cacheId = implode("-", array(__CLASS__, LANGUAGE_ID, SITE_ID));
     }
     $cached = array();
     if ($obCache->StartDataCache($this->arParams["CACHE_TIME"], $cacheId, SITE_ID . '/' . $this->getRelativePath() . '/reference')) {
         // Catalog Groups
         $cached['CATALOG_GROUP'] = array();
         $catalogGroupIterator = CCatalogGroup::GetList(array("SORT" => "ASC"));
         while ($catalogGroup = $catalogGroupIterator->fetch()) {
             $cached['CATALOG_GROUP'][$catalogGroup['NAME']] = $catalogGroup;
         }
         // Catalog Prices
         $cached['CATALOG_PRICE'] = CIBlockPriceTools::GetCatalogPrices(false, array_keys($cached['CATALOG_GROUP']));
         // Catalog Currency
         $cached['CURRENCY'] = array();
         if ($this->isCurrency) {
             $by = "currency";
             $order = "asc";
             $currencyIterator = CCurrency::getList($by, $order);
             while ($currency = $currencyIterator->fetch()) {
                 $cached['CURRENCY'][$currency['CURRENCY']] = $currency;
             }
         }
         // Catalogs list
         $cached['CATALOG'] = array();
         $catalogIterator = CCatalog::getList(array("IBLOCK_ID" => "ASC"));
         while ($catalog = $catalogIterator->fetch()) {
             $info = CCatalogSku::getInfoByIblock($catalog['IBLOCK_ID']);
             $catalog['CATALOG_TYPE'] = $info['CATALOG_TYPE'];
             $cached['CATALOG'][$catalog['IBLOCK_ID']] = $catalog;
         }
         // Measure list
         $cached['MEASURE'] = array();
         $measureIterator = CCatalogMeasure::getList(array("CODE" => "ASC"));
         while ($measure = $measureIterator->fetch()) {
             $cached['MEASURE'][$measure['ID']] = $measure;
         }
         // Default Measure
         $cached['DEFAULT_MEASURE'] = CCatalogMeasure::getDefaultMeasure(true, true);
         $obCache->EndDataCache($cached);
     } else {
         $cached = $obCache->GetVars();
     }
     return $cached;
 }
Exemplo n.º 9
0
	'sku' => getMessage('FILTER_PRICE_GROUPED_FOR_SKU'),
);

$defaultListValues = array('-' => getMessage('RS_SLINE.UNDEFINED'));

$IBLOCK_ID = intval($arCurrentValues['IBLOCK_ID']);
$arProperty = array();
if(0 < intval($IBLOCK_ID)){
	$rsProp = CIBlockProperty::GetList(Array('sort' => 'asc', 'name' => 'asc'), Array('IBLOCK_ID' => $IBLOCK_ID, 'ACTIVE' => 'Y'));
	while($arr = $rsProp->Fetch()){
		$arProperty[$arr['CODE']] = '['.$arr['CODE'].'] '.$arr['NAME'];
	}
}

$arPrice = array();
$rsPrice = CCatalogGroup::GetList($v1='sort', $v2='asc');
while($arr = $rsPrice->Fetch()){
	$arPrice[$arr['NAME']] = '['.$arr['NAME'].'] '.$arr['NAME_LANG'];
}

$arTemplateParameters = array(
	//PAGER_SETTINGS
	'AJAXPAGESID' => array(
		'PARENT' => 'PAGER_SETTINGS',
		'NAME' => getMessage('MSG_AJAXPAGESID'),
		'TYPE' => 'STRING',
		'DEFAULT' => 'ajaxpages_catalog_identifier',
	),
	'USE_AJAXPAGES' => array(
		'PARENT' => 'PAGER_SETTINGS',
		'NAME' => getMessage('RS_SLINE.USE_AJAXPAGES'),
Exemplo n.º 10
0
 function ExportPrices()
 {
     if ($this->next_step["catalog"]) {
         $rsPrice = CCatalogGroup::GetList(array(), array());
         if ($arPrice = $rsPrice->Fetch()) {
             fwrite($this->fp, "\t\t<" . GetMessage("IBLOCK_XML2_PRICE_TYPES") . ">\n");
             do {
                 fwrite($this->fp, $this->formatXMLNode(3, GetMessage("IBLOCK_XML2_PRICE_TYPE"), array(GetMessage("IBLOCK_XML2_ID") => $arPrice["NAME"], GetMessage("IBLOCK_XML2_NAME") => $arPrice["NAME"])));
             } while ($arPrice = $rsPrice->Fetch());
             fwrite($this->fp, "\t\t</" . GetMessage("IBLOCK_XML2_PRICE_TYPES") . ">\n");
         }
     }
 }
Exemplo n.º 11
0
    echo $ind;
    ?>
">
		<input type="button" value="<?php 
    echo GetMessage("C2IT_MORE");
    ?>
" OnClick="ClonePriceSections()">
	</td>
</tr>
<script type="text/javascript">
	arCatalogGroups = [];
	catalogGroupsInd = 0;
</script>
	<?php 
    if (CBXFeatures::IsFeatureEnabled('CatMultiPrice')) {
        $dbCatalogGroups = CCatalogGroup::GetList(array("SORT" => "ASC", "NAME" => "ASC", "ID" => "ASC"), array("!BASE" => "Y"));
        while ($arCatalogGroup = $dbCatalogGroups->Fetch()) {
            ?>
	<script type="text/javascript">
		arCatalogGroups[catalogGroupsInd] = <?php 
            echo $arCatalogGroup["ID"];
            ?>
;
		catalogGroupsInd++;
	</script>
	<tr>
		<td valign="top" align="right">
			<?php 
            echo GetMessage("C2IT_PRICE_TYPE");
            ?>
 "<?php 
Exemplo n.º 12
0
function CatalogGetPriceTable($ID)
{
    global $USER;
    $ID = (int) $ID;
    if ($ID <= 0) {
        return false;
    }
    $arResult = array();
    $arPriceGroups = array();
    $cacheKey = LANGUAGE_ID . "_" . $USER->GetGroups();
    if (isset($GLOBALS["CATALOG_PRICE_GROUPS_CACHE"]) && is_array($GLOBALS["CATALOG_PRICE_GROUPS_CACHE"]) && isset($GLOBALS["CATALOG_PRICE_GROUPS_CACHE"][$cacheKey]) && is_array($GLOBALS["CATALOG_PRICE_GROUPS_CACHE"][$cacheKey])) {
        $arPriceGroups = $GLOBALS["CATALOG_PRICE_GROUPS_CACHE"][$cacheKey];
    } else {
        $dbPriceGroupsList = CCatalogGroup::GetList(array("SORT" => "ASC"), array("CAN_ACCESS" => "Y", "LID" => LANGUAGE_ID), array("ID", "NAME_LANG", "SORT"), false, array("ID", "NAME_LANG", "CAN_BUY", "SORT"));
        while ($arPriceGroupsList = $dbPriceGroupsList->Fetch()) {
            $arPriceGroups[] = $arPriceGroupsList;
            $GLOBALS["CATALOG_PRICE_GROUPS_CACHE"][$cacheKey][] = $arPriceGroupsList;
        }
    }
    if (empty($arPriceGroups)) {
        return false;
    }
    $arBorderMap = array();
    $arPresentGroups = array();
    $bMultiQuantity = False;
    $dbPrice = CPrice::GetList(array("QUANTITY_FROM" => "ASC", "QUANTITY_TO" => "ASC", "SORT" => "ASC"), array("PRODUCT_ID" => $ID), false, false, array("ID", "CATALOG_GROUP_ID", "PRICE", "CURRENCY", "QUANTITY_FROM", "QUANTITY_TO", "ELEMENT_IBLOCK_ID", "SORT"));
    while ($arPrice = $dbPrice->Fetch()) {
        CCatalogDiscountSave::Disable();
        $arDiscounts = CCatalogDiscount::GetDiscount($ID, $arPrice["ELEMENT_IBLOCK_ID"], $arPrice["CATALOG_GROUP_ID"], $USER->GetUserGroupArray(), "N", SITE_ID, array());
        CCatalogDiscountSave::Enable();
        $discountPrice = CCatalogProduct::CountPriceWithDiscount($arPrice["PRICE"], $arPrice["CURRENCY"], $arDiscounts);
        $arPrice["DISCOUNT_PRICE"] = $discountPrice;
        if (array_key_exists($arPrice["QUANTITY_FROM"] . "-" . $arPrice["QUANTITY_TO"], $arBorderMap)) {
            $jnd = $arBorderMap[$arPrice["QUANTITY_FROM"] . "-" . $arPrice["QUANTITY_TO"]];
        } else {
            $jnd = count($arBorderMap);
            $arBorderMap[$arPrice["QUANTITY_FROM"] . "-" . $arPrice["QUANTITY_TO"]] = $jnd;
        }
        $arResult[$jnd]["QUANTITY_FROM"] = DoubleVal($arPrice["QUANTITY_FROM"]);
        $arResult[$jnd]["QUANTITY_TO"] = DoubleVal($arPrice["QUANTITY_TO"]);
        if (DoubleVal($arPrice["QUANTITY_FROM"]) > 0 || DoubleVal($arPrice["QUANTITY_TO"]) > 0) {
            $bMultiQuantity = True;
        }
        $arResult[$jnd]["PRICE"][$arPrice["CATALOG_GROUP_ID"]] = $arPrice;
    }
    $numGroups = count($arPriceGroups);
    for ($i = 0; $i < $numGroups; $i++) {
        $bNeedKill = True;
        for ($j = 0, $intCount = count($arResult); $j < $intCount; $j++) {
            if (!array_key_exists($arPriceGroups[$i]["ID"], $arResult[$j]["PRICE"])) {
                $arResult[$j]["PRICE"][$arPriceGroups[$i]["ID"]] = False;
            }
            if ($arResult[$j]["PRICE"][$arPriceGroups[$i]["ID"]] != false) {
                $bNeedKill = False;
            }
        }
        if ($bNeedKill) {
            for ($j = 0, $intCount = count($arResult); $j < $intCount; $j++) {
                unset($arResult[$j]["PRICE"][$arPriceGroups[$i]["ID"]]);
            }
            unset($arPriceGroups[$i]);
        }
    }
    return array("COLS" => $arPriceGroups, "MATRIX" => $arResult, "MULTI_QUANTITY" => $bMultiQuantity ? "Y" : "N");
}
Exemplo n.º 13
0
 if (!is_set($arCacheOfferProperties[$arOffersIblock["OFFERS_IBLOCK_ID"]])) {
     $dbOfferProperties = CIBlock::GetProperties($arOffersIblock["OFFERS_IBLOCK_ID"], array(), array("!XML_ID" => "CML2_LINK"));
     while ($arOfferProperties = $dbOfferProperties->Fetch()) {
         $arCacheOfferProperties[$arOffersIblock["OFFERS_IBLOCK_ID"]][] = $arOfferProperties["CODE"];
     }
 }
 $arIblockOfferPropsFilter = $arCacheOfferProperties[$arOffersIblock["OFFERS_IBLOCK_ID"]];
 $arIblockOfferProps = array();
 $arIblockOfferPropsFilter = array();
 foreach ($arIblockOfferPropsFilter as $val) {
     $arIblockOfferProps[] = array("CODE" => $val["CODE"], "NAME" => $val["NAME"]);
     $arIblockOfferPropsFilter[] = $val["CODE"];
 }
 static $arCacheResultPrices = array();
 if (!is_set($arCacheResultPrices[$arElements["IBLOCK_ID"]])) {
     $dbPriceType = CCatalogGroup::GetList(array(), array('NAME_LANG' => $arItems['NOTES'], 'CAN_BUY' => 'Y'), false, false, array('NAME', 'ID'));
     $arPriceType = $dbPriceType->Fetch();
     $arResultPrices = CIBlockPriceTools::GetCatalogPrices($arElements["IBLOCK_ID"], array($arPriceType["NAME"]));
     $arCacheResultPrices[$arElements["IBLOCK_ID"]] = $arResultPrices;
 } else {
     $arResultPrices = $arCacheResultPrices[$arElements["IBLOCK_ID"]];
 }
 $arOffers = CIBlockPriceTools::GetOffersArray($arElements["IBLOCK_ID"], $arItems["PRODUCT_ID"], array("ID" => "DESC"), array("NAME"), $arIblockOfferPropsFilter, 0, $arResultPrices, 1, array(), $USER->GetID(), $arItems['LID']);
 if (count($arOffers) > 0) {
     foreach ($arOffers as $arOffer) {
         /*$arPrice = CCatalogProduct::GetOptimalPrice($arOffer['ID'], 1, $arGroups, "N", array(), $arItems['LID']);
         					$arOffer["PRICES"] = $arPrice;
         
         					if ($arCatalogProduct = CCatalogProduct::GetByID($arOffer['ID']))
         					{
         						if ($arCatalogProduct["CAN_BUY_ZERO"]!="Y" && ($arCatalogProduct["QUANTITY_TRACE"]=="Y" && doubleval($arCatalogProduct["QUANTITY"])<=0))
Exemplo n.º 14
0
 $obCache = new CPHPCache();
 $life_time = $arParams['MENU_CACHE_TIME'] ? IntVal($arParams['MENU_CACHE_TIME']) : 604800;
 $cache_id = "menu_hits_horizontal";
 if ($obCache->InitCache($life_time, $cache_id, "/")) {
     $vars = $obCache->GetVars();
     if (is_array($vars['MENU_HITS']) && count($vars['MENU_HITS']) > 0) {
         $arResult['HITS'] = $vars['MENU_HITS'];
     }
 }
 if (!is_array($arResult['HITS'])) {
     if ($arResult[0]['PARAMS']['FROM_IBLOCK'] == 1) {
         $fromIb = true;
     }
     $arHits = array();
     if (CModule::IncludeModule('catalog')) {
         $arPrice = CCatalogGroup::GetList(array(), array("NAME" => $arParams["PRICE_CODE"]), false, false, array("ID"))->Fetch();
     }
     foreach ($arResult as $index => &$arItem) {
         if ($arItem['DEPTH_LEVEL'] == 1 && $index !== 'HITS') {
             $arSelect = array("ID", "NAME", "CODE", "IBLOCK_ID", "IBLOCK_SECTION_ID", "DETAIL_PAGE_URL", "DETAIL_PICTURE", "PREVIEW_PICTURE", "CATALOG_GROUP_" . $arPrice["ID"], "PROPERTY_NEWPRODUCT", "PROPERTY_SALELEADER", "PROPERTY_SPECIAL_OFFER");
             $arFilter = $arItem['PARAMS']['FILTER'];
             if (!is_array($arFilter) || empty($arFilter)) {
                 $arFilter = array("ACTIVE" => "Y", "CATALOG_AVAILABLE" => "Y");
                 $arIbType = CIBlockType::GetList(array(), array("NAME" => $arItem["TEXT"]))->Fetch();
                 if (!empty($arIbType)) {
                     $arFilter += array("IBLOCK_TYPE" => $arIbType["ID"]);
                 } else {
                     $arIb = CIBlock::GetList(array(), array("NAME" => $arItem["TEXT"], 'SITE_ID' => SITE_ID, 'ACTIVE' => 'Y'))->Fetch();
                     if (!empty($arIb)) {
                         $arFilter += array("IBLOCK_ID" => $arIb["ID"]);
                     } else {
Exemplo n.º 15
0
        $boolFlag = CIBlock::Delete($IBLOCK_CATALOG_ID);
        if (!$boolFlag) {
            $strError = "";
            if ($ex = $APPLICATION->GetException()) {
                $strError = $ex->GetString();
            } else {
                $strError = "Couldn't delete catalog iblock";
            }
            //die($strError);
        }
    }
    if ($boolFlag) {
        $IBLOCK_CATALOG_ID = false;
    }
}
$dbResultList = CCatalogGroup::GetList(array(), array("BASE" => "Y"));
if (!$dbResultList->Fetch()) {
    $arFields = array();
    $rsLanguage = CLanguage::GetList($by, $order, array());
    while ($arLanguage = $rsLanguage->Fetch()) {
        WizardServices::IncludeServiceLang("catalog.php", $arLanguage["ID"]);
        $arFields["USER_LANG"][$arLanguage["ID"]] = GetMessage("WIZ_PRICE_NAME");
    }
    $arFields["BASE"] = "Y";
    $arFields["SORT"] = 100;
    $arFields["NAME"] = "BASE";
    $arFields["USER_GROUP"] = array(1);
    $arFields["USER_GROUP_BUY"] = array(1);
    CCatalogGroup::Add($arFields);
}
if ($IBLOCK_CATALOG_ID == false) {
Exemplo n.º 16
0
		$strHidden = implode('',$arHidden);
	}
	else
	{
		$strHidden = '<input type="hidden" name="GROUP_IDS[]" value="">';
	}
	$tabControl->EndCustomField("GROUP_IDS",
		$strHidden
	);

	$tabControl->BeginCustomField("CAT_IDS", GetMessage('DSC_PRICE_TYPES').":", false);
	?><tr id="tr_CAT_IDS">
		<td valign="top" width="40%"><? echo $tabControl->GetCustomLabelHTML(); ?></td>
		<td valign="top" width="60%">
			<select name="CAT_IDS[]" multiple size="8"><?
				$dbCats = CCatalogGroup::GetList(array("NAME" => "ASC"), array("LID" => LANGUAGE_ID));
				while ($arCats = $dbCats->Fetch())
				{
					?><option value="<?php 
echo $arCats["ID"];
?>
"<?if (in_array(intval($arCats["ID"]), $arDiscountCatList)) echo " selected";?>>[<?php 
echo $arCats["ID"];
?>
] <?php 
echo htmlspecialcharsEx($arCats["NAME"]);
?>
 (<?php 
echo htmlspecialcharsEx($arCats["NAME_LANG"]);
?>
)</option><?
Exemplo n.º 17
0
				"IBLOCK_ID"=>$arParams["IBLOCK_ID"],
				"ACTIVE"=>"Y",
			),
			false,
			Array("ID", "DEPTH_LEVEL", "NAME")
		);
		while($arSection = $rsSection->Fetch())
		{
			$arResult["arrSection"][$arSection["ID"]] = str_repeat(" . ", $arSection["DEPTH_LEVEL"]).$arSection["NAME"];
		}
	}

	// prices
	if(CModule::IncludeModule("catalog"))
	{
		$rsPrice = CCatalogGroup::GetList($v1, $v2);
		while($arPrice = $rsPrice->Fetch())
		{
			if(($arPrice["CAN_ACCESS"] == "Y" || $arPrice["CAN_BUY"] == "Y") && in_array($arPrice["NAME"],$arParams["PRICE_CODE"]))
				$arResult["arrPrice"][$arPrice["NAME"]] = array("ID"=>$arPrice["ID"], "TITLE"=>$arPrice["NAME_LANG"]);
		}
	}
	else
	{
		$rsProp = CIBlockProperty::GetList(Array("sort"=>"asc", "name"=>"asc"), Array("ACTIVE"=>"Y", "IBLOCK_ID"=>$arParams["IBLOCK_ID"]));
		while($arProp = $rsProp->Fetch())
		{
			if(in_array($arProp["CODE"],$arParams["PRICE_CODE"]) && in_array($arProp["PROPERTY_TYPE"], array("N")))
				$arResult["arrPrice"][$arProp["CODE"]] = array("ID"=>$arProp["ID"], "TITLE"=>$arProp["NAME"]);
		}
	}
Exemplo n.º 18
0
        if ($ex = $APPLICATION->GetException()) {
            $strError = $ex->GetString() . "<br>";
        } else {
            $strError = (0 < $ID ? GetMessage("ERROR_UPDATING_TYPE") : GetMessage("ERROR_ADDING_TYPE")) . "<br>";
        }
        $DB->Rollback();
    }
}
$boolRealBase = false;
$arDefaultValues = array('NAME' => '', 'BASE' => 'N', 'SORT' => 100, 'XML_ID' => '');
$arSelect = array_merge(array('ID'), array_keys($arDefaultValues));
$arCatalogGroup = array();
$arGroupUserList = array();
$arGroupUserBuyList = array();
$arGroupLangList = array();
$rsCatalogGroups = CCatalogGroup::GetList(array(), array('ID' => $ID), false, false, $arSelect);
if (!($arCatalogGroup = $rsCatalogGroups->Fetch())) {
    $ID = 0;
    $arCatalogGroup = $arDefaultValues;
} else {
    $rsGroups = CCatalogGroup::GetGroupsList(array("CATALOG_GROUP_ID" => $ID));
    while ($arGroup = $rsGroups->Fetch()) {
        $arGroup['GROUP_ID'] = intval($arGroup['GROUP_ID']);
        if ('Y' == $arGroup['BUY']) {
            $arGroupUserBuyList[] = $arGroup['GROUP_ID'];
        } else {
            $arGroupUserList[] = $arGroup['GROUP_ID'];
        }
    }
    $rsLangs = CCatalogGroup::GetLangList(array("CATALOG_GROUP_ID" => $ID));
    while ($arLang = $rsLangs->Fetch()) {
Exemplo n.º 19
0
 $arResult["arrPrice"] = array();
 $arResult["arrSection"] = array();
 $arResult["arrOfferProp"] = array();
 // simple fields
 if (in_array("SECTION_ID", $arParams["FIELD_CODE"])) {
     $arResult["arrSection"][0] = GetMessage("CC_BCF_TOP_LEVEL");
     $rsSection = CIBlockSection::GetList(array("left_margin" => "asc"), array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "ACTIVE" => "Y"), false, array("ID", "DEPTH_LEVEL", "NAME"));
     while ($arSection = $rsSection->Fetch()) {
         $arResult["arrSection"][$arSection["ID"]] = str_repeat(" . ", $arSection["DEPTH_LEVEL"]) . $arSection["NAME"];
     }
 }
 // prices
 if (CModule::IncludeModule("catalog")) {
     $arResultModules['catalog'] = true;
     if (!empty($arParams["PRICE_CODE"])) {
         $rsPrice = CCatalogGroup::GetList(array('SORT' => 'ASC', 'ID' => 'ASC'), array('=NAME' => $arParams["PRICE_CODE"]), false, false, array('ID', 'NAME', 'NAME_LANG', 'CAN_ACCESS', 'CAN_BUY'));
         while ($arPrice = $rsPrice->Fetch()) {
             if ($arPrice["CAN_ACCESS"] == "Y" || $arPrice["CAN_BUY"] == "Y") {
                 $arResult["arrPrice"][$arPrice["NAME"]] = array("ID" => $arPrice["ID"], "TITLE" => !empty($arPrice["NAME_LANG"]) ? $arPrice["NAME_LANG"] : $arPrice["NAME"]);
             }
         }
     }
 } else {
     $rsProp = CIBlockProperty::GetList(array("sort" => "asc", "name" => "asc"), array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "ACTIVE" => "Y"));
     while ($arProp = $rsProp->Fetch()) {
         if (in_array($arProp["CODE"], $arParams["PRICE_CODE"]) && in_array($arProp["PROPERTY_TYPE"], array("N"))) {
             $arResult["arrPrice"][$arProp["CODE"]] = array("ID" => $arProp["ID"], "TITLE" => $arProp["NAME"]);
         }
     }
 }
 // properties
Exemplo n.º 20
0
        }
        if (isset($intGroupID)) {
            unset($intGroupID);
        }
    }
}
$lAdmin->AddFooter(array(array("title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value" => $dbResultList->SelectedRowsCount()), array("counter" => true, "title" => GetMessage("MAIN_ADMIN_LIST_CHECKED"), "value" => "0")));
if (!$bReadOnly) {
    if (CBXFeatures::IsFeatureEnabled('CatMultiPrice')) {
        $lAdmin->AddGroupActionTable(array("delete" => GetMessage("MAIN_ADMIN_LIST_DELETE")));
    } else {
        $lAdmin->AddGroupActionTable(array());
    }
}
if (!$bReadOnly) {
    $aContext = array();
    $boolEmptyPrice = true;
    $dbCatGroup = CCatalogGroup::GetList(array("ID" => "ASC"), array(), false, array("nTopCount" => 1), array("ID"));
    if ($arCatGroup = $dbCatGroup->Fetch()) {
        $boolEmptyPrice = false;
    }
    if (CBXFeatures::IsFeatureEnabled('CatMultiPrice') || $boolEmptyPrice) {
        $aContext = array(array("TEXT" => GetMessage("CGAN_ADD_NEW"), "ICON" => "btn_new", "LINK" => "cat_group_edit.php?lang=" . LANG, "TITLE" => GetMessage("CGAN_ADD_NEW_ALT")));
    }
    $lAdmin->AddAdminContextMenu($aContext);
}
$lAdmin->CheckListMode();
$APPLICATION->SetTitle(GetMessage("GROUP_TITLE"));
require $DOCUMENT_ROOT . "/bitrix/modules/main/include/prolog_admin_after.php";
$lAdmin->DisplayList();
require $DOCUMENT_ROOT . "/bitrix/modules/main/include/epilog_admin.php";
Exemplo n.º 21
0
if ($USER->CanDoOperation('catalog_price')) {
    $IBLOCK_ID = (int) $IBLOCK_ID;
    $ID = (int) $ID;
    $userId = (int) $USER->GetID();
    if (0 < $IBLOCK_ID && 0 < $ID) {
        $PRODUCT_ID = CIBlockElement::GetRealElement($ID);
        $bUseStoreControl = COption::GetOptionString('catalog', 'default_use_store_control', 'N') == "Y";
        $bEnableReservation = 'N' != COption::GetOptionString('catalog', 'enable_reservation');
        if (CIBlockElementRights::UserHasRightTo($IBLOCK_ID, $PRODUCT_ID, "element_edit_price")) {
            IncludeModuleLangFile($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/catalog/templates/product_edit_action.php');
            if ('' == $strWarning) {
                $bUseExtForm = isset($_POST['price_useextform']) && 'Y' == $_POST['price_useextform'];
                $arCatalog = CCatalog::GetByID($IBLOCK_ID);
                $arCatalogPrice_tmp = array();
                $intBasePriceCount = count($arCatalogBasePrices);
                $dbCatGroups = CCatalogGroup::GetList(array(), array("!BASE" => "Y"));
                while ($arCatGroups = $dbCatGroups->Fetch()) {
                    unset($arCatalogPrice_tmp);
                    $arCatalogPrice_tmp = array();
                    for ($i = 0; $i < $intBasePriceCount; $i++) {
                        ${"CAT_PRICE_" . $arCatGroups["ID"] . "_" . $arCatalogBasePrices[$i]["IND"]} = str_replace(",", ".", ${"CAT_PRICE_" . $arCatGroups["ID"] . "_" . $arCatalogBasePrices[$i]["IND"]});
                        $arCatalogPrice_tmp[$i] = array("ID" => IntVal(${"CAT_ID_" . $arCatGroups["ID"]}[$arCatalogBasePrices[$i]["IND"]]), "EXTRA_ID" => ${"CAT_EXTRA_" . $arCatGroups["ID"] . "_" . $arCatalogBasePrices[$i]["IND"]} ? IntVal(${"CAT_EXTRA_" . $arCatGroups["ID"] . "_" . $arCatalogBasePrices[$i]["IND"]}) : 0, "PRICE" => ${"CAT_PRICE_" . $arCatGroups["ID"] . "_" . $arCatalogBasePrices[$i]["IND"]}, "CURRENCY" => Trim(${"CAT_CURRENCY_" . $arCatGroups["ID"] . "_" . $arCatalogBasePrices[$i]["IND"]}), "QUANTITY_FROM" => $arCatalogBasePrices[$i]["QUANTITY_FROM"], "QUANTITY_TO" => $arCatalogBasePrices[$i]["QUANTITY_TO"]);
                        if (strlen($arCatalogPrice_tmp[$i]["CURRENCY"]) <= 0) {
                            $arCatalogPrice_tmp[$i]["CURRENCY"] = $arCatalogBasePrices[$i]["CURRENCY"];
                        }
                        if ($arCatalogPrice_tmp[$i]["EXTRA_ID"] > 0) {
                            if (0 < doubleval($arCatalogBasePrices[$i]["PRICE"])) {
                                $arCatalogPrice_tmp[$i]["CURRENCY"] = $arCatalogBasePrices[$i]["CURRENCY"];
                                $arCatalogExtra = CExtra::GetByID($arCatalogPrice_tmp[$i]["EXTRA_ID"]);
                                $arCatalogPrice_tmp[$i]["PRICE"] = RoundEx($arCatalogBasePrices[$i]["PRICE"] * (1 + DoubleVal($arCatalogExtra["PERCENTAGE"]) / 100), CATALOG_VALUE_PRECISION);
                            } else {
Exemplo n.º 22
0
            "default" => false,
        );
    }
    if ($strUseStoreControl == "Y") {
        $arHeader[] = array(
            "id" => "CATALOG_BAR_CODE",
            "content" => GetMessage("IBEL_CATALOG_BAR_CODE"),
            "title" => "",
            "align" => "right",
            "default" => false,
        );
    }

    $arCatGroup = array();
    $dbCatalogGroups = CCatalogGroup::GetList(
                    array("SORT" => "ASC"), array("LID" => LANGUAGE_ID), false, false, array('ID', 'NAME', 'NAME_LANG')
    );
    while ($arCatalogGroup = $dbCatalogGroups->Fetch()) {
        $arHeader[] = array(
            "id" => "CATALOG_GROUP_" . $arCatalogGroup["ID"],
            "content" => htmlspecialcharsex(!empty($arCatalogGroup["NAME_LANG"]) ? $arCatalogGroup["NAME_LANG"] : $arCatalogGroup["NAME"]),
            "title" => "",
            "align" => "right",
            "sort" => "CATALOG_PRICE_" . $arCatalogGroup["ID"],
            "default" => false,
        );
        $arCatGroup[$arCatalogGroup["ID"]] = $arCatalogGroup;
    }

    $arCatExtra = array();
    $db_extras = CExtra::GetList(($by3 = "NAME"), ($order3 = "ASC"));
Exemplo n.º 23
0
					"name"=>$arOneCatalogAvailQuantityFields["name"],
				);
				if ($boolSep)
				{
					$arAvailFields[$intCount]['SEP'] = GetMessage('CAT_ADM_CSV_IMP_SEP_PRICES');
					$boolSep = false;
				}
				$intCount++;
			}
		}
		if (isset($arOneCatalogAvailQuantityFields))
			unset($arOneCatalogAvailQuantityFields);

		$strVal = COption::GetOptionString("catalog", "allowed_price_fields", $defCatalogAvailValueFields);
		$arVal = explode(",", $strVal);
		$db_prgr = CCatalogGroup::GetList(array("SORT" => "ASC"), array());
		while ($prgr = $db_prgr->Fetch())
		{
			foreach ($arCatalogAvailValueFields as &$arOneCatalogAvailValueFields)
			{
				$mxKey = array_search($arOneCatalogAvailValueFields['value'],$arVal);
				if (false !== $mxKey)
				{
					$strName = ($prgr['NAME_LANG'] ?
						str_replace(array('#TYPE#','#NAME#'),array($prgr["NAME"],$prgr['NAME_LANG']),GetMessage('EST_PRICE_TYPE2')):
						str_replace("#TYPE#", $prgr["NAME"], GetMessage("EST_PRICE_TYPE"))
					);
					$arAvailFields[$intCount] = array(
						"value" => $arOneCatalogAvailValueFields['value']."_".$prgr["ID"],
						"name" => $strName.": ".$arOneCatalogAvailValueFields["name"],
					);
Exemplo n.º 24
0
                "length" => "length",
                "width" => "width",
                "height" => "height",
            );

    if(!check_bitrix_sessid()) return;

    __IncludeLang(GetLangFileName($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/intaro.intarocrm/lang/", "/icml_export_setup.php"));

    $MODULE_ID = 'intaro.intarocrm';
    $CRM_CATALOG_BASE_PRICE = 'catalog_base_price';
    $basePriceId = COption::GetOptionString($MODULE_ID, $CRM_CATALOG_BASE_PRICE . '_' . $_REQUEST['PROFILE_ID'], 1);

    $arResult['PRICE_TYPES'] = array();
    $dbPriceType = CCatalogGroup::GetList(
        array("SORT" => "ASC"), array(), array(), array(), array("ID", "NAME", "BASE")
    );

    while ($arPriceType = $dbPriceType->Fetch()) {
        $arResult['PRICE_TYPES'][$arPriceType['ID']] = $arPriceType;
    }

    if (($ACTION == 'EXPORT' || $ACTION == 'EXPORT_EDIT' || $ACTION == 'EXPORT_COPY') && $STEP == 1)
    {

        if (isset($arOldSetupVars['SETUP_FILE_NAME']))
                $SETUP_FILE_NAME = $arOldSetupVars['SETUP_FILE_NAME'];
        if (isset($arOldSetupVars['LOAD_PURCHASE_PRICE']))
                $LOAD_PURCHASE_PRICE = $arOldSetupVars['LOAD_PURCHASE_PRICE'];
        if (isset($arOldSetupVars['SETUP_PROFILE_NAME']))
                $SETUP_PROFILE_NAME = $arOldSetupVars['SETUP_PROFILE_NAME'];
Exemplo n.º 25
0
	<tr>
		<td><?php 
        echo GetMessage('YANDEX_PRICE_TYPE');
        ?>
: </td>
		<td><br /><select name="PRICE">
			<option value=""<?php 
        echo $PRICE == "" || $PRICE == 0 ? ' selected' : '';
        ?>
><?php 
        echo GetMessage('YANDEX_PRICE_TYPE_NONE');
        ?>
</option>
<?php 
        $dbRes = CCatalogGroup::GetList(array('SORT' => 'ASC'), array('ACTIVE' => 'Y', 'ID' => $arGroups), 0, 0, array('ID', 'NAME', 'BASE'));
        while ($arRes = $dbRes->GetNext()) {
            ?>
			<option value="<?php 
            echo $arRes['ID'];
            ?>
"<?php 
            echo $PRICE == $arRes['ID'] ? ' selected' : '';
            ?>
><?php 
            echo '[' . $arRes['ID'] . '] ' . $arRes['NAME'];
            ?>
</option>
<?php 
        }
        ?>
Exemplo n.º 26
0
 public function getPriceItems()
 {
     $items = array();
     if (!empty($this->arParams["PRICE_CODE"])) {
         if (self::$catalogIncluded === null) {
             self::$catalogIncluded = Loader::includeModule('catalog');
         }
         if (self::$catalogIncluded) {
             $rsPrice = CCatalogGroup::GetList(array('SORT' => 'ASC', 'ID' => 'ASC'), array('=NAME' => $this->arParams["PRICE_CODE"]), false, false, array('ID', 'NAME', 'NAME_LANG', 'CAN_ACCESS', 'CAN_BUY'));
             while ($arPrice = $rsPrice->Fetch()) {
                 if ($arPrice["CAN_ACCESS"] == "Y" || $arPrice["CAN_BUY"] == "Y") {
                     $arPrice["NAME_LANG"] = (string) $arPrice["NAME_LANG"];
                     if ($arPrice["NAME_LANG"] === '') {
                         $arPrice["NAME_LANG"] = $arPrice["NAME"];
                     }
                     $minID = $this->SAFE_FILTER_NAME . '_P' . $arPrice['ID'] . '_MIN';
                     $maxID = $this->SAFE_FILTER_NAME . '_P' . $arPrice['ID'] . '_MAX';
                     $items[$arPrice["NAME"]] = array("ID" => $arPrice["ID"], "CODE" => $arPrice["NAME"], "NAME" => $arPrice["NAME_LANG"], "PRICE" => true, "VALUES" => array("MIN" => array("CONTROL_ID" => $minID, "CONTROL_NAME" => $minID), "MAX" => array("CONTROL_ID" => $maxID, "CONTROL_NAME" => $maxID)));
                 }
             }
         }
     }
     return $items;
 }
Exemplo n.º 27
0
    }
}
$arOffers = CIBlockPriceTools::GetOffersIBlock($arCurrentValues["IBLOCK_ID"]);
$OFFERS_IBLOCK_ID = is_array($arOffers) ? $arOffers["OFFERS_IBLOCK_ID"] : 0;
$arProperty_Offers = array();
if ($OFFERS_IBLOCK_ID) {
    $rsProp = CIBlockProperty::GetList(array("sort" => "asc", "name" => "asc"), array("IBLOCK_ID" => $OFFERS_IBLOCK_ID, "ACTIVE" => "Y"));
    while ($arr = $rsProp->Fetch()) {
        if ($arr["PROPERTY_TYPE"] != "F") {
            $arProperty_Offers[$arr["CODE"]] = "[" . $arr["CODE"] . "] " . $arr["NAME"];
        }
    }
}
$arPrice = array();
if (CModule::IncludeModule("catalog")) {
    $rsPrice = CCatalogGroup::GetList($v1 = "sort", $v2 = "asc");
    while ($arr = $rsPrice->Fetch()) {
        $arPrice[$arr["NAME"]] = "[" . $arr["NAME"] . "] " . $arr["NAME_LANG"];
    }
} else {
    $arPrice = $arProperty_N;
}
$arAscDesc = array("asc" => GetMessage("IBLOCK_SORT_ASC"), "desc" => GetMessage("IBLOCK_SORT_DESC"));
$arComponentParameters = array("GROUPS" => array("FILTER_SETTINGS" => array("NAME" => GetMessage("T_IBLOCK_DESC_FILTER_SETTINGS")), "REVIEW_SETTINGS" => array("NAME" => GetMessage("T_IBLOCK_DESC_REVIEW_SETTINGS")), "COMPARE_SETTINGS" => array("NAME" => GetMessage("T_IBLOCK_DESC_COMPARE_SETTINGS")), "PRICES" => array("NAME" => GetMessage("IBLOCK_PRICES")), "TOP_SETTINGS" => array("NAME" => GetMessage("T_IBLOCK_DESC_TOP_SETTINGS")), "SECTIONS_SETTINGS" => array("NAME" => GetMessage("CP_BC_SECTIONS_SETTINGS")), "LIST_SETTINGS" => array("NAME" => GetMessage("T_IBLOCK_DESC_LIST_SETTINGS")), "DETAIL_SETTINGS" => array("NAME" => GetMessage("T_IBLOCK_DESC_DETAIL_SETTINGS")), "LINK" => array("NAME" => GetMessage("IBLOCK_LINK")), "ALSO_BUY_SETTINGS" => array("NAME" => GetMessage("T_IBLOCK_DESC_ALSO_BUY_SETTINGS")), "STORE_SETTINGS" => array("NAME" => GetMessage("T_IBLOCK_DESC_STORE_SETTINGS")), "OFFERS_SETTINGS" => array("NAME" => GetMessage("CP_BC_OFFERS_SETTINGS"))), "PARAMETERS" => array("VARIABLE_ALIASES" => array("SECTION_ID" => array("NAME" => GetMessage("SECTION_ID_DESC")), "ELEMENT_ID" => array("NAME" => GetMessage("ELEMENT_ID_DESC"))), "AJAX_MODE" => array(), "SEF_MODE" => array("sections" => array("NAME" => GetMessage("SECTIONS_TOP_PAGE"), "DEFAULT" => "", "VARIABLES" => array()), "section" => array("NAME" => GetMessage("SECTION_PAGE"), "DEFAULT" => "#SECTION_ID#/", "VARIABLES" => array("SECTION_ID" => "SID")), "element" => array("NAME" => GetMessage("DETAIL_PAGE"), "DEFAULT" => "#SECTION_ID#/#ELEMENT_ID#/", "VARIABLES" => array("ELEMENT_ID" => "EID")), "compare" => array("NAME" => GetMessage("COMPARE_PAGE"), "DEFAULT" => "compare.php?action=#ACTION_CODE#", "VARIABLES" => array("action" => "action"))), "IBLOCK_TYPE" => array("PARENT" => "BASE", "NAME" => GetMessage("IBLOCK_TYPE"), "TYPE" => "LIST", "VALUES" => $arIBlockType, "REFRESH" => "Y"), "IBLOCK_ID" => array("PARENT" => "BASE", "NAME" => GetMessage("IBLOCK_IBLOCK"), "TYPE" => "LIST", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arIBlock, "REFRESH" => "Y"), "USE_FILTER" => array("PARENT" => "FILTER_SETTINGS", "NAME" => GetMessage("T_IBLOCK_DESC_USE_FILTER"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "REFRESH" => "Y"), "USE_REVIEW" => array("PARENT" => "REVIEW_SETTINGS", "NAME" => GetMessage("T_IBLOCK_DESC_USE_REVIEW"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "REFRESH" => "Y"), "USE_COMPARE" => array("PARENT" => "COMPARE_SETTINGS", "NAME" => GetMessage("T_IBLOCK_DESC_USE_COMPARE"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "REFRESH" => "Y"), "SHOW_TOP_ELEMENTS" => array("PARENT" => "TOP_SETTINGS", "NAME" => GetMessage("NC_P_SHOW_TOP_ELEMENTS"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", "REFRESH" => "Y"), "SECTION_COUNT_ELEMENTS" => array("PARENT" => "SECTIONS_SETTINGS", "NAME" => GetMessage('CP_BC_SECTION_COUNT_ELEMENTS'), "TYPE" => "CHECKBOX", "DEFAULT" => "Y"), "SECTION_TOP_DEPTH" => array("PARENT" => "SECTIONS_SETTINGS", "NAME" => GetMessage('CP_BC_SECTION_TOP_DEPTH'), "TYPE" => "STRING", "DEFAULT" => "2"), "PAGE_ELEMENT_COUNT" => array("PARENT" => "LIST_SETTINGS", "NAME" => GetMessage("IBLOCK_PAGE_ELEMENT_COUNT"), "TYPE" => "STRING", "DEFAULT" => "30"), "LINE_ELEMENT_COUNT" => array("PARENT" => "LIST_SETTINGS", "NAME" => GetMessage("IBLOCK_LINE_ELEMENT_COUNT"), "TYPE" => "STRING", "DEFAULT" => "3"), "ELEMENT_SORT_FIELD" => array("PARENT" => "LIST_SETTINGS", "NAME" => GetMessage("IBLOCK_ELEMENT_SORT_FIELD"), "TYPE" => "LIST", "VALUES" => array("shows" => GetMessage("IBLOCK_SORT_SHOWS"), "sort" => GetMessage("IBLOCK_SORT_SORT"), "timestamp_x" => GetMessage("IBLOCK_SORT_TIMESTAMP"), "name" => GetMessage("IBLOCK_SORT_NAME"), "id" => GetMessage("IBLOCK_SORT_ID"), "active_from" => GetMessage("IBLOCK_SORT_ACTIVE_FROM"), "active_to" => GetMessage("IBLOCK_SORT_ACTIVE_TO")), "ADDITIONAL_VALUES" => "Y", "DEFAULT" => "sort"), "ELEMENT_SORT_ORDER" => array("PARENT" => "LIST_SETTINGS", "NAME" => GetMessage("IBLOCK_ELEMENT_SORT_ORDER"), "TYPE" => "LIST", "VALUES" => $arAscDesc, "DEFAULT" => "asc", "ADDITIONAL_VALUES" => "Y"), "LIST_PROPERTY_CODE" => array("PARENT" => "LIST_SETTINGS", "NAME" => GetMessage("IBLOCK_PROPERTY"), "TYPE" => "LIST", "MULTIPLE" => "Y", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arProperty_LNS, "ADDITIONAL_VALUES" => "Y"), "INCLUDE_SUBSECTIONS" => array("PARENT" => "LIST_SETTINGS", "NAME" => GetMessage("CP_BC_INCLUDE_SUBSECTIONS"), "TYPE" => "LIST", "VALUES" => array("Y" => GetMessage('CP_BC_INCLUDE_SUBSECTIONS_ALL'), "A" => GetMessage('CP_BC_INCLUDE_SUBSECTIONS_ACTIVE'), "N" => GetMessage('CP_BC_INCLUDE_SUBSECTIONS_NO')), "DEFAULT" => "Y"), "LIST_META_KEYWORDS" => array("PARENT" => "LIST_SETTINGS", "NAME" => GetMessage("CP_BC_LIST_META_KEYWORDS"), "TYPE" => "LIST", "MULTIPLE" => "N", "ADDITIONAL_VALUES" => "N", "VALUES" => $arUserFields_S), "LIST_META_DESCRIPTION" => array("PARENT" => "LIST_SETTINGS", "NAME" => GetMessage("CP_BC_LIST_META_DESCRIPTION"), "TYPE" => "LIST", "MULTIPLE" => "N", "ADDITIONAL_VALUES" => "N", "VALUES" => $arUserFields_S), "LIST_BROWSER_TITLE" => array("PARENT" => "LIST_SETTINGS", "NAME" => GetMessage("CP_BC_LIST_BROWSER_TITLE"), "TYPE" => "LIST", "MULTIPLE" => "N", "DEFAULT" => "-", "VALUES" => array_merge(array("-" => " ", "NAME" => GetMessage("IBLOCK_FIELD_NAME")), $arUserFields_S)), "DETAIL_PROPERTY_CODE" => array("PARENT" => "DETAIL_SETTINGS", "NAME" => GetMessage("IBLOCK_PROPERTY"), "TYPE" => "LIST", "MULTIPLE" => "Y", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arProperty_LNS), "DETAIL_META_KEYWORDS" => array("PARENT" => "DETAIL_SETTINGS", "NAME" => GetMessage("CP_BC_DETAIL_META_KEYWORDS"), "TYPE" => "LIST", "MULTIPLE" => "N", "ADDITIONAL_VALUES" => "N", "VALUES" => array_merge(array("-" => " "), $arProperty_LNS)), "DETAIL_META_DESCRIPTION" => array("PARENT" => "DETAIL_SETTINGS", "NAME" => GetMessage("CP_BC_DETAIL_META_DESCRIPTION"), "TYPE" => "LIST", "MULTIPLE" => "N", "ADDITIONAL_VALUES" => "N", "VALUES" => array_merge(array("-" => " "), $arProperty_LNS)), "DETAIL_BROWSER_TITLE" => array("PARENT" => "DETAIL_SETTINGS", "NAME" => GetMessage("CP_BC_DETAIL_BROWSER_TITLE"), "TYPE" => "LIST", "MULTIPLE" => "N", "DEFAULT" => "-", "VALUES" => array_merge(array("-" => " ", "NAME" => GetMessage("IBLOCK_FIELD_NAME")), $arProperty_LNS)), "BASKET_URL" => array("PARENT" => "URL_TEMPLATES", "NAME" => GetMessage("IBLOCK_BASKET_URL"), "TYPE" => "STRING", "DEFAULT" => "/personal/basket.php"), "ACTION_VARIABLE" => array("PARENT" => "URL_TEMPLATES", "NAME" => GetMessage("IBLOCK_ACTION_VARIABLE"), "TYPE" => "STRING", "DEFAULT" => "action"), "PRODUCT_ID_VARIABLE" => array("PARENT" => "URL_TEMPLATES", "NAME" => GetMessage("IBLOCK_PRODUCT_ID_VARIABLE"), "TYPE" => "STRING", "DEFAULT" => "id"), "SECTION_ID_VARIABLE" => array("PARENT" => "URL_TEMPLATES", "NAME" => GetMessage("IBLOCK_SECTION_ID_VARIABLE"), "TYPE" => "STRING", "DEFAULT" => "SECTION_ID"), "PRODUCT_QUANTITY_VARIABLE" => array("PARENT" => "URL_TEMPLATES", "NAME" => GetMessage("CP_BC_PRODUCT_QUANTITY_VARIABLE"), "TYPE" => "STRING", "DEFAULT" => "quantity"), "CACHE_TIME" => array("DEFAULT" => 36000000), "CACHE_FILTER" => array("PARENT" => "CACHE_SETTINGS", "NAME" => GetMessage("IBLOCK_CACHE_FILTER"), "TYPE" => "CHECKBOX", "DEFAULT" => "N"), "CACHE_GROUPS" => array("PARENT" => "CACHE_SETTINGS", "NAME" => GetMessage("CP_BC_CACHE_GROUPS"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y"), "SET_TITLE" => array(), "SET_STATUS_404" => array("PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BC_SET_STATUS_404"), "TYPE" => "CHECKBOX", "DEFAULT" => "N"), "PRICE_CODE" => array("PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_PRICE_CODE"), "TYPE" => "LIST", "MULTIPLE" => "Y", "VALUES" => $arPrice), "USE_PRICE_COUNT" => array("PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_USE_PRICE_COUNT"), "TYPE" => "CHECKBOX", "DEFAULT" => "N"), "SHOW_PRICE_COUNT" => array("PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_SHOW_PRICE_COUNT"), "TYPE" => "STRING", "DEFAULT" => "1"), "PRICE_VAT_INCLUDE" => array("PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_VAT_INCLUDE"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y"), "PRICE_VAT_SHOW_VALUE" => array("PARENT" => "PRICES", "NAME" => GetMessage("IBLOCK_VAT_SHOW_VALUE"), "TYPE" => "CHECKBOX", "DEFAULT" => "N"), "USE_PRODUCT_QUANTITY" => array("PARENT" => "PRICES", "NAME" => GetMessage("CP_BC_USE_PRODUCT_QUANTITY"), "TYPE" => "CHECKBOX", "DEFAULT" => "N"), "LINK_IBLOCK_TYPE" => array("PARENT" => "LINK", "NAME" => GetMessage("IBLOCK_LINK_IBLOCK_TYPE"), "TYPE" => "LIST", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arIBlockType, "REFRESH" => "Y"), "LINK_IBLOCK_ID" => array("PARENT" => "LINK", "NAME" => GetMessage("IBLOCK_LINK_IBLOCK_ID"), "TYPE" => "LIST", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arIBlock_LINK, "REFRESH" => "Y"), "LINK_PROPERTY_SID" => array("PARENT" => "LINK", "NAME" => GetMessage("IBLOCK_LINK_PROPERTY_SID"), "TYPE" => "LIST", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arProperty_LINK), "LINK_ELEMENTS_URL" => array("PARENT" => "LINK", "NAME" => GetMessage("IBLOCK_LINK_ELEMENTS_URL"), "TYPE" => "STRING", "DEFAULT" => "link.php?PARENT_ELEMENT_ID=#ELEMENT_ID#"), "USE_ALSO_BUY" => array("PARENT" => "ALSO_BUY_SETTINGS", "NAME" => GetMessage("T_IBLOCK_DESC_USE_ALSO_BUY"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "REFRESH" => "Y"), "USE_STORE" => array("PARENT" => "STORE_SETTINGS", "NAME" => GetMessage("T_IBLOCK_DESC_USE_STORE"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "REFRESH" => "Y"), "USE_ELEMENT_COUNTER" => array("PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage('CP_BC_USE_ELEMENT_COUNTER'), "TYPE" => "CHECKBOX", "DEFAULT" => "Y")));
CIBlockParameters::AddPagerSettings($arComponentParameters, GetMessage("T_IBLOCK_DESC_PAGER_CATALOG"), true, true);
if ($arCurrentValues["USE_COMPARE"] == "Y") {
    $arComponentParameters["PARAMETERS"]["COMPARE_NAME"] = array("PARENT" => "COMPARE_SETTINGS", "NAME" => GetMessage("IBLOCK_COMPARE_NAME"), "TYPE" => "STRING", "DEFAULT" => "CATALOG_COMPARE_LIST");
    $arComponentParameters["PARAMETERS"]["COMPARE_FIELD_CODE"] = CIBlockParameters::GetFieldCode(GetMessage("IBLOCK_FIELD"), "COMPARE_SETTINGS");
    $arComponentParameters["PARAMETERS"]["COMPARE_PROPERTY_CODE"] = array("PARENT" => "COMPARE_SETTINGS", "NAME" => GetMessage("IBLOCK_PROPERTY"), "TYPE" => "LIST", "MULTIPLE" => "Y", "VALUES" => $arProperty_LNS, "ADDITIONAL_VALUES" => "Y");
    if ($OFFERS_IBLOCK_ID) {
        $arComponentParameters["PARAMETERS"]["COMPARE_OFFERS_FIELD_CODE"] = CIBlockParameters::GetFieldCode(GetMessage("CP_BC_COMPARE_OFFERS_FIELD_CODE"), "COMPARE_SETTINGS");
Exemplo n.º 28
0
 $arAvailValueFields_names = array();
 foreach ($arCatalogAvailValueFields as &$arOneCatalogAvailValueFields) {
     if (in_array($arOneCatalogAvailValueFields['value'], $arAvailValueFields)) {
         $arValueCodes[] = $arOneCatalogAvailValueFields['value'] . '_';
         $arAvailValueFields_names[$arOneCatalogAvailValueFields['value']] = array("field" => $arOneCatalogAvailValueFields["field"], "important" => $arOneCatalogAvailValueFields["important"]);
     }
 }
 if (isset($arOneCatalogAvailValueFields)) {
     unset($arOneCatalogAvailValueFields);
 }
 if (!empty($arValueCodes)) {
     $arValueCodes = array_values(array_unique($arValueCodes));
 }
 if (!empty($arAvailValueFields_names)) {
     $arAvailValueFieldsList = array_keys($arAvailValueFields_names);
     $rsPriceTypes = CCatalogGroup::GetList(array("SORT" => "ASC"), array());
     while ($arPriceType = $rsPriceTypes->Fetch()) {
         foreach ($arAvailValueFieldsList as &$strKey) {
             $mxSelKey = array_search($strKey . '_' . $arPriceType['ID'], $field_code);
             if (!(false === $mxSelKey || empty($field_needed[$mxSelKey]) || 'Y' != $field_needed[$mxSelKey])) {
                 $arSortFields[$strKey . '_' . $arPriceType['ID']] = array('CODE' => $strKey . '_' . $arPriceType['ID'], 'ID' => $intCount, 'SORT' => !empty($field_num[$mxSelKey]) && 0 < (int) $field_num[$mxSelKey] ? (int) $field_num[$mxSelKey] : ($intCount + 1) * 10);
                 $bNeedPrices = true;
                 $arCatalogGroups[] = intval($arPriceType['ID']);
             }
             $intCount++;
         }
         if (isset($strKey)) {
             unset($strKey);
         }
     }
     unset($arAvailValueFieldsList);
Exemplo n.º 29
0
	public static function GetListEx($arOrder=array("SORT"=>"ASC"), $arFilter=array())
	{
		return false;
		global $DB, $USER;

		$arSqlSearch = CIBlockElement::MkFilter($arFilter);
		$bSections = false;
		if($arSqlSearch["SECTION"]=="Y")
		{
			$bSections = true;
			unset($arSqlSearch["SECTION"]);
		}
		$strSqlSearch = "";
		for ($i = 0, $intCount = count($arSqlSearch); $i < $intCount; $i++)
			$strSqlSearch .= " AND (".$arSqlSearch[$i].") ";

		$MAX_LOCK = intval(COption::GetOptionString("workflow", "MAX_LOCK_TIME", "60"));
		$uid = intval($USER->GetID());

		$db_groups = CCatalogGroup::GetList(array("SORT" => "ASC"));
		$strSelectPart = "";
		$strFromPart = "";
		$i = -1;
		while ($groups = $db_groups->Fetch())
		{
			$i++;
			$strSelectPart .= ", P".$i.".PRICE as PRICE".$i.", P".$i.".CURRENCY as CURRENCY".$i.", P".$i.".CATALOG_GROUP_ID as CATALOG_GROUP_ID".$i.", P".$i.".ID as PRICE_ID".$i." ";
			$strFromPart .= " LEFT JOIN b_catalog_price P".$i." ON (P".$i.".PRODUCT_ID = BE.ID AND P".$i.".CATALOG_GROUP_ID = ".$groups["ID"].") ";
		}
		$maxInd = $i;

		if (!$USER->IsAdmin())
		{
			$strSql =
				"SELECT DISTINCT BE.*, ".
				"	".$DB->DateToCharFunction("BE.TIMESTAMP_X")." as TIMESTAMP_X, ".
				"	".$DB->DateToCharFunction("BE.ACTIVE_FROM", "SHORT")." as ACTIVE_FROM, ".
				"	".$DB->DateToCharFunction("BE.ACTIVE_TO", "SHORT")." as ACTIVE_TO, ".
				"	".$DB->DateToCharFunction("BE.WF_DATE_LOCK")." as WF_DATE_LOCK, ".
				"	L.DIR as LANG_DIR, B.DETAIL_PAGE_URL, B.LIST_PAGE_URL, ".
				"	CAP.QUANTITY, CAP.QUANTITY_RESERVED, IF (CAP.QUANTITY_TRACE = 'D', '".$DB->ForSql(COption::GetOptionString('catalog','default_quantity_trace','N'))."', CAP.QUANTITY_TRACE) as QUANTITY_TRACE, CAP.WEIGHT, ".
				"   IF (CAP.CAN_BUY_ZERO = 'D', '".$DB->ForSql(COption::GetOptionString('catalog','default_can_buy_zero','N'))."', CAP.CAN_BUY_ZERO) as CAN_BUY_ZERO, ".
				"   IF (CAP.NEGATIVE_AMOUNT_TRACE = 'D', '".$DB->ForSql(COption::GetOptionString('catalog','allow_negative_amount','N'))."', CAP.NEGATIVE_AMOUNT_TRACE) as NEGATIVE_AMOUNT_TRACE, ".
				"	CAP.VAT_ID, CAP.VAT_INCLUDED, ".
				"	CAP.PRICE_TYPE, CAP.RECUR_SCHEME_TYPE, CAP.RECUR_SCHEME_LENGTH, CAP.TRIAL_PRICE_ID, ".
				"	CAP.WITHOUT_ORDER, CAP.SELECT_BEST_PRICE, CAP.PURCHASING_PRICE, CAP.PURCHASING_CURRENCY, CAP.BARCODE_MULTI, ".
				"	CAP.TMP_ID ".
				"	".$strSelectPart." ".
				"FROM b_iblock_element BE, b_lang L, ".
				($bSections?"b_iblock_section_element BSE,":"").
				"	b_iblock B ".
				"	LEFT JOIN b_iblock_group IBG ON IBG.IBLOCK_ID = B.ID ".
				"	LEFT JOIN b_catalog_product CAP ON BE.ID = CAP.ID ".
				"	".$strFromPart." ".
				"WHERE BE.IBLOCK_ID = B.ID ".
				"	AND B.LID = L.LID ".
				($bSections?"	AND BSE.IBLOCK_ELEMENT_ID = BE.ID ":"").
				"	AND IBG.GROUP_ID IN (".$USER->GetGroups().") ".
				"	".CIBlockElement::WF_GetSqlLimit("BE.", $SHOW_NEW)." ".
				"	AND IBG.PERMISSION>='".(strlen($arFilter["MIN_PERMISSION"])==1 ? $arFilter["MIN_PERMISSION"] : "R")."' ".
				"	AND (IBG.PERMISSION='X' OR B.ACTIVE='Y') ".
				"	".$strSqlSearch." ";
		}
		else
		{
			$strSql =
				"SELECT BE.*, ".
				"	".$DB->DateToCharFunction("BE.TIMESTAMP_X")." as TIMESTAMP_X, ".
				"	".$DB->DateToCharFunction("BE.ACTIVE_FROM", "SHORT")." as ACTIVE_FROM, ".
				"	".$DB->DateToCharFunction("BE.ACTIVE_TO", "SHORT")." as ACTIVE_TO, ".
				"	".$DB->DateToCharFunction("BE.WF_DATE_LOCK")." as WF_DATE_LOCK, ".
				"	L.DIR as LANG_DIR, B.DETAIL_PAGE_URL, B.LIST_PAGE_URL, ".
				"	CAP.QUANTITY, CAP.QUANTITY_RESERVED, IF (CAP.QUANTITY_TRACE = 'D', '".$DB->ForSql(COption::GetOptionString('catalog','default_quantity_trace','N'))."', CAP.QUANTITY_TRACE)  as QUANTITY_TRACE, CAP.WEIGHT, ".
				"   IF (CAP.CAN_BUY_ZERO = 'D', '".$DB->ForSql(COption::GetOptionString('catalog','default_can_buy_zero','N'))."', CAP.CAN_BUY_ZERO) as CAN_BUY_ZERO, ".
				"   IF (CAP.NEGATIVE_AMOUNT_TRACE = 'D', '".$DB->ForSql(COption::GetOptionString('catalog','allow_negative_amount','N'))."', CAP.NEGATIVE_AMOUNT_TRACE) as NEGATIVE_AMOUNT_TRACE, ".
				"	CAP.VAT_ID, CAP.VAT_INCLUDED, ".
				"	CAP.PRICE_TYPE, CAP.RECUR_SCHEME_TYPE, CAP.RECUR_SCHEME_LENGTH, CAP.TRIAL_PRICE_ID, ".
				"	CAP.WITHOUT_ORDER, CAP.SELECT_BEST_PRICE, CAP.PURCHASING_PRICE, CAP.PURCHASING_CURRENCY, CAP.BARCODE_MULTI, ".
				"	CAP.TMP_ID ".
				"	".$strSelectPart." ".
				"FROM  b_iblock B, b_lang L, ".
				($bSections?"b_iblock_section_element BSE,":"").
				"	b_iblock_element BE ".
				"	LEFT JOIN b_catalog_product CAP ON BE.ID = CAP.ID ".
				"	".$strFromPart." ".
				"WHERE BE.IBLOCK_ID = B.ID ".
				($bSections?"	AND BSE.IBLOCK_ELEMENT_ID = BE.ID ":"").
				"	".CIBlockElement::WF_GetSqlLimit("BE.",$SHOW_NEW)." ".
				"	AND B.LID = L.LID ".
				"	".$strSqlSearch." ";
		}

		$arSqlOrder = array();
		foreach($arOrder as $by=>$order)
		{
			$by = strtoupper($by);
			$order = strtoupper($order);
			if ($order!="ASC") $order = "DESC";

			if ($by == "ID")				$arSqlOrder[] = " BE.ID ".$order." ";
			elseif ($by == "SECTION")		$arSqlOrder[] = " BE.IBLOCK_SECTION_ID ".$order." ";
			elseif ($by == "NAME")			$arSqlOrder[] = " BE.NAME ".$order." ";
			elseif ($by == "STATUS")		$arSqlOrder[] = " BE.WF_STATUS_ID ".$order." ";
			elseif ($by == "MODIFIED_BY")	$arSqlOrder[] = " BE.MODIFIED_BY ".$order." ";
			elseif ($by == "ACTIVE")		$arSqlOrder[] = " BE.ACTIVE ".$order." ";
			elseif ($by == "ACTIVE_FROM")	$arSqlOrder[] = " BE.ACTIVE_FROM ".$order." ";
			elseif ($by == "ACTIVE_TO")	$arSqlOrder[] = " BE.ACTIVE_TO ".$order." ";
			elseif ($by == "SORT")			$arSqlOrder[] = " BE.SORT ".$order." ";
			elseif (substr($by, 0, 5) == "PRICE" && intval(substr($by, 5))<=$maxInd)
			{
				$indx = intval(substr($by, 5));
				$arSqlOrder[] = " P".$indx.".PRICE ".$order." ";
			}
			elseif (substr($by, 0, 8) == "CURRENCY" && intval(substr($by, 8))<=$maxInd)
			{
				$indx = intval(substr($by, 8));
				$arSqlOrder[] = " P".$indx.".CURRENCY ".$order." ";
			}
			else
			{
				$arSqlOrder[] = " BE.ID ".$order." ";
				$by = "ID";
			}
		}

		$strSqlOrder = "";
		DelDuplicateSort($arSqlOrder);
		for ($i = 0, $intCount = count($arSqlOrder); $i < $intCount; $i++)
		{
			if($i==0)
				$strSqlOrder = " ORDER BY ";
			else
				$strSqlOrder .= ",";

			$strSqlOrder .= $arSqlOrder[$i];
		}
		$strSql .= $strSqlOrder;
		$res = $DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);

		return $res;
	}
Exemplo n.º 30
0
	{
		$xOfferListNode = $offerlists[$i];

		$IBLOCK_XML_ID = $xOfferListNode->GetAttribute($nameUTF['CatalogID']);
		$OFFER_LIST_DESC = $xOfferListNode->GetAttribute($nameUTF['Description']);
		$OFFER_LIST_CURRENCY = $arCurrencies[$xOfferListNode->GetAttribute($nameUTF['Currency'])];
		if (strlen($OFFER_LIST_CURRENCY)<=0)
			$OFFER_LIST_CURRENCY = "USD";

		//detect "price type" property
		$props = $xOfferListNode->select_nodes("/".$nameUTF['PropertyValue']);
		if (!is_object($props[0]))
			continue;

		$PRICE_TYPE = $props[0]->GetAttribute($nameUTF['Value']);
		$res = CCatalogGroup::GetList(array(), array("NAME"=>$PRICE_TYPE));
		if ($arr = $res->Fetch())
			$PRICE_ID = $arr["ID"];
		else
			$PRICE_ID = CCatalogGroup::Add(
					Array(
						"NAME"=>$PRICE_TYPE,
						"USER_LANG"=>Array("ru"=>$PRICE_TYPE)
					)
				);

		$arProducts = $arCatalogsParams[$IBLOCK_XML_ID]["arProducts"];

		$arOffers = array();
		$offers = $xOfferListNode->select_nodes("/".$nameUTF['Offer']);