• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/requisite/conversion/psrequisiteconverter.php
  • Класс: Bitrix\Crm\Requisite\Conversion\PSRequisiteConverter
  • Вызов: PSRequisiteConverter::preparePaySystemConvData
static function preparePaySystemConvData()
{
	if (self::$convData === null)
	{
		$convCountries = array();
		$convData = array();

		$psData = self::$paySystemData;
		if (is_array($psData) && !empty($psData))
		{
			$fieldSets = self::$convFieldSets;
			foreach ($psData as $psInfo)
			{
				if (is_array($psInfo) && is_array($psInfo['PSA_PARAMS'])
					&& isset($psInfo['PS_ID']) && $psInfo['PS_ID'] > 0
					&& isset($psInfo['PRESET_COUNTRY_ID']) && $psInfo['PRESET_COUNTRY_ID'] > 0)
				{
					$psId = (int)$psInfo['PS_ID'];
					$presetCountryId = (int)$psInfo['PRESET_COUNTRY_ID'];
					$psaParams = $psInfo['PSA_PARAMS'];
					if (!isset($convCountries[$presetCountryId]))
						$convCountries[$presetCountryId] = true;
					$psConvData = array(
						'CO' => array(),
						'RQ' => array(),
						'BD' => array()
					);
					$hashData = '';
					foreach ($fieldSets['CO'] as $fieldName => $fieldParam)
					{
						$value = '';
						$paramName = isset($fieldParam[$psId]) ? $fieldParam[$psId] : '';
						if (!empty($paramName))
						{
							$value = isset($psaParams[$paramName]['VALUE']) ?
								$psaParams[$paramName]['VALUE'] : '';
						}
						$psConvData['CO'][$fieldName] = $value;
						if ($fieldName === 'TITLE')
						{
							$psConvData['RQ']['RQ_COMPANY_NAME'] = $value;
							$hashData = '|'.$value;
						}
					}
					$psConvData['CO_H'] = md5($hashData);
					unset($hashData);
					$hashData = '';
					if (is_array($fieldSets['RQ'][$presetCountryId]))
					{
						$value = isset($psConvData['RQ']['RQ_COMPANY_NAME']) ?
							$psConvData['RQ']['RQ_COMPANY_NAME'] : '';
						$hashData = '|'.$presetCountryId.'|'.$value;
						foreach ($fieldSets['RQ'][$presetCountryId] as $fieldName => $fieldParam)
						{
							$value = '';
							$paramName = isset($fieldParam[$psId]) ? $fieldParam[$psId] : '';
							if (!empty($paramName))
							{
								$value = isset($psaParams[$paramName]['VALUE']) ?
									$psaParams[$paramName]['VALUE'] : '';
							}
							$psConvData['RQ'][$fieldName] = $value;
							$hashData .= '|'.$value;
						}
					}
					$psConvData['RQ_H'] = md5($hashData);
					unset($hashData);
					$hashData = '';
					if (is_array($fieldSets['BD'][$presetCountryId]))
					{
						$hashData = '|'.$presetCountryId;
						foreach ($fieldSets['BD'][$presetCountryId] as $fieldName => $fieldParam)
						{
							$value = '';
							$paramName = isset($fieldParam[$psId]) ? $fieldParam[$psId] : '';
							if (!empty($paramName))
							{
								$value = isset($psaParams[$paramName]['VALUE']) ?
									$psaParams[$paramName]['VALUE'] : '';
							}
							$psConvData['BD'][$fieldName] = $value;
							$hashData .= '|'.$value;
						}
					}
					$psConvData['BD_H'] = md5($hashData);
					unset($hashData);
					if (!is_array($convData[$presetCountryId]))
						$convData[$presetCountryId] = array();
					$convData[$presetCountryId][$psId] = $psConvData;
				}
			}
		}
		self::$convCountries = array_keys($convCountries);
		self::$convData = $convData;
	}
}