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