• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/imap.php
  • Класс: BitrixMailImap
  • Вызов: Imap::decodeUtf7Imap
protected function decodeUtf7Imap($data)
{
	if (!$data)
		return $data;

	$result = Encoding::convertEncoding($data, 'UTF7-IMAP', $this->options['encoding']);

	if ($result === false)
	{
		$result = $data;

		$result = preg_replace_callback('/&([x2bx2cx30-x39x41-x5ax61-x7a]+)-/', function($matches)
		{
			$result = $matches[1];

			$result = str_replace(',', '/', $result);
			$result = base64_decode($result);
			$result = Encoding::convertEncoding($result, 'UTF-16BE', 'UTF-8');

			return $result;
		}, $result);

		$result = str_replace('&-', '&', $result);
		$result = Encoding::convertEncoding($result, 'UTF-8', $this->options['encoding']);
	}

	return $result;
}