Your IP : 3.17.162.216


Current Path : /home/bitrix/ext_www/crm.klimatlend.ua/bitrix/modules/catalog/general/
Upload File :
Current File : /home/bitrix/ext_www/crm.klimatlend.ua/bitrix/modules/catalog/general/csv_settings.php

<?
use Bitrix\Main\Localization\Loc;

Loc::loadMessages(__FILE__);

class CCatalogCSVSettings
{
	const FIELDS_ELEMENT = 'ELEMENT';
	const FIELDS_CATALOG = 'CATALOG';
	const FIELDS_PRICE = 'PRICE';
	const FIELDS_PRICE_EXT = 'PRICE_EXT';
	const FIELDS_SECTION = 'SECTION';
	const FIELDS_CURRENCY = 'CURRENCY';

	public static function getSettingsFields($type, $extFormat = false)
	{
		$extFormat = ($extFormat === true);
		$result = array();
		$type = (string)$type;
		if ($type !== '')
		{
			switch ($type)
			{
			case self::FIELDS_ELEMENT:
				$result = array(
					'IE_XML_ID' => array(
						'value' => 'IE_XML_ID',
						'field' => 'XML_ID',
						'important' => 'Y',
						'name' => Loc::getMessage('CATI_FI_UNIXML_EXT').' (B_IBLOCK_ELEMENT.XML_ID)'
					),
					'IE_NAME' => array(
						'value' => 'IE_NAME',
						'field' => 'NAME',
						'important' => 'Y',
						'name' => Loc::getMessage('CATI_FI_NAME').' (B_IBLOCK_ELEMENT.NAME)'
					),
					'IE_ACTIVE' => array(
						'value' => 'IE_ACTIVE',
						'field' => 'ACTIVE',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_ACTIV').' (B_IBLOCK_ELEMENT.ACTIVE)'
					),
					'IE_ACTIVE_FROM' => array(
						'value' => 'IE_ACTIVE_FROM',
						'field' => 'ACTIVE_FROM',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_ACTIVFROM').' (B_IBLOCK_ELEMENT.ACTIVE_FROM)'
					),
					'IE_ACTIVE_TO' => array(
						'value' => 'IE_ACTIVE_TO',
						'field' => 'ACTIVE_TO',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_ACTIVTO').' (B_IBLOCK_ELEMENT.ACTIVE_TO)'
					),
					'IE_SORT' => array(
						'value' => 'IE_SORT',
						'field' => 'SORT',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_SORT_EXT').' (B_IBLOCK_ELEMENT.SORT)'
					),
					'IE_PREVIEW_PICTURE' => array(
						'value' => 'IE_PREVIEW_PICTURE',
						'field' => 'PREVIEW_PICTURE',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_CATIMG_EXT').' (B_IBLOCK_ELEMENT.PREVIEW_PICTURE)'
					),
					'IE_PREVIEW_TEXT' => array(
						'value' => 'IE_PREVIEW_TEXT',
						'field' => 'PREVIEW_TEXT',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_CATDESCR_EXT').' (B_IBLOCK_ELEMENT.PREVIEW_TEXT)'
					),
					'IE_PREVIEW_TEXT_TYPE' => array(
						'value' => 'IE_PREVIEW_TEXT_TYPE',
						'field' => 'PREVIEW_TEXT_TYPE',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_CATDESCRTYPE_EXT').' (B_IBLOCK_ELEMENT.PREVIEW_TEXT_TYPE)'
					),
					'IE_DETAIL_PICTURE' => array(
						'value' => 'IE_DETAIL_PICTURE',
						'field' => 'DETAIL_PICTURE',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_DETIMG_EXT').' (B_IBLOCK_ELEMENT.DETAIL_PICTURE)'
					),
					'IE_DETAIL_TEXT' => array(
						'value' => 'IE_DETAIL_TEXT',
						'field' => 'DETAIL_TEXT',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_DETDESCR_EXT').' (B_IBLOCK_ELEMENT.DETAIL_TEXT)'
					),
					'IE_DETAIL_TEXT_TYPE' => array(
						'value' => 'IE_DETAIL_TEXT_TYPE',
						'field' => 'DETAIL_TEXT_TYPE',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_DETDESCRTYPE_EXT').' (B_IBLOCK_ELEMENT.DETAIL_TEXT_TYPE)'
					),
					'IE_CODE' => array(
						'value' => 'IE_CODE',
						'field' => 'CODE',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_CODE_EXT').' (B_IBLOCK_ELEMENT.CODE)'
					),
					'IE_TAGS' => array(
						'value' => 'IE_TAGS',
						'field' => 'TAGS',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_TAGS').' (B_IBLOCK_ELEMENT.TAGS)'
					),
					'IE_ID' => array(
						'value' => 'IE_ID',
						'field' => 'ID',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_ID').' (B_IBLOCK_ELEMENT.ID)'
					)
				);
				break;
			case self::FIELDS_CATALOG:
				$result = array(
					'CP_QUANTITY' => array(
						'value' => 'CP_QUANTITY',
						'field' => 'QUANTITY',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_QUANT').' (B_CATALOG_PRODUCT.QUANTITY)'
					),
					'CP_QUANTITY_TRACE' => array(
						'value' => 'CP_QUANTITY_TRACE',
						'field' => 'QUANTITY_TRACE',
						'field_orig' => 'QUANTITY_TRACE_ORIG',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_QUANTITY_TRACE').' (B_CATALOG_PRODUCT.QUANTITY_TRACE)'
					),
					'CP_CAN_BUY_ZERO' => array(
						'value' => 'CP_CAN_BUY_ZERO',
						'field' => 'CAN_BUY_ZERO',
						'field_orig' => 'CAN_BUY_ZERO_ORIG',
						'important'=>'N',
						'name' => Loc::getMessage('CATI_FI_CAN_BUY_ZERO').' (B_CATALOG_PRODUCT.CAN_BUY_ZERO)'
					),
					'CP_WEIGHT' => array(
						'value' => 'CP_WEIGHT',
						'field' => 'WEIGHT',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_WEIGHT').' (B_CATALOG_PRODUCT.WEIGHT)'
					),
					'CP_WIDTH' => array(
						'value' => 'CP_WIDTH',
						'field' => 'WIDTH',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_WIDTH').' (B_CATALOG_PRODUCT.WIDTH)'
					),
					'CP_HEIGHT' => array(
						'value' => 'CP_HEIGHT',
						'field' => 'HEIGHT',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_HEIGHT').' (B_CATALOG_PRODUCT.HEIGHT)'
					),
					'CP_LENGTH' => array(
						'value' => 'CP_LENGTH',
						'field' => 'LENGTH',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_LENGTH').' (B_CATALOG_PRODUCT.LENGTH)'
					),
					'CP_PURCHASING_PRICE' => array(
						'value' => 'CP_PURCHASING_PRICE',
						'field' => 'PURCHASING_PRICE',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_PURCHASING_PRICE').' (B_CATALOG_PRODUCT.PURCHASING_PRICE)'
					),
					'CP_PURCHASING_CURRENCY' => array(
						'value' => 'CP_PURCHASING_CURRENCY',
						'field' => 'PURCHASING_CURRENCY',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_PURCHASING_CURRENCY').' (B_CATALOG_PRODUCT.PURCHASING_CURRENCY)'
					),
					'CP_PRICE_TYPE' => array(
						'value' => 'CP_PRICE_TYPE',
						'field' => 'PRICE_TYPE',
						'important' => 'N',
						'name' => Loc::getMessage('I_PAY_TYPE').' (B_CATALOG_PRODUCT.PRICE_TYPE)'
					),
					'CP_RECUR_SCHEME_LENGTH' => array(
						'value' => 'CP_RECUR_SCHEME_LENGTH',
						'field' => 'RECUR_SCHEME_LENGTH',
						'important' => 'N',
						'name' => Loc::getMessage('I_PAY_PERIOD_LENGTH').' (B_CATALOG_PRODUCT.RECUR_SCHEME_LENGTH)'
					),
					'CP_RECUR_SCHEME_TYPE' => array(
						'value' => 'CP_RECUR_SCHEME_TYPE',
						'field' => 'RECUR_SCHEME_TYPE',
						'important' => 'N',
						'name' => Loc::getMessage('I_PAY_PERIOD_TYPE').' (B_CATALOG_PRODUCT.RECUR_SCHEME_TYPE)'
					),
					'CP_TRIAL_PRICE_ID' => array(
						'value' => 'CP_TRIAL_PRICE_ID',
						'field' => 'TRIAL_PRICE_ID',
						'important' => 'N',
						'name' => Loc::getMessage('I_TRIAL_FOR').' (B_CATALOG_PRODUCT.TRIAL_PRICE_ID)'
					),
					'CP_WITHOUT_ORDER' => array(
						'value' => 'CP_WITHOUT_ORDER',
						'field' => 'WITHOUT_ORDER',
						'important' => 'N',
						'name' => Loc::getMessage('I_WITHOUT_ORDER').' (B_CATALOG_PRODUCT.WITHOUT_ORDER)'
					),
					'CP_VAT_ID' => array(
						'value' => 'CP_VAT_ID',
						'field' => 'VAT_ID',
						'important' => 'N',
						'name' => Loc::getMessage('I_VAT_ID').' (B_CATALOG_PRODUCT.VAT_ID)'
					),
					'CP_VAT_INCLUDED' => array(
						'value' => 'CP_VAT_INCLUDED',
						'field' => 'VAT_INCLUDED',
						'important' => 'N',
						'name' => Loc::getMessage('I_VAT_INCLUDED').' (B_CATALOG_PRODUCT.VAT_INCLUDED)'
					),
					'CP_MEASURE' => array(
						'value' => 'CP_MEASURE',
						'field' => 'MEASURE',
						'important' => 'N',
						'name' => Loc::getMessage('BX_CAT_CSV_SETTINGS_PRODUCT_FIELD_NAME_MEASURE_ID').' (B_CATALOG_PRODUCT.MEASURE)'
					),
				);
				break;
			case self::FIELDS_PRICE:
				$result = array(
					'CV_PRICE' => array(
						'value' => 'CV_PRICE',
						'value_size' => 8,
						'field' => 'PRICE',
						'important' => 'N',
						'name' => Loc::getMessage('I_NAME_PRICE').' (B_CATALOG_PRICE.PRICE)'
					),
					'CV_CURRENCY' => array(
						'value' => 'CV_CURRENCY',
						'value_size' => 11,
						'field' => 'CURRENCY',
						'important' => 'N',
						'name' => Loc::getMessage('I_NAME_CURRENCY').' (B_CATALOG_PRICE.CURRENCY)'
					),
					'CV_EXTRA_ID' => array(
						'value' => 'CV_EXTRA_ID',
						'value_size' => 11,
						'field' => 'EXTRA_ID',
						'important' => 'N',
						'name' => Loc::getMessage('I_NAME_EXTRA_ID').' (B_CATALOG_PRICE.EXTRA_ID)'
					)
				);
				break;
			case self::FIELDS_PRICE_EXT:
				$result = array(
					'CV_QUANTITY_FROM' => array(
						'value' => 'CV_QUANTITY_FROM',
						'field' => 'QUANTITY_FROM',
						'important' => 'N',
						'name' => Loc::getMessage('I_NAME_QUANTITY_FROM').' (B_CATALOG_PRICE.QUANTITY_FROM)'
					),
					'CV_QUANTITY_TO' => array(
						'value' => 'CV_QUANTITY_TO',
						'field' => 'QUANTITY_TO',
						'important' => 'N',
						'name' => Loc::getMessage('I_NAME_QUANTITY_TO').' (B_CATALOG_PRICE.QUANTITY_TO)'
					)
				);
				break;
			case self::FIELDS_SECTION:
				$result = array(
					'IC_ID' => array(
						'value' => 'IC_ID',
						'field' => 'ID',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FI_ID').' (B_IBLOCK_SECTION.ID)'
					),
					'IC_XML_ID' => array(
						'value' => 'IC_XML_ID',
						'field' => 'XML_ID',
						'important' => 'Y',
						'name' => Loc::getMessage('CATI_FG_UNIXML_EXT').' (B_IBLOCK_SECTION.XML_ID)'
					),
					'IC_GROUP' => array(
						'value' => 'IC_GROUP',
						'field' => 'NAME',
						'important' => 'Y',
						'name' => Loc::getMessage('CATI_FG_NAME').' (B_IBLOCK_SECTION.NAME)'
					),
					'IC_ACTIVE' => array(
						'value' => 'IC_ACTIVE',
						'field' => 'ACTIVE',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FG_ACTIV').' (B_IBLOCK_SECTION.ACTIVE)'
					),
					'IC_SORT' => array(
						'value' => 'IC_SORT',
						'field' => 'SORT',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FG_SORT_EXT').' (B_IBLOCK_SECTION.SORT)'
					),
					'IC_DESCRIPTION' => array(
						'value' => 'IC_DESCRIPTION',
						'field' => 'DESCRIPTION',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FG_DESCR').' (B_IBLOCK_SECTION.DESCRIPTION)'
					),
					'IC_DESCRIPTION_TYPE' => array(
						'value' => 'IC_DESCRIPTION_TYPE',
						'field' => 'DESCRIPTION_TYPE',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FG_DESCRTYPE').' (B_IBLOCK_SECTION.DESCRIPTION_TYPE)'
					),
					'IC_CODE' => array(
						'value' => 'IC_CODE',
						'field' => 'CODE',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FG_CODE_EXT2').' (B_IBLOCK_SECTION.CODE)'
					),
					'IC_PICTURE' => array(
						'value' => 'IC_PICTURE',
						'field' => 'PICTURE',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FG_PICTURE').' (B_IBLOCK_SECTION.PICTURE)'
					),
					'IC_DETAIL_PICTURE' => array(
						'value' => 'IC_DETAIL_PICTURE',
						'field' => 'DETAIL_PICTURE',
						'important' => 'N',
						'name' => Loc::getMessage('CATI_FG_DETAIL_PICTURE').' (B_IBLOCK_SECTION.DETAIL_PICTURE)'
					)
				);
				break;
			}
		}
		return ($extFormat ? $result : array_values($result));
	}

