Example #1
0
 public static function getSelectedPriceTypeId()
 {
     if (is_null(self::$selectedPriceTypeId)) {
         $priceTypeId = intval(COption::GetOptionInt('crm', 'selected_catalog_group_id', 0));
         if ($priceTypeId < 1) {
             $arBaseCatalogGroup = CCatalogGroup::GetBaseGroup();
             $priceTypeId = intval($arBaseCatalogGroup['ID']);
         }
         self::$selectedPriceTypeId = $priceTypeId;
     }
     return self::$selectedPriceTypeId;
 }
Example #2
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;
 }
Example #4
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;
 }
Example #5
0
 private static function getCatalogPrices()
 {
     if (!isset(self::$catalogPriceCache)) {
         self::$catalogPriceCache = array();
         if (self::$catalogIncluded === null) {
             self::$catalogIncluded = Loader::includeModule('catalog');
         }
         if (self::$catalogIncluded) {
             $rsPrice = CCatalogGroup::GetListEx(array("SORT" => "ASC"), array(), false, false, array("ID", "NAME"));
             while ($price = $rsPrice->Fetch()) {
                 self::$catalogPriceCache[] = $price;
             }
         }
     }
     return self::$catalogPriceCache;
 }
/**
 * @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;
}
Example #7
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);
    }
}
Example #8
0
 public static function GetCatalogPrices($IBLOCK_ID, $arPriceCode)
 {
     global $USER;
     $arCatalogPrices = array();
     if (self::$catalogIncluded === null) {
         self::$catalogIncluded = Loader::includeModule('catalog');
     }
     if (self::$catalogIncluded) {
         $arCatalogGroupCodesFilter = array();
         foreach ($arPriceCode as $value) {
             $t_value = trim($value);
             if ('' != $t_value) {
                 $arCatalogGroupCodesFilter[$value] = true;
             }
         }
         $arCatalogGroupsFilter = array();
         $arCatalogGroups = CCatalogGroup::GetListArray();
         foreach ($arCatalogGroups as $key => $value) {
             if (isset($arCatalogGroupCodesFilter[$value['NAME']])) {
                 $arCatalogGroupsFilter[] = $key;
                 $arCatalogPrices[$value["NAME"]] = array("ID" => (int) $value["ID"], "TITLE" => htmlspecialcharsbx($value["NAME_LANG"]), "SELECT" => "CATALOG_GROUP_" . $value["ID"]);
             }
         }
         $arPriceGroups = CCatalogGroup::GetGroupsPerms($USER->GetUserGroupArray(), $arCatalogGroupsFilter);
         foreach ($arCatalogPrices as $name => $value) {
             $arCatalogPrices[$name]["CAN_VIEW"] = in_array($value["ID"], $arPriceGroups["view"]);
             $arCatalogPrices[$name]["CAN_BUY"] = in_array($value["ID"], $arPriceGroups["buy"]);
         }
     } else {
         $arPriceGroups = array("view" => array());
         $rsProperties = CIBlockProperty::GetList(array(), array("IBLOCK_ID" => $IBLOCK_ID, "CHECK_PERMISSIONS" => "N", "PROPERTY_TYPE" => "N", "MULTIPLE" => "N"));
         while ($arProperty = $rsProperties->Fetch()) {
             if (in_array($arProperty["CODE"], $arPriceCode)) {
                 $arPriceGroups["view"][] = htmlspecialcharsbx("PROPERTY_" . $arProperty["CODE"]);
                 $arCatalogPrices[$arProperty["CODE"]] = array("ID" => (int) $arProperty["ID"], "TITLE" => htmlspecialcharsbx($arProperty["NAME"]), "SELECT" => "PROPERTY_" . $arProperty["ID"], "CAN_VIEW" => true, "CAN_BUY" => false);
             }
         }
     }
     return $arCatalogPrices;
 }
 function GetCatalogPrices($IBLOCK_ID, $arPriceCode)
 {
     global $USER;
     $arCatalogPrices = array();
     if (CModule::IncludeModule("catalog")) {
         $bFromCatalog = true;
         $arCatalogGroupCodesFilter = array();
         foreach ($arPriceCode as $key => $value) {
             $t_value = trim($value);
             if (strlen($t_value) > 0) {
                 $arCatalogGroupCodesFilter[$value] = true;
             }
         }
         $arCatalogGroupsFilter = array();
         $arCatalogGroups = CCatalogGroup::GetListArray();
         foreach ($arCatalogGroups as $key => $value) {
             if (array_key_exists($value["NAME"], $arCatalogGroupCodesFilter)) {
                 $arCatalogGroupsFilter[] = $key;
                 $arCatalogPrices[$value["NAME"]] = array("ID" => htmlspecialcharsbx($value["ID"]), "TITLE" => htmlspecialcharsbx($value["NAME_LANG"]), "SELECT" => "CATALOG_GROUP_" . $value["ID"]);
             }
         }
         $arPriceGroups = CCatalogGroup::GetGroupsPerms($USER->GetUserGroupArray(), $arCatalogGroupsFilter);
         foreach ($arCatalogPrices as $name => $value) {
             $arCatalogPrices[$name]["CAN_VIEW"] = in_array($value["ID"], $arPriceGroups["view"]);
             $arCatalogPrices[$name]["CAN_BUY"] = in_array($value["ID"], $arPriceGroups["buy"]);
         }
     } else {
         $bFromCatalog = false;
         $arPriceGroups = array("view" => array());
         $rsProperties = CIBlockProperty::GetList(array(), array("IBLOCK_ID" => $IBLOCK_ID, "CHECK_PERMISSIONS" => "N", "PROPERTY_TYPE" => "N"));
         while ($arProperty = $rsProperties->Fetch()) {
             if ($arProperty["MULTIPLE"] == "N" && in_array($arProperty["CODE"], $arPriceCode)) {
                 $arPriceGroups["view"][] = htmlspecialcharsbx("PROPERTY_" . $arProperty["CODE"]);
                 $arCatalogPrices[$arProperty["CODE"]] = array("ID" => htmlspecialcharsbx($arProperty["ID"]), "TITLE" => htmlspecialcharsbx($arProperty["NAME"]), "SELECT" => "PROPERTY_" . $arProperty["ID"], "CAN_VIEW" => true, "CAN_BUY" => false);
             }
         }
     }
     return $arCatalogPrices;
 }
Example #10
0
	function ReCountFromBase(&$arFields, &$boolBase)
	{
		$arBaseGroup = CCatalogGroup::GetBaseGroup();
		if (!empty($arBaseGroup))
		{
			if ($arFields['CATALOG_GROUP_ID'] == $arBaseGroup['ID'])
			{
				$boolBase = true;
			}
			else
			{
				if (!empty($arFields['EXTRA_ID']) && intval($arFields['EXTRA_ID']) > 0)
				{
					$arExtra = CExtra::GetByID($arFields['EXTRA_ID']);
					if (!empty($arExtra))
					{
						$arFilter = array('PRODUCT_ID' => $arFields['PRODUCT_ID'],'CATALOG_GROUP_ID' => $arBaseGroup['ID']);
						if (isset($arFields['QUANTITY_FROM']))
							$arFilter['QUANTITY_FROM'] = $arFields['QUANTITY_FROM'];
						if (isset($arFields['QUANTITY_TO']))
							$arFilter['QUANTITY_TO'] = $arFields['QUANTITY_TO'];
						$rsBasePrices = CPrice::GetListEx(
							array("QUANTITY_FROM" => "ASC", "QUANTITY_TO" => "ASC"),
							$arFilter,
							false,
							array('nTopCount' => 1),
							array('PRICE','CURRENCY')
						);
						if ($arBasePrice = $rsBasePrices->Fetch())
						{
							$arFields['CURRENCY'] = $arBasePrice['CURRENCY'];
							$arFields['PRICE'] = RoundEx($arBasePrice["PRICE"] * (1 + DoubleVal($arExtra["PERCENTAGE"])/100), CATALOG_VALUE_PRECISION);
						}
						else
						{
							$arFields['EXTRA_ID'] = 0;
						}
					}
					else
					{
						$arFields['EXTRA_ID'] = 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 
        }
        ?>
Example #12
0
	if ($strUseStoreControl == "Y")
	{
		$arHeader[] = array(
			"id" => "CATALOG_BAR_CODE",
			"content" => GetMessage("IBLIST_A_CATALOG_BAR_CODE"),
			"title" => "",
			"align" => "right",
			"default" => false,
		);
	}

	$arCatGroup = array();
	$dbCatalogGroups = CCatalogGroup::GetListEx(
			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"]),
			"align" => "right",
			"sort" => "CATALOG_PRICE_".$arCatalogGroup["ID"],
		);
		$arCatGroup[$arCatalogGroup["ID"]] = $arCatalogGroup;
	}
	$arCatExtra = array();
	$db_extras = CExtra::GetList(array("NAME" =>"ASC"));
Example #13
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 
Example #14
0
 protected function getPrices()
 {
     if ($this->arPrices === null) {
         $this->arPrices = array();
         $rsPrice = \CCatalogGroup::GetListEx(array("SORT" => "ASC"), array(), false, false, array("ID", "NAME", "NAME_LANG", "BASE"));
         while ($price = $rsPrice->Fetch()) {
             $this->arPrices[] = $price;
         }
     }
     return $this->arPrices;
 }
 public static function init()
 {
     IncludeModuleLangFile(__FILE__);
     if (!self::$fInit) {
         self::$fInit = true;
         self::$siteCookieId = md5('SALE_REPORT_SITE_ID');
         // Initializing list of sites.
         $result = Bitrix\Main\SiteTable::getList(array('select' => array('LID', 'DEF', 'NAME')));
         $i = 0;
         while ($row = $result->fetch()) {
             self::$sitelist[$row['LID']] = $row['NAME'];
             if (++$i === 1) {
                 self::$defaultSiteId = $row['LID'];
             } else {
                 if ($row['DEF'] === 'Y') {
                     self::$defaultSiteId = $row['LID'];
                 }
             }
             self::$weightOptions[$row['LID']] = array('unit' => COption::GetOptionString('sale', 'weight_unit', null, $row['LID']), 'koef' => COption::GetOptionInt('sale', 'weight_koef', null, $row['LID']));
         }
         unset($i, $row, $result);
         // hack, add virtual ID field into StatusLang entity for filtering
         $statusEntity = Entity\Base::getInstance('\\Bitrix\\Sale\\Internals\\StatusLang');
         if ($statusEntity instanceof \Bitrix\Main\Entity\Base) {
             $statusEntity->addField(array('data_type' => 'string', 'expression' => array('%s', 'STATUS_ID')), 'ID');
         }
         unset($statusEntity);
         // hack, add virtual REPS_ORDER field into Shipment entity for filtering system records
         $shipmentEntity = Entity\Base::getInstance('\\Bitrix\\Sale\\Internals\\Shipment');
         if ($shipmentEntity instanceof \Bitrix\Main\Entity\Base) {
             $shipmentEntity->addField(array('data_type' => 'Order', 'reference' => array('=ref.ID' => 'this.ORDER_ID', '!=this.SYSTEM' => array('?', 'Y'))), 'REPS_ORDER');
         }
         unset($shipmentEntity);
         // Initializing list of statuses of orders.
         $result = Bitrix\Sale\Internals\StatusLangTable::getList(array('select' => array('STATUS_ID', 'NAME'), 'filter' => array('=LID' => LANGUAGE_ID)));
         while ($row = $result->fetch()) {
             self::$statuslist[$row['STATUS_ID']] = $row['NAME'];
         }
         unset($row, $result);
         self::$genders = array('M' => GetMessage('USER_MALE'), 'F' => GetMessage('USER_FEMALE'));
         // Initializing list of person types.
         $result = Bitrix\Sale\Internals\PersonTypeTable::getList(array('select' => array('ID', 'LID', 'NAME')));
         while ($row = $result->fetch()) {
             self::$personTypes[$row['ID']] = array('LID' => $row['LID'], 'NAME' => $row['NAME']);
         }
         unset($row, $result);
         // Initializing list of pay systems of orders.
         $result = Bitrix\Sale\PaySystemTable::getList(array('select' => array('ID', 'LID', 'NAME')));
         while ($row = $result->fetch()) {
             self::$paySystemList[$row['ID']] = array('value' => $row['NAME'], 'site_id' => $row['LID']);
         }
         unset($row, $result);
         // Initializing list of services and methods of delivery.
         $result = \Bitrix\Sale\Delivery\Services\Table::getList(array('select' => array('ID', 'NAME')));
         while ($row = $result->fetch()) {
             self::$deliveryList[$row['ID']] = array('value' => $row['NAME'], 'site_id' => '');
         }
         unset($row, $result);
         // Obtaining table of correspondences of iblocks to sites.
         $result = Bitrix\Iblock\IblockSiteTable::getList();
         while ($row = $result->fetch()) {
             self::$iblockSite[$row['SITE_ID']][] = $row['IBLOCK_ID'];
         }
         unset($row, $result);
         // Obtaining the list of iblocks which are directories and filling
         // a property $catalogSections with sections of these units.
         $ent = new CCatalog();
         $result = $ent->GetList();
         while ($ibRow = $result->Fetch()) {
             // Obtaining list of sections of the catalog.
             self::$catalogs[] = $ibRow;
             $path = array();
             $curLevel = $prevLevel = 0;
             $sections = CIBlockSection::GetTreeList(array('=IBLOCK_ID' => $ibRow['IBLOCK_ID']));
             $row = null;
             while ($row = $sections->GetNext()) {
                 // Formation of an array of identifiers of current and parent sections.
                 $curLevel = $row['DEPTH_LEVEL'];
                 for ($i = 0; $i <= $prevLevel - $curLevel; $i++) {
                     array_pop($path);
                 }
                 array_push($path, $row['ID']);
                 $prevLevel = $curLevel;
                 self::$catalogSections[$row['ID']] = array('name' => ltrim(str_repeat(' . ', $curLevel) . $row['NAME']), 'path' => $path, 'catalog' => array('ID' => $ibRow['ID'], 'NAME' => $ibRow['NAME']));
             }
         }
         unset($ent, $ibRow, $row, $sections, $result);
         // Initialization of the list of warehouses.
         $result = Bitrix\Catalog\StoreTable::getList(array('select' => array('ID', 'TITLE')));
         while ($row = $result->fetch()) {
             self::$productStores[$row['ID']] = $row['TITLE'];
         }
         unset($row, $result);
         // Getting currencies
         $obj = new CCurrency();
         $by = '';
         $order = '';
         $result = $obj->GetList($by, $order, LANGUAGE_ID);
         while ($row = $result->Fetch()) {
             self::$currencies[$row['CURRENCY']] = array('name' => $row['FULL_NAME']);
         }
         unset($row, $result, $obj, $by, $order);
         // Getting types of prices
         $obj = new CCatalogGroup();
         $result = $obj->GetListEx(array('SORT'), array(), false, false, array('ID', 'NAME', 'BASE', 'NAME_LANG'));
         while ($row = $result->Fetch()) {
             self::$priceTypes[$row['ID']] = array('name' => empty($row['NAME_LANG']) ? $row['NAME'] : $row['NAME_LANG'], 'base' => $row['BASE'] === 'Y' ? true : false);
         }
         unset($row, $result, $obj);
         // Getting option, which means, it is necessary to display a fractional quantity of goods of no.
         self::$fDecimalQuant = COption::GetOptionString('sale', 'QUANTITY_FACTORIAL') == 'Y';
         self::initOwners();
     }
 }
Example #16
0
                 $arSections[] = IntVal($value);
             }
         }
     }
     if (!$bAllSections && empty($arSections)) {
         $strExportErrorMessage .= "Section list is not set.\n";
     }
 }
 if (strlen($strExportErrorMessage) <= 0) {
     $arFilter = array("IBLOCK_ID" => $IBLOCK_ID, "ACTIVE_DATE" => "Y", "ACTIVE" => "Y", 'CHECK_PERMISSIONS' => 'N');
     if (!$bAllSections) {
         $arFilter["INCLUDE_SUBSECTIONS"] = "Y";
         $arFilter["SECTION_ID"] = $arSections;
     }
     $arSelect = array("ID", "IBLOCK_ID", "IBLOCK_SECTION_ID", "NAME", "PREVIEW_PICTURE", "PREVIEW_TEXT", "PREVIEW_TEXT_TYPE", "DETAIL_PICTURE", "LANG_DIR", "DETAIL_PAGE_URL", "EXTERNAL_ID");
     $db_res = CCatalogGroup::GetGroupsList(array("GROUP_ID" => 2));
     $arPTypes = array();
     while ($ar_res = $db_res->Fetch()) {
         if (!in_array($ar_res["CATALOG_GROUP_ID"], $arPTypes)) {
             $arPTypes[] = $ar_res["CATALOG_GROUP_ID"];
             $arSelect[] = "CATALOG_GROUP_" . $ar_res["CATALOG_GROUP_ID"];
         }
     }
     $arSectionPaths = array();
 }
 if (strlen($SETUP_FILE_NAME) <= 0) {
     $strExportErrorMessage .= GetMessage("CATI_NO_SAVE_FILE") . "<br>";
 } elseif (preg_match(BX_CATALOG_FILENAME_REG, $SETUP_FILE_NAME)) {
     $strExportErrorMessage .= GetMessage("CES_ERROR_BAD_EXPORT_FILENAME") . "<br>";
 }
 if (strlen($strExportErrorMessage) <= 0) {
<?php

IncludeModuleLangFile(__FILE__);
$profileTypes['avito_commercereal'] = array("CODE" => 'avito_commercereal', "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_NAME"), "DESCRIPTION" => GetMessage("ACRIT_EXPORTPRO_PODDERJIVAETSA_ANDEK"), "REG" => "http://market.yandex.ru/", "HELP" => "http://help.yandex.ru/partnermarket/export/feed.xml", "FIELDS" => array(array("CODE" => "Id", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_ID"), "VALUE" => "ID", "REQUIRED" => 'Y', "TYPE" => 'field'), array("CODE" => "Category", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_CATEGORY"), "REQUIRED" => 'Y', "TYPE" => 'const', "CONTVALUE_TRUE" => GetMessage('ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_CATEGORY_VALUE')), array("CODE" => "DateBegin", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_DATEBEGIN")), array("CODE" => "DateEnd", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_DATEEND")), array("CODE" => "OperationType", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_OPERATIONTYPE"), "REQUIRED" => 'Y'), array("CODE" => "BuildingClass", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_BUILDINGCLASS")), array("CODE" => "BusinessForSale", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_BUSINESSFORSALE")), array("CODE" => "Region", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_REGION")), array("CODE" => "City", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_CITY"), "REQUIRED" => 'Y'), array("CODE" => "Locality", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_LOCALITY")), array("CODE" => "Street", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_STREET")), array("CODE" => "ObjectType", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_OBJECTTYPE"), "REQUIRED" => 'Y'), array("CODE" => "Square", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_SQUARE"), "REQUIRED" => 'Y'), array("CODE" => "Subway", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_SUBWAY")), array("CODE" => "Description", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_DESCRIPTION")), array("CODE" => "Price", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_PRICE"), "TYPE" => "const", "CONTVALUE_TRUE" => "0"), array("CODE" => "ContactPhone", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_CONTACTPHONE")), array("CODE" => "AdStatus", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_ADSTATUS")), array("CODE" => "Image", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_IMAGE"))), "FORMAT" => '<?xml version="1.0"?>
<Ads target="Avito.ru" formatVersion="1">
    #ITEMS#
</Ads>', "DATEFORMAT" => "Y-m-d");
$bCatalog = false;
if (CModule::IncludeModule("catalog")) {
    $arBasePrice = CCatalogGroup::GetBaseGroup();
    $basePriceCode = "CATALOG-PRICE_" . $arBasePrice["ID"];
    $basePriceCodeWithDiscount = "CATALOG-PRICE_" . $arBasePrice["ID"] . "_WD";
    $bCatalog = true;
    $profileTypes['avito_commercereal']["FIELDS"][15] = array("CODE" => "Price", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_PRICE"), "TYPE" => "field", "VALUE" => $basePriceCode);
}
$profileTypes['avito_commercereal']['PORTAL_REQUIREMENTS'] = GetMessage('ACRIT_EXPORTPRO_TYPE_AVITO_COMMERCEREAL_PORTAL_REQUIREMENTS');
$profileTypes['avito_commercereal']['EXAMPLE'] = GetMessage('ACRIT_EXPORTPRO_TYPE_AVITO_COMMERCEREAL_EXAMPLE');
$profileTypes['avito_commercereal']['CURRENCIES'] = "";
$profileTypes['avito_commercereal']['SECTIONS'] = "";
$profileTypes['avito_commercereal']['ITEMS_FORMAT'] = "\n<Ad>\n    <Id>#Id#</Id>\n    <Category>#Category#</Category>\n    <DateBegin>#DateBegin#</DateBegin>\n    <DateEnd>#DateEnd#</DateEnd>\n    <OperationType>#OperationType#</OperationType>\n    <BuildingClass>#BuildingClass#</BuildingClass>\n    <BusinessForSale>#BusinessForSale#</BusinessForSale>\n    <Region>#Region#</Region>\n    <City>#City#</City>\n    <Locality>#Locality#</Locality>\n    <Street>#Street#</Street>\n    <Square>#Square#</Square>\n    <ObjectType>#ObjectType#</ObjectType>\n    <Subway>#Subway#</Subway>\n    <Description>#Description#</Description>\n    <Price>#Price#</Price>\n    <ContactPhone>#ContactPhone#</ContactPhone>\n    <AdStatus>#AdStatus#</AdStatus>\n    <Images>\n        <Image url=\"#SITE_URL##Image#\"></Image>\n    </Images>\n</Ad>\n";
$profileTypes['avito_commercereal']['LOCATION'] = array('avito' => array('name' => GetMessage("ACRIT_EXPORTPRO_AVITO"), 'sub' => array()));
	'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'),
Example #19
0
 $boolSep = true;
 $priceQuantityFields = CCatalogCSVSettings::getSettingsFields(CCatalogCSVSettings::FIELDS_PRICE_EXT, true);
 foreach ($allowedPriceQuantityFields as &$fieldName) {
     if (isset($priceQuantityFields[$fieldName])) {
         $arAvailFields[$intCount] = $priceQuantityFields[$fieldName];
         $arAvailFields[$intCount]['sort'] = ($intCount + 1) * 10;
         if ($boolSep) {
             $arAvailFields[$intCount]['SEP'] = GetMessage('CAT_ADM_CSV_EXP_SEP_PRICES');
             $boolSep = false;
         }
         $intCount++;
     }
 }
 unset($fieldName, $priceQuantityFields);
 $priceFields = CCatalogCSVSettings::getSettingsFields(CCatalogCSVSettings::FIELDS_PRICE, true);
 $rsPriceTypes = CCatalogGroup::GetListEx(array('SORT' => 'ASC', 'ID' => 'ASC'), array(), false, false, array('ID', 'NAME', 'NAME_LANG'));
 while ($priceType = $rsPriceTypes->Fetch()) {
     $priceType['NAME_LANG'] = (string) $priceType['NAME_LANG'];
     foreach ($allowedPriceFields as &$fieldName) {
         if (isset($priceFields[$fieldName])) {
             $priceName = $priceType['NAME_LANG'] !== '' ? str_replace(array('#TYPE#', '#NAME#'), array($priceType['NAME'], $priceType['NAME_LANG']), GetMessage('EST_PRICE_TYPE2')) : str_replace("#TYPE#", $priceType['NAME'], GetMessage('EST_PRICE_TYPE'));
             $arAvailFields[$intCount] = $priceFields[$fieldName];
             $arAvailFields[$intCount]['value'] .= '_' . $priceType['ID'];
             $arAvailFields[$intCount]['name'] = $priceName . ': ' . $arAvailFields[$intCount]['name'];
             $arAvailFields[$intCount]['sort'] = ($intCount + 1) * 10;
             if ($boolSep) {
                 $arAvailFields[$intCount]['SEP'] = GetMessage('CAT_ADM_CSV_EXP_SEP_PRICES');
                 $boolSep = false;
             }
             $intCount++;
         }
Example #20
0
	}
}

$arSort = CIBlockParameters::GetElementSortFields(
	array('SHOWS', 'SORT', 'TIMESTAMP_X', 'NAME', 'ID', 'ACTIVE_FROM', 'ACTIVE_TO'),
	array('KEY_LOWERCASE' => 'Y')
);

$arPrice = array();
if ($boolCatalog)
{
	$arSort = array_merge($arSort, CCatalogIBlockParameters::GetCatalogSortFields());
	$rsPrice=CCatalogGroup::GetListEx(
		array("SORT" => "ASC"),
		array(),
		false,
		false,
		array('ID', 'NAME', 'NAME_LANG')
	);
	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"),
);
Example #21
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");
         }
     }
 }
Example #22
0
	public static function GetInheritedPropertyTemplateElementMenuItems($iblock_id, $action_function, $menuID, $inputID = "")
	{
		$result = array();
		$result["this"] = array(
			"TEXT" => GetMessage("IB_COMPLIB_POPUP_ELEMENT"),
			"MENU" => array(
				array(
					"TEXT" => GetMessage("IB_COMPLIB_POPUP_ELEMENT_NAME"),
					"ONCLICK" => "$action_function('{=this.Name}', '$menuID', '$inputID')",
				),
				array(
					"TEXT" => GetMessage("IB_COMPLIB_POPUP_ELEMENT_LOWER_NAME"),
					"ONCLICK" => "$action_function('{=lower this.Name}', '$menuID', '$inputID')",
				),
				array(
					"TEXT" => GetMessage("IB_COMPLIB_POPUP_ELEMENT_CODE"),
					"ONCLICK" => "$action_function('{=this.Code}', '$menuID', '$inputID')",
				),
				array(
					"TEXT" => GetMessage("IB_COMPLIB_POPUP_ELEMENT_PREVIEW_TEXT"),
					"ONCLICK" => "$action_function('{=this.PreviewText}', '$menuID', '$inputID')",
				),
				array(
					"TEXT" => GetMessage("IB_COMPLIB_POPUP_ELEMENT_DETAIL_TEXT"),
					"ONCLICK" => "$action_function('{=this.DetailText}', '$menuID', '$inputID')",
				),
			),
		);
		if ($iblock_id > 0)
		{
			$result["properties"] = array(
				"TEXT" => GetMessage("IB_COMPLIB_POPUP_PROPERTIES"),
				"MENU" => array(
				),
			);
			$rsProperty = CIBlockProperty::GetList(array(), array("IBLOCK_ID" => $iblock_id));
			while($property = $rsProperty->fetch())
			{
				if ($property["PROPERTY_TYPE"] != "F")
				{
					$result["properties"]["MENU"][] = array(
						"TEXT" => $property["NAME"],
						"ONCLICK" => "$action_function('{=this.property.".($property["CODE"]!=""? $property["CODE"]: $property["ID"])."}', '$menuID', '$inputID')",
					);
				}
			}
		}
		$result["parent"] = array(
			"TEXT" => GetMessage("IB_COMPLIB_POPUP_PARENT"),
			"MENU" => array(
				array(
					"TEXT" => GetMessage("IB_COMPLIB_POPUP_PARENT_NAME"),
					"ONCLICK" => "$action_function('{=parent.Name}', '$menuID', '$inputID')",
				),
				array(
					"TEXT" => GetMessage("IB_COMPLIB_POPUP_PARENT_CODE"),
					"ONCLICK" => "$action_function('{=parent.Code}', '$menuID', '$inputID')",
				),
				array(
					"TEXT" => GetMessage("IB_COMPLIB_POPUP_PARENT_TEXT"),
					"ONCLICK" => "$action_function('{=parent.PreviewText}', '$menuID', '$inputID')",
				),
			),
		);
		$result["iblock"] = array(
			"TEXT" => GetMessage("IB_COMPLIB_POPUP_IBLOCK"),
			"MENU" => array(
				array(
					"TEXT" => GetMessage("IB_COMPLIB_POPUP_IBLOCK_NAME"),
					"ONCLICK" => "$action_function('{=iblock.Name}', '$menuID', '$inputID')",
				),
				array(
					"TEXT" => GetMessage("IB_COMPLIB_POPUP_IBLOCK_CODE"),
					"ONCLICK" => "$action_function('{=iblock.Code}', '$menuID', '$inputID')",
				),
				array(
					"TEXT" => GetMessage("IB_COMPLIB_POPUP_IBLOCK_TEXT"),
					"ONCLICK" => "$action_function('{=iblock.PreviewText}', '$menuID', '$inputID')",
				),
			),
		);
		if (\Freetrix\Main\Loader::includeModule('catalog'))
		{
			$arCatalog = \CCatalogSKU::GetInfoByProductIBlock($iblock_id);
			if (is_array($arCatalog))
			{
				$result["sku_properties"] = array(
					"TEXT" => GetMessage("IB_COMPLIB_POPUP_SKU_PROPERTIES"),
					"MENU" => array(
					),
				);
				$rsProperty = CIBlockProperty::GetList(array(), array("IBLOCK_ID" => $arCatalog["IBLOCK_ID"]));
				while($property = $rsProperty->fetch())
				{
					if ($property["PROPERTY_TYPE"] != "F")
					{
						$result["sku_properties"]["MENU"][] = array(
							"TEXT" => $property["NAME"],
							"ONCLICK" => "$action_function('{=concat {=distinct this.catalog.sku.property.".($property["CODE"]!=""? $property["CODE"]: $property["ID"])." \", \"}}', '$menuID', '$inputID')",
						);
					}
				}
				$result["sku_price"] = array(
					"TEXT" => GetMessage("IB_COMPLIB_POPUP_SKU_PRICE"),
					"MENU" => array(),
				);
				$rsPrice = CCatalogGroup::GetListEx(array("SORT"=>"ASC"), array(), false, false, array("ID", "NAME"));
				while ($price = $rsPrice->Fetch())
				{
					if (preg_match("/^[a-zA-Z0-9]+\$/", $price["NAME"]))
					{
						$result["sku_price"]["MENU"][] = array(
							"TEXT" => GetMessage("IB_COMPLIB_POPUP_MIN_PRICE")." ".$price["NAME"],
							"ONCLICK" => "$action_function('{=min this.catalog.sku.price.".$price["NAME"]."}', '$menuID', '$inputID')",
						);
						$result["sku_price"]["MENU"][] = array(
							"TEXT" => GetMessage("IB_COMPLIB_POPUP_MAX_PRICE")." ".$price["NAME"],
							"ONCLICK" => "$action_function('{=max this.catalog.sku.price.".$price["NAME"]."}', '$menuID', '$inputID')",
						);
					}
					else
					{
						$result["sku_price"]["MENU"][] = array(
							"TEXT" => GetMessage("IB_COMPLIB_POPUP_MIN_PRICE")." ".$price["NAME"],
							"ONCLICK" => "$action_function('{=min this.catalog.sku.price.".$price["ID"]."}', '$menuID', '$inputID')",
						);
						$result["sku_price"]["MENU"][] = array(
							"TEXT" => GetMessage("IB_COMPLIB_POPUP_MAX_PRICE")." ".$price["NAME"],
							"ONCLICK" => "$action_function('{=max this.catalog.sku.price.".$price["ID"]."}', '$menuID', '$inputID')",
						);
					}
				}
			}

			$result["catalog"] = array(
				"TEXT" => GetMessage("IB_COMPLIB_POPUP_CATALOG"),
				"MENU" => array(
					array(
						"TEXT" => GetMessage("IB_COMPLIB_POPUP_CATALOG_WEIGHT"),
						"ONCLICK" => "$action_function('{=this.catalog.weight}', '$menuID', '$inputID')",
					),
					array(
						"TEXT" => GetMessage("IB_COMPLIB_POPUP_CATALOG_MEASURE"),
						"ONCLICK" => "$action_function('{=this.catalog.measure}', '$menuID', '$inputID')",
					),
				),
			);
			$result["price"] = array(
				"TEXT" => GetMessage("IB_COMPLIB_POPUP_PRICE"),
				"MENU" => array(),
			);
			$rsPrice = CCatalogGroup::GetListEx(array("SORT"=>"ASC"), array(), false, false, array("ID", "NAME"));
			while ($price = $rsPrice->Fetch())
			{
				if (preg_match("/^[a-zA-Z0-9]+\$/", $price["NAME"]))
					$result["price"]["MENU"][] = array(
						"TEXT" => $price["NAME"],
						"ONCLICK" => "$action_function('{=this.catalog.price.".$price["NAME"]."}', '$menuID', '$inputID')",
					);
				else
					$result["price"]["MENU"][] = array(
						"TEXT" => $price["NAME"],
						"ONCLICK" => "$action_function('{=this.catalog.price.".$price["ID"]."}', '$menuID', '$inputID')",
					);
			}
			$result["store"] = array(
				"TEXT" => GetMessage("IB_COMPLIB_POPUP_STORE"),
				"MENU" => array(),
			);
			$rsStore = CCatalogStore::GetList();
			while ($store = $rsStore->Fetch())
			{
				$result["store"]["MENU"][] = array(
					"TEXT" => $store["TITLE"],
					"ONCLICK" => "$action_function('{=catalog.store.".$store["ID"].".name}', '$menuID', '$inputID')",
				);
			}
		}
		$result["misc"] = array(
			"TEXT" => GetMessage("IB_COMPLIB_POPUP_MISC"),
			"MENU" => array(),
		);
		$result["misc"]["MENU"][] =  array(
			"TEXT" => GetMessage("IB_COMPLIB_POPUP_SECTIONS_PATH"),
			"ONCLICK" => "$action_function('{=concat this.sections.name \" / \"}', '$menuID', '$inputID')",
		);
		if (\Freetrix\Main\Loader::includeModule('catalog'))
		{
			$result["misc"]["MENU"][] =  array(
				"TEXT" => GetMessage("IB_COMPLIB_POPUP_STORE_LIST"),
				"ONCLICK" => "$action_function('{=concat catalog.store \", \"}', '$menuID', '$inputID')",
			);
		}
		$r = array();
		foreach($result as $category)
		{
			if (!empty($category) && !empty($category["MENU"]))
			{
				$r[] = $category;
			}
		}
		return $r;
	}
Example #23
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 {
Example #24
0
function cmlEndElement($parser, $name)
{
    global $DB;
    global $currentCatalog, $currentProduct, $currentProperty, $currentOffersList, $currentOffer;
    global $arIBlockCache;
    global $APPLICATION, $nameUTF, $tmpid;
    switch ($name) {
        case $nameUTF["Catalog"]:
            $currentCatalog = false;
            break;
        case $nameUTF["Product"]:
            $currentProduct = false;
            break;
        case $nameUTF["Property"]:
            $currentProperty = false;
            break;
        case $nameUTF["OffersList"]:
            if (!array_key_exists("PRICE_TYPE", $currentOffersList) || strlen($currentOffersList["PRICE_TYPE"]) <= 0) {
                $strSql = "SELECT NAME FROM b_catalog_group WHERE BASE = 'Y'";
                $dbRes = $DB->Query($strSql);
                if ($arRes = $dbRes->Fetch()) {
                    $priceType = $arRes["NAME"];
                    $currentOffersList["PRICE_TYPE"] = $priceType;
                    $strSql = "INSERT INTO b_catalog_cml_oflist_prop (OFFER_LIST_XML_ID, PROPERTY_VALUE) " . "VALUES (" . $currentOffersList["ID"] . ", '" . $DB->ForSql($priceType, 255) . "')";
                    $DB->Query($strSql);
                }
            } else {
                $strSql = "SELECT count(*) as CNT FROM b_catalog_group WHERE NAME = '" . $DB->ForSql($currentOffersList["PRICE_TYPE"]) . "'";
                $dbRes = $DB->Query($strSql);
                if ($arRes = $dbRes->Fetch()) {
                    if (IntVal($arRes["CNT"]) <= 0) {
                        CCatalogGroup::Add(array("NAME" => $currentOffersList["PRICE_TYPE"], "USER_LANG" => array("ru" => $currentOffersList["PRICE_TYPE"])));
                    }
                }
            }
            $currentOffersList = false;
            break;
        case $nameUTF["Offer"]:
            $currentOffer = false;
            break;
    }
}
Example #25
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"],
					);
Example #26
0
										$viewedIterator = \Bitrix\Catalog\CatalogViewedProductTable::getList(array(
											'order' => array("DATE_VISIT" => "DESC"),
											'filter' => array('FUSER_ID' => $arFuserItems["ID"], "SITE_ID" =>$arOrder["LID"] ),
											'select' => array("ID", "FUSER_ID", "DATE_VISIT", "PRODUCT_ID", "LID" => "SITE_ID", "NAME" => "ELEMENT.NAME", "PREVIEW_PICTURE" => "ELEMENT.PREVIEW_PICTURE", "DETAIL_PICTURE" => "ELEMENT.DETAIL_PICTURE" )
										));

										while($viewed = $viewedIterator->fetch())
										{
											$viewed['MODULE'] = 'catalog';
											$arViewed[$viewedCount] = $viewed;
											$arViewedIds[] = $viewed['PRODUCT_ID'];
											$mapViewed[$viewed['PRODUCT_ID']] = $viewedCount;
											$viewedCount++;
										}
										unset($viewedCount);
										$baseGroup = CCatalogGroup::getBaseGroup();
										if (!empty($arViewedIds))
										{
											$priceIterator = CPrice::getList(
												array(),
												array("PRODUCT_ID" => $arViewedIds, 'CATALOG_GROUP_ID' => $baseGroup['ID']), false, false, array("PRODUCT_ID", "PRICE", "CURRENCY"));
											while($productPrice = $priceIterator->fetch() )
											{
												if (isset($mapViewed[$productPrice['PRODUCT_ID']]))
												{
													$key = $mapViewed[$productPrice['PRODUCT_ID']];
													$arViewed[$key]["PRICE"] = $productPrice["PRICE"];
													$arViewed[$key]["CURRENCY"] = $productPrice["CURRENCY"];
												}
											}
										}
Example #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");
 $dbResultList = new CAdminResult($dbResultList, $sTableID);
 $dbResultList->NavStart();
 $lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("sale_prod_search_nav")));
 $balanceTitle = $storeFromId > 0 ? GetMessage("SOPS_BALANCE") : GetMessage("SOPS_BALANCE2");
 $arHeaders = array(array("id" => "ID", "content" => "ID", "sort" => "id", "default" => true), array("id" => "ACTIVE", "content" => GetMessage("SOPS_ACTIVE"), "sort" => "ACTIVE", "default" => true), array("id" => "DETAIL_PICTURE", "default" => true, "content" => GetMessage("SPS_FIELD_DETAIL_PICTURE"), "align" => "center"), array("id" => "NAME", "content" => GetMessage("SPS_NAME"), "sort" => "name", "default" => true), array("id" => "QUANTITY", "content" => GetMessage("SOPS_QUANTITY"), "default" => true), array("id" => "BALANCE", "content" => $balanceTitle, "sort" => "", "default" => true, "align" => "right"));
 $arHeaders[] = array("id" => "CODE", "content" => GetMessage("SPS_FIELD_CODE"), "sort" => "code");
 $arHeaders[] = array("id" => "EXTERNAL_ID", "content" => GetMessage("SPS_FIELD_XML_ID"), "sort" => "external_id");
 $arHeaders[] = array("id" => "SHOW_COUNTER", "content" => GetMessage("SPS_FIELD_SHOW_COUNTER"), "sort" => "show_counter", "align" => "right");
 $arHeaders[] = array("id" => "SHOW_COUNTER_START", "content" => GetMessage("SPS_FIELD_SHOW_COUNTER_START"), "sort" => "show_counter_start", "align" => "right");
 $arHeaders[] = array("id" => "PREVIEW_PICTURE", "content" => GetMessage("SPS_FIELD_PREVIEW_PICTURE"), "align" => "right");
 $arHeaders[] = array("id" => "PREVIEW_TEXT", "content" => GetMessage("SPS_FIELD_PREVIEW_TEXT"));
 $arHeaders[] = array("id" => "DETAIL_TEXT", "content" => GetMessage("SPS_FIELD_DETAIL_TEXT"));
 foreach ($arProps as $prop) {
     $arHeaders[] = array("id" => "PROPERTY_" . $prop['ID'], "content" => $prop['NAME'], "align" => $prop["PROPERTY_TYPE"] == 'N' ? "right" : "left", "sort" => $prop["MULTIPLE"] != 'Y' ? "PROPERTY_" . $prop['ID'] : "");
 }
 $rsPrice = CCatalogGroup::GetListEx(array("SORT" => "ASC"), array(), false, false, array("ID", "NAME", "NAME_LANG", "BASE"));
 while ($price = $rsPrice->Fetch()) {
     $arPrices[] = $price;
     $arHeaders[] = array("id" => "PRICE" . $price["ID"], "content" => htmlspecialcharsex(!empty($price["NAME_LANG"]) ? $price["NAME_LANG"] : $price["NAME"]), "default" => $price["BASE"] == 'Y' ? true : false);
 }
 $arHeaders[] = array("id" => "ACT", "content" => GetMessage("SPS_FIELD_ACTION"), "default" => true);
 $lAdmin->AddHeaders($arHeaders);
 $arSelectedFields = $lAdmin->GetVisibleHeaderColumns();
 if (!in_array('ACT', $arSelectedFields)) {
     $arSelectedFields[] = 'ACT';
 }
 $arSelectedProps = array();
 foreach ($arProps as $prop) {
     if ($key = array_search("PROPERTY_" . $prop['ID'], $arSelectedFields)) {
         $arSelectedProps[] = $prop;
         $arSelect[$prop['ID']] = array();
Example #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;
	}
Example #30
0
 function Delete($ID)
 {
     global $DB, $CACHE_MANAGER, $stackCacheManager, $APPLICATION;
     $ID = (int) $ID;
     if ($ID <= 0) {
         return false;
     }
     if ($res = CCatalogGroup::GetByID($ID)) {
         if ($res["BASE"] != "Y") {
             foreach (GetModuleEvents("catalog", "OnBeforeGroupDelete", true) as $arEvent) {
                 if (ExecuteModuleEventEx($arEvent, array($ID)) === false) {
                     return false;
                 }
             }
             foreach (GetModuleEvents("catalog", "OnGroupDelete", true) as $arEvent) {
                 ExecuteModuleEventEx($arEvent, array($ID));
             }
             if (!defined("CATALOG_SKIP_CACHE") || !CATALOG_SKIP_CACHE) {
                 $CACHE_MANAGER->CleanDir("catalog_group");
                 $CACHE_MANAGER->Clean("catalog_group_perms");
             }
             $stackCacheManager->Clear("catalog_GetQueryBuildArrays");
             $stackCacheManager->Clear("catalog_discount");
             $DB->Query("DELETE FROM b_catalog_price WHERE CATALOG_GROUP_ID = " . $ID);
             $DB->Query("DELETE FROM b_catalog_group2group WHERE CATALOG_GROUP_ID = " . $ID);
             $DB->Query("DELETE FROM b_catalog_group_lang WHERE CATALOG_GROUP_ID = " . $ID);
             return $DB->Query("DELETE FROM b_catalog_group WHERE ID = " . $ID, true);
         } else {
             $APPLICATION->ThrowException(GetMessage('BT_MOD_CAT_GROUP_ERR_CANNOT_DELETE_BASE_TYPE'), 'BASE');
         }
     }
     return false;
 }