• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/localization/streamconverter.php
  • Класс: BitrixMainLocalizationStreamConverter
  • Вызов: StreamConverter::filter
public function filter($in, $out, &$consumed, $closing): int
{
	while ($bucket = stream_bucket_make_writeable($in))
	{
		$this->code .= $bucket->data;
		$consumed += $bucket->datalen;
	}

	if ($closing || feof($this->stream))
	{
		$params = explode('/', str_replace(self::FILTER_IDENTIFIER.'.', '', $this->filtername));
		$sourceEncoding = $params[0];
		$targetEncoding = $params[1];

		if ($sourceEncoding != $targetEncoding)
		{
			$this->code = Encoding::convertEncoding($this->code, $sourceEncoding, $targetEncoding);
		}

		$bucket = stream_bucket_new($this->stream, $this->code);
		stream_bucket_append($out, $bucket);

		return PSFS_PASS_ON;
	}

	return PSFS_FEED_ME;
}