	public static function getDefaultSettings($type, $extFormat = false)
	{
		$extFormat = ($extFormat === true);
		$result = ($extFormat ? array() : '');
		$type = (string)$type;
		if ($type !== '')
		{
			switch ($type)
			{
			case self::FIELDS_ELEMENT:
				$result = (
					$extFormat
					? array('IE_XML_ID', 'IE_NAME', 'IE_PREVIEW_TEXT', 'IE_DETAIL_TEXT')
					: 'IE_XML_ID,IE_NAME,IE_PREVIEW_TEXT,IE_DETAIL_TEXT'
				);
				break;
			case self::FIELDS_CATALOG:
				$result = (
					$extFormat
					? array('CP_QUANTITY' ,'CP_WEIGHT', 'CP_WIDTH', 'CP_HEIGHT', 'CP_LENGTH')
					: 'CP_QUANTITY,CP_WEIGHT,CP_WIDTH,CP_HEIGHT,CP_LENGTH'
				);
				break;
			case self::FIELDS_PRICE:
				$result = (
					$extFormat
					? array('CV_PRICE', 'CV_CURRENCY')
					: 'CV_PRICE,CV_CURRENCY'
				);
				break;
			case self::FIELDS_PRICE_EXT:
				$result = (
					$extFormat
					? array('CV_QUANTITY_FROM', 'CV_QUANTITY_TO')
					: 'CV_QUANTITY_FROM,CV_QUANTITY_TO'
				);
				break;
			case self::FIELDS_SECTION:
				$result = (
					$extFormat
					? array('IC_GROUP')
					: 'IC_GROUP'
				);
				break;
			case self::FIELDS_CURRENCY:
				$result = (
					$extFormat
					? array('USD')
					: 'USD'
				);
				break;
			}
		}
		return $result;
	}
}