• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_pay_system.php
  • Класс: \CCrmPaySystem
  • Вызов: CCrmPaySystem::convertNewToOld
static function convertNewToOld($data)
{
	foreach ($data['CODES'] as &$code)
	{
		if (!array_key_exists('GROUP', $code))
			$code['GROUP'] = self::DEFAULT_HANDLER_GROUP;

		if (isset($code['DESCRIPTION']))
		{
			$code['DESCR'] = $code['DESCRIPTION'];
			unset($code['DESCRIPTION']);
		}
		else
		{
			$code['DESCR'] = '';
		}

		if (isset($code['INPUT']))
		{
			if ($code['INPUT']['TYPE'] == 'ENUM')
			{
				$code['TYPE'] = 'SELECT';

				foreach ($code['INPUT']['OPTIONS'] as $key => $value)
					$code['VALUE'][$key] = $value;
			}
			elseif ($code['INPUT']['TYPE'] == 'Y/N')
			{
				$code['TYPE'] = 'CHECKBOX';
			}
			else
			{
				$code['TYPE'] = $code['INPUT']['TYPE'];
			}
			unset($code['INPUT']);
		}

		if (isset($code['DEFAULT']) && $code['TYPE'] !== 'SELECT')
		{
			$type = null;
			$code['VALUE'] = $code['DEFAULT']['PROVIDER_VALUE'];
			if ($code['DEFAULT']['PROVIDER_KEY'] == 'VALUE')
			{
				$type = '';
			}
			else
			{
				if ($code['DEFAULT']['PROVIDER_KEY'] !== 'INPUT')
					$type = $code['DEFAULT']['PROVIDER_KEY'];
			}

			if ($type !== null)
				$code['TYPE'] = $type;
			unset($code['DEFAULT']);
		}
		elseif (!isset($code['TYPE']))
		{
			$code['TYPE'] = '';
			$code['VALUE'] = '';
		}
	}
	unset($code);

	return $data['CODES'];
}