- Модуль: 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;
}
}